[YAML] - Teach yaml2obj/obj2yaml to work with numeric relocation values.
That may be useful if we want to produce or parse object containing broken relocation values using yaml2obj/obj2yaml. Previously that was impossible because only enum values were parsed correctly, this patch allows to put any numeric value as a relocation type. Differential revision: https://reviews.llvm.org/D34758 llvm-svn: 306814
This commit is contained in:
parent
aad84e2ee2
commit
892c6c86ea
@ -542,6 +542,7 @@ void ScalarEnumerationTraits<ELFYAML::ELF_REL>::enumeration(
|
||||
llvm_unreachable("Unsupported architecture");
|
||||
}
|
||||
#undef ELF_RELOC
|
||||
IO.enumFallback<Hex32>(Value);
|
||||
}
|
||||
|
||||
void ScalarEnumerationTraits<ELFYAML::MIPS_AFL_REG>::enumeration(
|
||||
|
||||
29
llvm/test/Object/X86/yaml-elf-x86-rel-broken.yaml
Normal file
29
llvm/test/Object/X86/yaml-elf-x86-rel-broken.yaml
Normal file
@ -0,0 +1,29 @@
|
||||
# RUN: yaml2obj %s > %t
|
||||
# RUN: obj2yaml %t | FileCheck %s
|
||||
|
||||
# CHECK: Relocations:
|
||||
# CHECK-NEXT: - Offset:
|
||||
# CHECK-NEXT: Symbol:
|
||||
# CHECK-NEXT: Type: 0x000000FF
|
||||
|
||||
!ELF
|
||||
FileHeader:
|
||||
Class: ELFCLASS32
|
||||
Data: ELFDATA2LSB
|
||||
Type: ET_REL
|
||||
Machine: EM_386
|
||||
Sections:
|
||||
- Type: SHT_PROGBITS
|
||||
Name: .text
|
||||
Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
|
||||
AddressAlign: 0x04
|
||||
Content: 0000000000000000
|
||||
- Type: SHT_REL
|
||||
Name: .rel.text
|
||||
Link: .symtab
|
||||
Info: .text
|
||||
AddressAlign: 0x04
|
||||
Relocations:
|
||||
- Offset: 0
|
||||
Symbol: main
|
||||
Type: 0xFF
|
||||
Loading…
x
Reference in New Issue
Block a user