History log of /external/llvm/lib/Object/ObjectFile.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
797684279172bd56d08d4cefb76b1a9f9a4aabe6 24-Jul-2013 Rafael Espindola <rafael.espindola@gmail.com> Delete the buffer in createObjectFile if it fails.

The Binary constructor takes ownership of the memory buffer. This is a fairly
unfortunate interface, but for now make createObjectFile consistent with it
by also deleting the buffer if it fails.

Fixes a leak in llvm-ar found by the valgrind bots.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187039 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Object/ObjectFile.cpp
9c22f87b1374b06dc6c07f6e8047890e390bbe2d 18-Jun-2013 Alexey Samsonov <samsonov@google.com> Basic support for parsing Mach-O universal binaries in LLVMObject library

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184191 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Object/ObjectFile.cpp
4fbf6633024d40dcb7849f45db5a4d41b2a5b3f1 11-Jun-2013 Rafael Espindola <rafael.espindola@gmail.com> Fix variable name style. Don't cast to and from int.

This enables the compiler to see the enum and produce warnings about a switch
not being fully covered. Fix one of these warnings.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183749 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Object/ObjectFile.cpp
d27a9785d5290a54b1400c85d70e92c2b6106098 11-Jun-2013 Rafael Espindola <rafael.espindola@gmail.com> Convert another use of sys::identifyFileType.

No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183747 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Object/ObjectFile.cpp
f12745f7a7e68c05c89ebd515b9b4faedce37dd0 10-Jun-2013 Rafael Espindola <rafael.espindola@gmail.com> Pass a StringRef to sys::identifyFileType.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183669 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Object/ObjectFile.cpp
7486d92a6c949a193bb75c0ffa0170eeb2fabb80 30-May-2013 Rafael Espindola <rafael.espindola@gmail.com> Change how we iterate over relocations on ELF.

For COFF and MachO, sections semantically have relocations that apply to them.
That is not the case on ELF.

In relocatable objects (.o), a section with relocations in ELF has offsets to
another section where the relocations should be applied.

In dynamic objects and executables, relocations don't have an offset, they have
a virtual address. The section sh_info may or may not point to another section,
but that is not actually used for resolving the relocations.

This patch exposes that in the ObjectFile API. It has the following advantages:

* Most (all?) clients can handle this more efficiently. They will normally walk
all relocations, so doing an effort to iterate in a particular order doesn't
save time.

* llvm-readobj now prints relocations in the same way the native readelf does.

* probably most important, relocations that don't point to any section are now
visible. This is the case of relocations in the rela.dyn section. See the
updated relocation-executable.test for example.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182908 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Object/ObjectFile.cpp
59a0e79631ed851d98cf9c2ba6fa5f9aafdfdc93 30-Apr-2013 Rafael Espindola <rafael.espindola@gmail.com> Add getSymbolAlignment to the ObjectFile interface.

For regular object files this is only meaningful for common symbols. An object
file format with direct support for atoms should be able to provide alignment
information for all symbols.

This replaces getCommonSymbolAlignment and fixes
test-common-symbols-alignment.ll on darwin. This also includes a fix to
MachOObjectFile::getSymbolFlags. It was marking undefined symbols as common
(already tested by existing mcjit tests now that it is used).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180736 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Object/ObjectFile.cpp
2c6f997290f589b80da903e33718175666557dd7 07-Apr-2013 Rafael Espindola <rafael.espindola@gmail.com> Remove unused argument.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178987 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Object/ObjectFile.cpp
a965baca3c7ce1ced00446cff1c6395d03dfed52 25-Jan-2013 Eli Bendersky <eliben@google.com> When encountering an unknown file format, ObjectFile::createObjectFile should
politely report it instead of running into llvm_unreachable.

Also patch llvm-dwarfdump to actually check whether the file it's attempting to
dump is a valid object file.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173489 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Object/ObjectFile.cpp
aba65b05fc5dd8649725431e38359b7fa1ab59e8 25-Dec-2011 Rafael Espindola <rafael.espindola@gmail.com> Remove unused variables.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147261 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Object/ObjectFile.cpp
2d24e2a396a1d211baaeedf32148a3b657240170 20-Dec-2011 David Blaikie <dblaikie@gmail.com> Unweaken vtables as per http://llvm.org/docs/CodingStandards.html#ll_virtual_anch

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146960 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Object/ObjectFile.cpp
836623420dbf5eb3a3facde2841179ded91ab55b 14-Sep-2011 Benjamin Kramer <benny.kra@googlemail.com> ObjectFile: Add support for mach-o-style dSYM companion files.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139676 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Object/ObjectFile.cpp
001c9205fca2220480589ec355cb6ec701a37e08 25-Jun-2011 Michael J. Spencer <bigcheesegs@gmail.com> Make Binary the parent of ObjectFile and update children to new interface.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133870 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Object/ObjectFile.cpp
5e45dc40d329829ad23bf444f32dca221215e239 13-Jun-2011 Michael J. Spencer <bigcheesegs@gmail.com> Revert the last two commits in the series. r132911, r132912.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132913 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Object/ObjectFile.cpp
69aec36f9b3129ba6eb83d64cde31c3d86d6d39a 13-Jun-2011 Michael J. Spencer <bigcheesegs@gmail.com> Make Binary the parent of ObjectFile and update children to new interface.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132911 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Object/ObjectFile.cpp
ea7e13eded163bcae97a976847df91b7a0da2b01 22-Apr-2011 Eric Christopher <echristo@apple.com> Hook in mach-o object files into Object interface.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129976 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Object/ObjectFile.cpp
b84551a14f1c96942eb82408652e633543b0961e 20-Jan-2011 Michael J. Spencer <bigcheesegs@gmail.com> Object: Add ELF support.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123896 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Object/ObjectFile.cpp
a1ef8ef66075e28e020e5d2f408e0a9bae9eb9d3 20-Jan-2011 Michael J. Spencer <bigcheesegs@gmail.com> Object: Add COFF Support.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123895 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Object/ObjectFile.cpp
3ff9563c3e391954b2e224afcf8b2b0fcc3888aa 16-Dec-2010 Michael J. Spencer <bigcheesegs@gmail.com> MemoryBuffer now return an error_code and returns a OwningPtr<MemoryBuffer> via an out parm.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121958 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Object/ObjectFile.cpp
333fb04506233255f10d8095c9e2de5e5f0fdc6f 09-Dec-2010 Michael J. Spencer <bigcheesegs@gmail.com> Support/MemoryBuffer: Replace all uses of std::string *ErrMsg with error_code &ec. And fix clients.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121379 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Object/ObjectFile.cpp
1f6efa3996dd1929fbc129203ce5009b620e6969 29-Nov-2010 Michael J. Spencer <bigcheesegs@gmail.com> Merge System into Support.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120298 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Object/ObjectFile.cpp
b1a33c4a598d67a9b911bb3b45b379e36fb9396c 17-Nov-2010 Peter Collingbourne <peter@pcc.me.uk> Fix typo: Exectuable -> Executable

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119433 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Object/ObjectFile.cpp
88af6b9217f9ff8b4592f38ac5175de697275f49 16-Nov-2010 Michael J. Spencer <bigcheesegs@gmail.com> Object: Get rid of sys::Path, Triple, and cleanup namespace.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119309 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Object/ObjectFile.cpp
68b3f0c40e29e461dbbc85370078692df4336b42 15-Nov-2010 Michael J. Spencer <bigcheesegs@gmail.com> Add LLVMObject Library.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119107 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Object/ObjectFile.cpp