1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 02:52:53 +02:00
llvm-mirror/tools/obj2yaml
George Rimar c51ab76942 [yaml2obj/obj2yaml] - Add a basic support for extended section indexes.
In some cases a symbol might have section index == SHN_XINDEX.
This is an escape value indicating that the actual section header index
is too large to fit in the containing field.
Then the SHT_SYMTAB_SHNDX section is used. It contains the 32bit values
that stores section indexes.

ELF gABI says that there can be multiple SHT_SYMTAB_SHNDX sections,
i.e. for example one for .symtab and one for .dynsym
(1) https://groups.google.com/forum/#!topic/generic-abi/-XJAV5d8PRg
(2) DT_SYMTAB_SHNDX: http://www.sco.com/developers/gabi/latest/ch5.dynamic.html

In this patch I am only supporting a single SHT_SYMTAB_SHNDX associated
with a .symtab. This is a more or less common case which is used a few tests I saw in LLVM.

I decided not to create the SHT_SYMTAB_SHNDX section as "implicit",
but implement is like a kind of regular section for now.
i.e. tools do not recreate this section or its content, like they do for
symbol table sections, for example. That should allow to write all kind of
possible broken test cases for our needs and keep the output closer to requested.

Differential revision: https://reviews.llvm.org/D65446

llvm-svn: 368272
2019-08-08 09:49:05 +00:00
..
CMakeLists.txt [XCOFF] Add functionality for parsing AIX XCOFF object file headers 2019-04-04 00:53:21 +00:00
coff2yaml.cpp [Object] Change ObjectFile::getSectionContents to return Expected<ArrayRef<uint8_t>> 2019-05-14 04:22:51 +00:00
dwarf2yaml.cpp DebugInfo/DWARF: Normalize DWARFObject members on the DWARF spec section names 2019-08-07 17:18:11 +00:00
elf2yaml.cpp [yaml2obj/obj2yaml] - Add a basic support for extended section indexes. 2019-08-08 09:49:05 +00:00
Error.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Error.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
macho2yaml.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
minidump2yaml.cpp Add minidump support to obj2yaml 2019-04-02 11:58:37 +00:00
obj2yaml.cpp Recommit r366052 "[obj2yaml] - Rework tool's error reporting logic for ELF target." 2019-07-15 11:53:39 +00:00
obj2yaml.h Recommit r366052 "[obj2yaml] - Rework tool's error reporting logic for ELF target." 2019-07-15 11:53:39 +00:00
wasm2yaml.cpp [WebAssembly] Add DataCount section to object files 2019-04-12 22:27:48 +00:00
xcoff2yaml.cpp [Object][XCOFF] Add support for 64-bit file header and section header dumping. 2019-07-09 18:09:11 +00:00