98 lines · yaml
1## Test how we dump SHT_CREL sections.2# RUN: yaml2obj %s -o %t13# RUN: obj2yaml %t1 | FileCheck %s --check-prefix=YAML4 5# YAML: - Name: .crel.text6# YAML-NEXT: Type: SHT_CREL7# YAML-NEXT: Link: .symtab8# YAML-NEXT: Info: .text9# YAML-NEXT: Relocations:10# YAML-NEXT: - Offset: 0x111# YAML-NEXT: Symbol: g112# YAML-NEXT: Type: R_X86_64_3213# YAML-NEXT: Addend: 114# YAML-NEXT: - Offset: 0x215# YAML-NEXT: Symbol: l116# YAML-NEXT: Type: R_X86_64_6417# YAML-NEXT: Addend: 218# YAML-NEXT: - Symbol: g119# YAML-NEXT: Type: R_X86_64_32S20# YAML-NEXT: Addend: -121# YAML-NEXT: - Offset: 0x422# YAML-NEXT: Symbol: .text23# YAML-NEXT: Type: R_X86_64_32S24# YAML-NEXT: Addend: -922337203685477580825# YAML-NEXT: - Name: .crel.dyn26# YAML-NEXT: Type: SHT_CREL27# YAML-NEXT: Relocations: []28 29--- !ELF30FileHeader:31 Class: ELFCLASS6432 Data: ELFDATA2LSB33 Type: ET_REL34 Machine: EM_X86_6435 36Sections:37- Name: .foo38 Type: SHT_PROGBITS39 Flags: [SHF_ALLOC]40- Name: .text41 Type: SHT_PROGBITS42 Content: "0000000000000000"43 Flags: [SHF_ALLOC]44- Name: .crel.text45 Type: SHT_CREL46 Info: .text47 Link: .symtab48 Relocations:49 - Offset: 0x150 Symbol: g151 Type: R_X86_64_3252 Addend: 153 - Offset: 0x254 Symbol: l155 Type: R_X86_64_6456 Addend: 257 - Offset: 0x058 Symbol: g159 Type: R_X86_64_32S60 Addend: 0xffffffffffffffff61 - Offset: 0x462 Symbol: .text63 Type: R_X86_64_32S64 Addend: 0x800000000000000065- Name: .crel.dyn66 Type: SHT_CREL67 Content: 0068## Trigger the .dynsym emission.69DynamicSymbols: []70Symbols:71 - Name: unused72 Section: .text73 - Name: .text74 Type: STT_SECTION75 Section: .text76 - Name: l177 - Name: g178 Section: .text79 Value: 0x080 Size: 481 Binding: STB_GLOBAL82 83## Test the behavior when the sh_entsize field is broken.84 85# RUN: yaml2obj -DTYPE=SHT_RELA --docnum=2 %s -o %t286# RUN: not obj2yaml %t2 2>&1 | FileCheck %s --check-prefix=ERR187 88# ERR1: unable to decode LEB128 at offset 0x00000000: malformed uleb128, extends past end89 90--- !ELF91FileHeader:92 Class: ELFCLASS6493 Data: ELFDATA2LSB94 Type: ET_DYN95Sections:96 - Name: .foo97 Type: SHT_CREL98