aboutsummaryrefslogtreecommitdiff
path: root/llvm/tools/llvm-readobj/llvm-readobj.cpp
AgeCommit message (Collapse)AuthorFilesLines
2013-04-03Implements low-level object file format specific output for COFF andEric Christopher1-220/+215
ELF with support for: - File headers - Section headers + data - Relocations - Symbols - Unwind data (only COFF/Win64) The output format follows a few rules: - Values are almost always output one per line (as elf-dump/coff-dump already do). - Many values are translated to something readable (like enum names), with the raw value in parentheses. - Hex numbers are output in uppercase, prefixed with "0x". - Flags are sorted alphabetically. - Lists and groups are always delimited. Example output: ---------- snip ---------- Sections [ Section { Index: 1 Name: .text (5) Type: SHT_PROGBITS (0x1) Flags [ (0x6) SHF_ALLOC (0x2) SHF_EXECINSTR (0x4) ] Address: 0x0 Offset: 0x40 Size: 33 Link: 0 Info: 0 AddressAlignment: 16 EntrySize: 0 Relocations [ 0x6 R_386_32 .rodata.str1.1 0x0 0xB R_386_PC32 puts 0x0 0x12 R_386_32 .rodata.str1.1 0x0 0x17 R_386_PC32 puts 0x0 ] SectionData ( 0000: 83EC04C7 04240000 0000E8FC FFFFFFC7 |.....$..........| 0010: 04240600 0000E8FC FFFFFF31 C083C404 |.$.........1....| 0020: C3 |.| ) } ] ---------- snip ---------- Relocations and symbols can be output standalone or together with the section header as displayed in the example. This feature set supports all tests in test/MC/COFF and test/MC/ELF (and I suspect all additional tests using elf-dump), making elf-dump and coff-dump deprecated. Patch by Nico Rieck! llvm-svn: 178679
2013-03-25[tools][llvm-readobj] print the name of the section when iterating the ↵Shankar Easwaran1-12/+19
symbol table / dynamic symbol table llvm-svn: 177873
2013-02-20[llvm-readobj] Add ELF .dynamic table dumping.Michael J. Spencer1-0/+9
llvm-svn: 175592
2013-02-08[readobj] Fix memory leak.Michael J. Spencer1-1/+2
llvm-svn: 174687
2013-02-05[objdump,readobj] Document the purpose and goals of each tool.Michael J. Spencer1-4/+7
llvm-svn: 174439
2012-12-31Use the generic dump template. Extracted from a patch by Sami Liedes.Rafael Espindola1-53/+19
llvm-svn: 171305
2012-12-31Dump sections. Extracted from a patch by Sami Liedes.Rafael Espindola1-0/+76
llvm-svn: 171304
2012-12-31Print a header above the symbols. Extracted from a patch by Sami Liedes.Rafael Espindola1-0/+12
llvm-svn: 171302
2012-12-31Check for errors. Extracted from a patch by Sami Liedes.Rafael Espindola1-6/+12
llvm-svn: 171301
2012-12-31Fix indentation. Extracted from a patch by Sami Liedes!Rafael Espindola1-32/+32
llvm-svn: 171300
2012-12-31Style fixes in llvm-readobj.cpp. Extracted from a patch by Sami Liedes!Rafael Espindola1-28/+18
llvm-svn: 171299
2012-12-04Sort the #include lines for tools/...Chandler Carruth1-6/+6
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
2012-03-10Fix uses of the C99 PRI format macros not to conflict with C++11 UDLs.Benjamin Kramer1-3/+3
llvm-svn: 152474
2012-03-09Support reading GNU symbol versions in ELFObjectFileDavid Meyer1-10/+24
* Add enums and structures for GNU version information. * Implement extraction of that information on a per-symbol basis (ELFObjectFile::getSymbolVersion). * Implement a generic interface, GetELFSymbolVersion(), for getting the symbol version from the ObjectFile (hides the templating). * Have llvm-readobj print out the version, when available. * Add a test for the new feature: readobj-elf-versioning.test llvm-svn: 152436
2012-03-02Fix comments for llvm-readobj, remove extraneous headersDavid Meyer1-5/+9
llvm-svn: 151957
2012-03-01[Object]David Meyer1-0/+12
Add ObjectFile::getLoadName() for retrieving the soname/installname of a shared object. llvm-svn: 151845
2012-03-01[Object]David Meyer1-0/+188
* Add begin_dynamic_table() / end_dynamic_table() private interface to ELFObjectFile. * Add begin_libraries_needed() / end_libraries_needed() interface to ObjectFile, for grabbing the list of needed libraries for a shared object or dynamic executable. * Implement this new interface completely for ELF, leave stubs for COFF and MachO. * Add 'llvm-readobj' tool for dumping ObjectFile information. llvm-svn: 151785