llvm-project/llvm/lib/ObjectYAML
Georgii Rymar 7570d387c2 [yaml2obj/obj2yaml] - Add support for SHT_RELR sections.
Note: this is a reland with a trivial 2 lines fix in ELFState<ELFT>::writeSectionContent.
      It adds a check similar to ones we already have for other sections to fix the case revealed
      by bots, like http://lab.llvm.org:8011/builders/llvm-clang-lld-x86_64-scei-ps4-ubuntu-fast/builds/60744.

The encoded sequence of Elf*_Relr entries in a SHT_RELR section looks
like [ AAAAAAAA BBBBBBB1 BBBBBBB1 ... AAAAAAAA BBBBBB1 ... ]
i.e. start with an address, followed by any number of bitmaps. The address
entry encodes 1 relocation. The subsequent bitmap entries encode up to 63(31)
relocations each, at subsequent offsets following the last address entry.

More information is here:
https://github.com/llvm-mirror/llvm/blob/master/lib/Object/ELF.cpp#L272

This patch adds a support for these sections.

Differential revision: https://reviews.llvm.org/D71872
2020-01-15 15:15:24 +03:00
..
CMakeLists.txt [cmake] Explicitly mark libraries defined in lib/ as "Component Libraries" 2019-11-21 10:48:08 -08:00
COFFEmitter.cpp [yaml2obj][COFF] Add support for extended relocation tables 2019-11-14 12:39:28 -08:00
COFFYAML.cpp [COFF] Fix .bss section size bug in obj2yaml / yaml2obj 2019-05-10 21:53:44 +00:00
CodeViewYAMLDebugSections.cpp [NFC] Fixes -Wrange-loop-analysis warnings 2020-01-01 20:01:37 +01: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
DWARFEmitter.cpp Recommit "[DWARF] Add an api to get "interpreted" location lists" 2019-11-20 16:24:11 +01: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 support for SHT_RELR sections. 2020-01-15 15:15:24 +03:00
ELFYAML.cpp [yaml2obj/obj2yaml] - Add support for SHT_RELR sections. 2020-01-15 15:15:24 +03: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 Fix a typo in my previous commit 2019-11-06 11:42:30 -08:00
MachOYAML.cpp [yaml2obj/obj2yaml][MachO] Allow setting custom section data 2019-08-20 08:49:07 +00:00
MinidumpEmitter.cpp Update MinidumpYAML to use minidump::Exception for exception stream 2019-10-18 14:56:19 +00:00
MinidumpYAML.cpp minidump: Add an "arm64" constant 2019-10-31 11:20:46 +01:00
ObjectYAML.cpp [yaml2obj] - Don't crash on invalid inputs. 2019-04-25 09:59:55 +00:00
WasmEmitter.cpp [WebAssembly] Allow multivalue signatures in object files 2019-10-18 20:27:30 +00:00
WasmYAML.cpp [WebAssembly] Allow multivalue signatures in object files 2019-10-18 20:27:30 +00:00
XCOFFYAML.cpp [XCOFF] Implement parsing symbol table for xcoffobjfile and output as yaml format 2019-05-28 14:37:59 +00:00
YAML.cpp [FixBB] - Fix one more std::min -> std::min<uint64_t> to make BB happy. 2019-11-11 12:11:54 +03:00
yaml2obj.cpp [yaml2obj/ObjectYAML] - Cleanup the error reporting API, add custom errors handlers. 2019-09-13 16:00:16 +00:00