1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 11:02:59 +02:00
llvm-mirror/lib/ObjectYAML
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 [yaml2obj] Move core yaml2obj code into lib and include for use in unit tests 2019-08-07 02:44:49 +00:00
CodeViewYAMLDebugSections.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
CodeViewYAMLSymbols.cpp Changing representation of .cv_def_range directives in Codeview debug info assembly format for better readability 2019-08-05 14:16:58 +00:00
CodeViewYAMLTypeHashing.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
CodeViewYAMLTypes.cpp [codeview] Remove Type member from CVRecord 2019-04-04 00:28:48 +00:00
COFFEmitter.cpp [yaml2obj] Move core yaml2obj code into lib and include for use in unit tests 2019-08-07 02:44:49 +00:00
COFFYAML.cpp [COFF] Fix .bss section size bug in obj2yaml / yaml2obj 2019-05-10 21:53:44 +00:00
DWARFEmitter.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
DWARFVisitor.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
DWARFVisitor.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
DWARFYAML.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
ELFEmitter.cpp [yaml2obj/obj2yaml] - Add a basic support for extended section indexes. 2019-08-08 09:49:05 +00:00
ELFYAML.cpp [yaml2obj/obj2yaml] - Add a basic support for extended section indexes. 2019-08-08 09:49:05 +00:00
LLVMBuild.txt [yaml2obj] Move core yaml2obj code into lib and include for use in unit tests 2019-08-07 02:44:49 +00:00
MachOEmitter.cpp [yaml2obj] Move core yaml2obj code into lib and include for use in unit tests 2019-08-07 02:44:49 +00:00
MachOYAML.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
MinidumpEmitter.cpp [yaml2obj] Move core yaml2obj code into lib and include for use in unit tests 2019-08-07 02:44:49 +00:00
MinidumpYAML.cpp Minidump: Add support for the MemoryList stream 2019-05-16 15:17:30 +00:00
ObjectYAML.cpp [yaml2obj] - Don't crash on invalid inputs. 2019-04-25 09:59:55 +00:00
WasmEmitter.cpp [yaml2obj] Move core yaml2obj code into lib and include for use in unit tests 2019-08-07 02:44:49 +00:00
WasmYAML.cpp [WebAssembly] Add more test coverage for reloctions against section symbols 2019-05-07 03:53:16 +00:00
XCOFFYAML.cpp [XCOFF] Implement parsing symbol table for xcoffobjfile and output as yaml format 2019-05-28 14:37:59 +00:00
yaml2obj.cpp [yaml2obj] Move core yaml2obj code into lib and include for use in unit tests 2019-08-07 02:44:49 +00:00
YAML.cpp [yaml::BinaryRef] Slight perf tuning (for llvm-exegesis analysis mode) 2019-02-06 08:57:01 +00:00