1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 12:12:47 +01:00
llvm-mirror/lib/ObjectYAML
Georgii Rymar 9db223cc66 [yaml2obj] - Add a way to override sh_type section field.
This adds the `ShType` key similar to others `Sh*` keys we have.

My use case is the following. Imagine we have a `SHT_SYMTAB_SHNDX`
section and want to hide it from a dumper. The natural way would be to
do something like:

```
  - Name:    .symtab_shndx
    Type:    [[TYPE=SHT_SYMTAB_SHNDX]]
    Entries: [ 0, 1 ]

```

and then change the TYPE from `SHT_SYMTAB_SHNDX` to something else,
for example to `SHT_PROGBITS`.

But we have a problem: regular sections does not have `Entries` key,
so yaml2obj will be unable to produce a section.

The solution is to introduce a `ShType` key to override the final type.

This is not the first time I am facing the need to change the type. I
was able to invent workarounds or solved issues differently in the past,
but finally came to conclusion that we just should support the `ShType`.

Differential revision: https://reviews.llvm.org/D84738
2020-07-28 16:16:42 +03:00
..
CMakeLists.txt [DWARFYAML] Refactor emitDebugInfo() to make the length be inferred. 2020-07-23 23:00:19 +08:00
CodeViewYAMLDebugSections.cpp Revert "Remove redundant "std::move"s in return statements" 2020-02-10 07:07:40 -08:00
CodeViewYAMLSymbols.cpp Revert "Remove redundant "std::move"s in return statements" 2020-02-10 07:07:40 -08:00
CodeViewYAMLTypeHashing.cpp
CodeViewYAMLTypes.cpp Revert "Remove redundant "std::move"s in return statements" 2020-02-10 07:07:40 -08:00
COFFEmitter.cpp [PDB] Remove unique_ptr wrapper around C13 line table subsections 2020-05-02 16:35:07 -07:00
COFFYAML.cpp
DWARFEmitter.cpp [DWARFYAML] Replace 'Format', 'Version', etc with 'FormParams'. NFC. 2020-07-24 16:54:51 +08:00
DWARFYAML.cpp [DWARFYAML] Rename getUsedSectionNames() to getNonEmptySectionNames(). 2020-07-26 21:10:38 +08:00
ELFEmitter.cpp [yaml2obj] - Add a way to override sh_type section field. 2020-07-28 16:16:42 +03:00
ELFYAML.cpp [yaml2obj] - Add a way to override sh_type section field. 2020-07-28 16:16:42 +03:00
LLVMBuild.txt [DWARFYAML] Add dependency 'BinaryFormat'. NFC. 2020-07-20 13:58:22 +08:00
MachOEmitter.cpp [ObjectYAML] Add support for error handling in DWARFYAML. NFC. 2020-06-08 22:49:29 +08:00
MachOYAML.cpp [DWARFYAML] Replace Is64bit with Is64BitAddrSize. NFC. 2020-07-14 10:58:35 +08:00
MinidumpEmitter.cpp
MinidumpYAML.cpp
ObjectYAML.cpp
WasmEmitter.cpp [WebAssembly] Adding 64-bit version of R_WASM_MEMORY_ADDR_* relocs 2020-06-15 10:07:42 -07:00
WasmYAML.cpp [WebAssembly] 64-bit memory limits 2020-07-06 12:40:45 -07:00
XCOFFYAML.cpp
yaml2obj.cpp [yaml2obj] - Introduce a 10 Mb limit of the output by default and a --max-size option. 2020-06-10 15:23:59 +03:00
YAML.cpp