summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm-objdump/llvm-objdump.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Don't fetch pointers from a InMemoryStruct.Rafael Espindola2013-04-051-5/+2
| | | | | | | | InMemoryStruct is extremely dangerous as it returns data from an internal buffer when the endiannes doesn't match. This should fix the tests on big endian hosts. llvm-svn: 178875
* Don't disassemble symbols with an unknown address or size.Eric Christopher2013-04-031-0/+1
| | | | | | Patch by Nico Rieck! llvm-svn: 178678
* Add static cast to unsigned char whenever a character classification ↵Guy Benyei2013-02-121-1/+1
| | | | | | function is called with a signed char argument, in order to avoid assertions in Windows Debug configuration. llvm-svn: 175006
* [objdump,readobj] Document the purpose and goals of each tool.Michael J. Spencer2013-02-051-0/+3
| | | | llvm-svn: 174439
* Remove unneeded #include.Jakub Staszak2013-01-211-1/+0
| | | | llvm-svn: 173088
* [llvm-objdump] Emit addresses with the correct number of leading 0's.Michael J. Spencer2013-01-101-2/+5
| | | | llvm-svn: 172130
* [objdump] Add --private-headers, -p.Michael J. Spencer2013-01-061-1/+13
| | | | | | This currently prints the ELF program headers. llvm-svn: 171649
* Add a function to get the segment name of a section.Rafael Espindola2012-12-211-4/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | On MachO, sections also have segment names. When a tool looking at a .o file prints a segment name, this is what they mean. In reality, a .o has only one anonymous, segment. This patch adds a MachO only function to fetch that segment name. I named it getSectionFinalSegmentName since the main use for the name seems to be inform the linker with segment this section should go to. The patch also changes MachOObjectFile::getSectionName to return just the section name instead of computing SegmentName,SectionName. The main difference from the previous patch is that it doesn't use InMemoryStruct. It is extremely dangerous: if the endians match it returns a pointer to the file buffer, if not, it returns a pointer to an internal buffer that is overwritten in the next API call. We should change all of this code to use support::detail::packed_endian_specific_integral like ELF, but since these functions only handle strings, they work with big and little endian machines as is. I have tested this by installing ubuntu 12.10 ppc on qemu, that is why it took so long :-) llvm-svn: 170838
* Revert 170545 while I debug the ppc failures.Rafael Espindola2012-12-191-21/+4
| | | | llvm-svn: 170547
* Add r170095 back.Rafael Espindola2012-12-191-4/+21
| | | | | | | | | | | | | | | | | | | | | | | I cannot reproduce it the failures locally, so I will keep an eye at the ppc bots. This patch does add the change to the "Disassembly of section" message, but that is not what was failing on the bots. Original message: Add a funciton to get the segment name of a section. On MachO, sections also have segment names. When a tool looking at a .o file prints a segment name, this is what they mean. In reality, a .o has only one anonymous, segment. This patch adds a MachO only function to fetch that segment name. I named it getSectionFinalSegmentName since the main use for the name seems to be infor the linker with segment this section should go to. The patch also changes MachOObjectFile::getSectionName to return just the section name instead of computing SegmentName,SectionName. llvm-svn: 170545
* Revert "Add a funciton to get the segment name of a section."Eric Christopher2012-12-131-11/+3
| | | | | | This reverts commit r170095 since it appears to be breaking the bots. llvm-svn: 170105
* Add a funciton to get the segment name of a section.Rafael Espindola2012-12-131-3/+11
| | | | | | | | | | | | | | | On MachO, sections also have segment names. When a tool looking at a .o file prints a segment name, this is what they mean. In reality, a .o has only one, anonymous, segment. This patch adds a MachO only function to fetch that segment name. I named it getSectionFinalSegmentName since the main use for the name seems to be informing the linker with segment this section should go to. The patch also changes MachOObjectFile::getSectionName to return just the section name instead of computing SegmentName,SectionName. llvm-svn: 170095
* Add dump of Win64 EH unwind data.Michael J. Spencer2012-12-051-3/+26
| | | | | | | | | | The new command line option -unwind-info dumps the Win64 EH unwind data to the console. This is a nice feature if you need to debug generated EH data (e.g. from LLVM). Includes a test case. Initial patch by João Matos, extensions and rework by Kai Nacke. llvm-svn: 169415
* Sort the #include lines for tools/...Chandler Carruth2012-12-041-4/+4
| | | | | | | | Again, tools are trickier to pick the main module header for than library source files. I've started to follow the pattern of using LLVMContext.h when it is included as a stub for program source files. llvm-svn: 169252
* Add the -no-show-raw-insn option to llvm-objdump, thus making it a bit moreEli Bendersky2012-11-201-2/+9
| | | | | | conformant to binutils objdump. llvm-svn: 168393
* Some of the instructions in the Mips instruction set are revisionJack Carter2012-08-281-1/+16
| | | | | | | | | | | | delimited. llvm-mc -disassemble access these through the -mattr option. llvm-objdump -disassemble had no such way to set the attribute so some instructions were just not recognized for disassembly. This patch accepts llvm-mc mechanism for specifying the attributes. llvm-svn: 162781
* Tidy up a bit.Jim Grosbach2012-08-071-12/+10
| | | | llvm-svn: 161430
* Fix it so llvm-objdump -arch does accept x86 and x86-64 as valid arch names.Kevin Enderby2012-05-081-14/+12
| | | | | | PR12731. Patch by Meador Inge! llvm-svn: 156444
* PR12729: Change 'llvm-objdump' to display the available targets.Pete Cooper2012-05-031-0/+3
| | | | | | Patch by Meador Inge. llvm-svn: 156128
* Make MCInstrInfo available to the MCInstPrinter. This will be used to remove ↵Craig Topper2012-04-021-1/+8
| | | | | | getInstructionName and the static data it contains since the same tables are already in MCInstrInfo. llvm-svn: 153860
* Include cctype for std::isprint.Benjamin Kramer2012-03-231-0/+1
| | | | | | This should unbreak the msvc build. llvm-svn: 153329
* Fix uses of the C99 PRI format macros not to conflict with C++11 UDLs.Benjamin Kramer2012-03-101-8/+8
| | | | llvm-svn: 152474
* Make MCRegisterInfo available to the the MCInstPrinter.Jim Grosbach2012-03-051-1/+8
| | | | | | | Used to allow context sensitive printing of super-register or sub-register references. llvm-svn: 152043
* [Object] Add symbol attribute flags: ST_ThreadLocal, ST_Common, and ↵David Meyer2012-02-291-1/+1
| | | | | | | | | ST_Undefined. Implement these completely for ELF. Rename ST_External to ST_Unknown, and slightly change its semantics. It now only indicates that the symbol's type is unknown, not that the symbol is undefined. (For that, use ST_Undefined). llvm-svn: 151696
* In the ObjectFile interface, replace isInternal(), isAbsolute(), isGlobal(), ↵David Meyer2012-02-281-6/+6
| | | | | | and isWeak(), with a bitset of flags. llvm-svn: 151670
* Fix llvm-objdump disassembly for interesting Mach-O binaries, e.g. any MacOSCameron Zwarich2012-02-031-0/+2
| | | | | | | dylib. This regressed with r145408. I will try to make a test case and add it so that this doesn't happen again. llvm-svn: 149667
* Unweaken vtables as per ↵David Blaikie2011-12-201-0/+2
| | | | | | http://llvm.org/docs/CodingStandards.html#ll_virtual_anch llvm-svn: 146960
* Fixed ObjectFile functions:Danil Malyshev2011-11-291-6/+8
| | | | | | | | | | | - getSymbolOffset() renamed as getSymbolFileOffset() - getSymbolFileOffset(), getSymbolAddress(), getRelocationAddress() returns same result for ELFObjectFile, MachOObjectFile and COFFObjectFile. - added getRelocationOffset() - fixed MachOObjectFile::getSymbolSize() - fixed MachOObjectFile::getSymbolSection() - fixed MachOObjectFile::getSymbolOffset() for symbols without section data. llvm-svn: 145408
* Revert r145180 as it is causing test failures on all the bots.Chandler Carruth2011-11-271-2/+2
| | | | | | | | | | | | | Original commit message: Fixed ObjectFile functions: - getSymbolOffset() renamed as getSymbolFileOffset() - getSymbolFileOffset(), getSymbolAddress(), getRelocationAddress() returns same result for ELFObjectFile, MachOObjectFile and COFFObjectFile. - added getRelocationOffset() - fixed MachOObjectFile::getSymbolSize() - fixed MachOObjectFile::getSymbolSection() - fixed MachOObjectFile::getSymbolOffset() for symbols without section data. llvm-svn: 145182
* Fixed ObjectFile functions:Danil Malyshev2011-11-271-2/+2
| | | | | | | | | | | - getSymbolOffset() renamed as getSymbolFileOffset() - getSymbolFileOffset(), getSymbolAddress(), getRelocationAddress() returns same result for ELFObjectFile, MachOObjectFile and COFFObjectFile. - added getRelocationOffset() - fixed MachOObjectFile::getSymbolSize() - fixed MachOObjectFile::getSymbolSection() - fixed MachOObjectFile::getSymbolOffset() for symbols without section data. llvm-svn: 145180
* llvm-objdump: Ignore non-objects in archives.Michael J. Spencer2011-11-161-2/+4
| | | | llvm-svn: 144755
* uint64 formatted output: replaced %llx with PRIx64 macro.Stepan Dyatkovskiy2011-10-281-5/+5
| | | | llvm-svn: 143191
* Revert r143149, stubbing out symbolic disassembly support. The symbolic ↵Owen Anderson2011-10-271-45/+6
| | | | | | disassembly support is too MC-engrained to be useful in llvm-objdump. llvm-svn: 143152
* Stub out support for symbol disassembly in llvm-objdump.Owen Anderson2011-10-271-6/+45
| | | | llvm-svn: 143149
* Fixed llvm-objdump uint64_t formatted output.Stepan Dyatkovskiy2011-10-271-5/+5
| | | | llvm-svn: 143120
* Add support for the notion of "hidden" relocations. On MachO, these are ↵Owen Anderson2011-10-251-0/+9
| | | | | | | | relocation entries that are used as additional information for other, real relocations, rather than being relocations themselves. I'm not familiar enough with ELF or COFF to know if they should have any relocations marked hidden. llvm-svn: 142961
* Fix off-by-one error when printing relocations inline with disassembly.Owen Anderson2011-10-251-1/+1
| | | | llvm-svn: 142952
* llvm-objdump: Add static symbol table dumping.Michael J. Spencer2011-10-181-1/+120
| | | | llvm-svn: 142404
* Revert "llvm-objdump: Add static symbol table dumping."Michael J. Spencer2011-10-181-118/+1
| | | | | | This reverts commit 0c30d4e4f5f9110c5a67bd0ca84444dc58697596. llvm-svn: 142320
* llvm-objdump: Add static symbol table dumping.Michael J. Spencer2011-10-171-1/+118
| | | | llvm-svn: 142319
* llvm-objdump: Add -s, which prints the contents of each section.Michael J. Spencer2011-10-171-5/+52
| | | | llvm-svn: 142199
* llvm-object: Add inline relocation information to disassembly.Michael J. Spencer2011-10-131-6/+48
| | | | llvm-svn: 141897
* llvm-objdump: Fix whitespace.Michael J. Spencer2011-10-131-1/+1
| | | | llvm-svn: 141886
* llvm-objdump: Fix dumping of multiple symbols with the same address.Michael J. Spencer2011-10-131-1/+12
| | | | | | | This happens in COFF because there is a symbol for the beginning of each section. llvm-svn: 141885
* llvm-objdump.cpp: Use PRIx64 as format specifier for int64_t.NAKAMURA Takumi2011-10-111-1/+1
| | | | llvm-svn: 141664
* Add support for dumping section headers to llvm-objdump. This uses the sameNick Lewycky2011-10-101-1/+39
| | | | | | | | flags as binutils objdump but the output is different, not just in format but also showing different sections. Compare its results against readelf, not objdump. llvm-svn: 141579
* llvm-objdump: Take ownership of MCInstrInfos.Benjamin Kramer2011-10-101-6/+0
| | | | llvm-svn: 141535
* llvm-objdump: Add relocation and archive support.Michael J. Spencer2011-10-081-28/+103
| | | | llvm-svn: 141451
* Change relocation API to be per section. This time without breaking GCC.Michael J. Spencer2011-10-071-2/+2
| | | | llvm-svn: 141385
* Revert 141376 and 141377 due to breaking the build.Bill Wendling2011-10-071-2/+2
| | | | | | | | | | | | | | | | --- Reverse-merging r141377 into '.': U tools/llvm-objdump/MachODump.cpp --- Reverse-merging r141376 into '.': U include/llvm/Object/COFF.h U include/llvm/Object/ObjectFile.h U include/llvm-c/Object.h U tools/llvm-objdump/llvm-objdump.cpp U lib/Object/MachOObjectFile.cpp U lib/Object/COFFObjectFile.cpp U lib/Object/Object.cpp U lib/Object/ELFObjectFile.cpp llvm-svn: 141379
OpenPOWER on IntegriCloud