summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Object
Commit message (Collapse)AuthorAgeFilesLines
* Teach macho-dump how to dump linkedit_data load commands.Benjamin Kramer2011-08-301-0/+12
| | | | llvm-svn: 138807
* Rewrite the CMake build to use explicit dependencies between libraries,Chandler Carruth2011-07-291-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | specified in the same file that the library itself is created. This is more idiomatic for CMake builds, and also allows us to correctly specify dependencies that are missed due to bugs in the GenLibDeps perl script, or change from compiler to compiler. On Linux, this returns CMake to a place where it can relably rebuild several targets of LLVM. I have tried not to change the dependencies from the ones in the current auto-generated file. The only places I've really diverged are in places where I was seeing link failures, and added a dependency. The goal of this patch is not to start changing the dependencies, merely to move them into the correct location, and an explicit form that we can control and change when necessary. This also removes a serialization point in the build because we don't have to scan all the libraries before we begin building various tools. We no longer have a step of the build that regenerates a file inside the source tree. A few other associated cleanups fall out of this. This isn't really finished yet though. After talking to dgregor he urged switching to a single CMake macro to construct libraries with both sources and dependencies in the arguments. Migrating from the two macros to that style will be a follow-up patch. Also, llvm-config is still generated with GenLibDeps.pl, which means it still has slightly buggy dependencies. The internal CMake 'llvm-config-like' macro uses the correct explicitly specified dependencies however. A future patch will switch llvm-config generation (when using CMake) to be based on these deps as well. This may well break Windows. I'm getting a machine set up now to dig into any failures there. If anyone can chime in with problems they see or ideas of how to solve them for Windows, much appreciated. llvm-svn: 136433
* ObjectFile: Add a method to check whether a section contains a symbol.Benjamin Kramer2011-07-153-0/+37
| | | | | | | - No ELF or COFF implementation yet, I don't have a way to test that. Should be straightforward to add though. llvm-svn: 135288
* MachOObjectFile: Get symbol functions ready for 64 bit.Benjamin Kramer2011-07-151-13/+58
| | | | llvm-svn: 135282
* Output MachO section names in the form SEGMENT,section.Benjamin Kramer2011-07-151-2/+2
| | | | llvm-svn: 135231
* Add support for 64 bit objects to MachOObjectFile.Benjamin Kramer2011-07-151-21/+77
| | | | | | - I don't see a better way than duplicating all the code. llvm-svn: 135229
* MachOObjectFile: Change isSectionText to return true for sections named ↵Benjamin Kramer2011-07-151-4/+3
| | | | | | text, not for load commands name __TEXT (which isn't the case in actual object files) llvm-svn: 135228
* Use memcmp.Benjamin Kramer2011-07-051-3/+1
| | | | llvm-svn: 134439
* Really fix typo :-(Rafael Espindola2011-07-051-1/+1
| | | | llvm-svn: 134436
* Fix typo.Rafael Espindola2011-07-051-2/+2
| | | | llvm-svn: 134433
* Compare all 4 bytes of the header.Rafael Espindola2011-07-051-2/+3
| | | | llvm-svn: 134427
* Fix warnings.Michael J. Spencer2011-07-051-3/+3
| | | | llvm-svn: 134408
* Object: Add proper error handling.Michael J. Spencer2011-06-255-192/+425
| | | | llvm-svn: 133872
* Make Binary the parent of ObjectFile and update children to new interface.Michael J. Spencer2011-06-255-152/+91
| | | | llvm-svn: 133870
* Add Binary class. This is a cleaner parent than ObjectFile.Michael J. Spencer2011-06-252-0/+51
| | | | llvm-svn: 133869
* Add Object/Error.Michael J. Spencer2011-06-252-0/+56
| | | | llvm-svn: 133868
* Revert r132910 and r132909 on behalf of Michael. They didn't build with clang.Benjamin Kramer2011-06-133-107/+0
| | | | llvm-svn: 132914
* Revert the last two commits in the series. r132911, r132912.Michael J. Spencer2011-06-135-91/+152
| | | | llvm-svn: 132913
* Make Binary the parent of ObjectFile and update children to new interface.Michael J. Spencer2011-06-135-152/+91
| | | | llvm-svn: 132911
* Add Binary class. This is a cleaner parent than ObjectFile.Michael J. Spencer2011-06-132-0/+51
| | | | llvm-svn: 132910
* Add Object/Error.Michael J. Spencer2011-06-132-0/+56
| | | | llvm-svn: 132909
* Fix spelling and sort CMakeLists.txt.Michael J. Spencer2011-06-131-2/+2
| | | | llvm-svn: 132908
* Remove dead variable pointed out by GCC 4.6 warnings, and reflow this a littleNick Lewycky2011-05-021-4/+1
| | | | | | to scope a variable more tightly per llvm coding style. No functional change. llvm-svn: 130684
* Use enums for constant values.Eric Christopher2011-04-221-12/+13
| | | | llvm-svn: 129984
* Make the file format strings a little prettier for mach-o.Eric Christopher2011-04-221-16/+12
| | | | llvm-svn: 129980
* Add MachOObjectFile.cpp to cmake.Eric Christopher2011-04-221-0/+1
| | | | llvm-svn: 129978
* Hook in mach-o object files into Object interface.Eric Christopher2011-04-221-1/+1
| | | | llvm-svn: 129976
* Add an ObjectFile implementation for mach-o.Eric Christopher2011-04-221-0/+330
| | | | | | Patch by Patrick Walton! llvm-svn: 129974
* Start migrating mach-o dumping facilities to the object file out of aEric Christopher2011-04-031-0/+28
| | | | | | separate executable. llvm-svn: 128801
* Move Object.cpp out of VMCore and into Object.Eric Christopher2011-04-032-0/+60
| | | | llvm-svn: 128800
* Assorted bugfixes in object file handling:Eric Christopher2011-04-032-2/+20
| | | | | | | | | | | | | | | | | | | | | | | - Adds support for sniffing PE/COFF files on win32 (.exe and .dll) which are COFF files that have an MS-DOS compatibility stub on the front of them. - Fixes a bug in the COFFObjectFile's support for the Microsoft COFF extension for long symbol names, wherein it was attempting to parse the leading '/' in an extended symbol name reference as part of the integer offset. - Fixes bugs in COFFObjectFile and ELFObjectFile wherein section and symbol iterators were being returned with uninitialized bytes; the type DataRefImpl is a union between 2 32-bit words (d.a and d.b) and a single intptr_t word (p). Only p was being initialized, so in 32-bit builds the result would be iterators with random upper 32-bit words in their DataRefImpls. This caused random failures when seeking around in object files. Patch by Graydon Hoare! llvm-svn: 128799
* Object: Fix type punned pointer issues by making DataRefImpl a union and ↵Michael J. Spencer2011-01-212-83/+68
| | | | | | using intptr_t. llvm-svn: 123962
* Object: Add ELF support.Michael J. Spencer2011-01-203-1/+708
| | | | llvm-svn: 123896
* Object: Add COFF Support.Michael J. Spencer2011-01-203-1/+372
| | | | llvm-svn: 123895
* Fix mismatched new[]/delete.Benjamin Kramer2010-12-171-1/+1
| | | | llvm-svn: 122053
* MemoryBuffer now return an error_code and returns a OwningPtr<MemoryBuffer> ↵Michael J. Spencer2010-12-161-2/+5
| | | | | | via an out parm. llvm-svn: 121958
* Mach-O: Tweak field name.Daniel Dunbar2010-12-101-1/+1
| | | | llvm-svn: 121465
* Support/MemoryBuffer: Replace all uses of std::string *ErrMsg with ↵Michael J. Spencer2010-12-091-1/+3
| | | | | | error_code &ec. And fix clients. llvm-svn: 121379
* Merge System into Support.Michael J. Spencer2010-11-292-3/+3
| | | | llvm-svn: 120298
* macho-dump: Add support for --dump-section-data and tweak a few format strings.Daniel Dunbar2010-11-271-0/+4
| | | | llvm-svn: 120219
* macho-dump: Add support for dumping symbol table entries.Daniel Dunbar2010-11-271-0/+28
| | | | llvm-svn: 120218
* macho-dump: Add support for dumping string table data.Daniel Dunbar2010-11-271-1/+7
| | | | llvm-svn: 120217
* macho-dump: Add support for dumping relocation entries.Daniel Dunbar2010-11-271-0/+13
| | | | llvm-svn: 120216
* macho-dump: Add support for dumping sections.Daniel Dunbar2010-11-271-0/+46
| | | | llvm-svn: 120215
* macho-dump: Add support for dumping dysymtab indirect symbol table.Daniel Dunbar2010-11-271-0/+13
| | | | llvm-svn: 120214
* Unbreak build for newer GCCs.Benjamin Kramer2010-11-271-4/+4
| | | | llvm-svn: 120205
* macho-dump: Add support for dumping symtab and dysymtab commands.Daniel Dunbar2010-11-271-0/+42
| | | | llvm-svn: 120204
* macho-dump: Add support for dumping segment load commands.Daniel Dunbar2010-11-271-0/+68
| | | | llvm-svn: 120203
* Object/Mach-O: Add header and load command information.Daniel Dunbar2010-11-271-3/+80
| | | | llvm-svn: 120198
* Object/Mach-O: Validate Mach-O magic and initialize format info.Daniel Dunbar2010-11-271-2/+24
| | | | llvm-svn: 120195
OpenPOWER on IntegriCloud