101 lines · yaml
1## Check we are able to set custom sh_offset field2## for different sections.3 4# RUN: yaml2obj --docnum=1 %s -o %t15# RUN: llvm-readelf --sections %t1 | FileCheck %s --check-prefix=CASE16 7# CASE1: Section Headers:8# CASE1-NEXT: [Nr] Name Type Address Off9# CASE1-NEXT: [ 0] NULL {{.*}} 00000010# CASE1-NEXT: [ 1] .dynsym DYNSYM {{.*}} 00000111# CASE1-NEXT: [ 2] .symtab SYMTAB {{.*}} 00000212# CASE1-NEXT: [ 3] .dynamic DYNAMIC {{.*}} 00000313# CASE1-NEXT: [ 4] .rela RELA {{.*}} 00000414# CASE1-NEXT: [ 5] .nobits NOBITS {{.*}} 00000515# CASE1-NEXT: [ 6] .group GROUP {{.*}} 00000616# CASE1-NEXT: [ 7] .gnu.version VERSYM {{.*}} 00000717# CASE1-NEXT: [ 8] .gnu.version_r VERNEED {{.*}} 00000818# CASE1-NEXT: [ 9] .gnu.version_d VERDEF {{.*}} 00000919# CASE1-NEXT: [10] .regular PROGBITS {{.*}} 00000a20# CASE1-NEXT: [11] .strtab STRTAB {{.*}} 00000b21 22--- !ELF23FileHeader:24 Class: ELFCLASS6425 Data: ELFDATA2LSB26 Type: ET_REL27Sections:28 - Name: .dynsym29 Type: SHT_DYNSYM30 ShOffset: 0x00000000131 - Name: .symtab32 Type: SHT_SYMTAB33 ShOffset: 0x00000000234 - Name: .dynamic35 Type: SHT_DYNAMIC36 ShOffset: 0x00000000337 - Name: .rela38 Type: SHT_RELA39 ShOffset: 0x00000000440 - Name: .nobits41 Type: SHT_NOBITS42 ShOffset: 0x00000000543 - Name: .group44 Type: SHT_GROUP45 ShOffset: 0x00000000646 Members:47 - Name: .gnu.version48 Type: SHT_GNU_versym49 Entries: [ ]50 ShOffset: 0x00000000751 - Name: .gnu.version_r52 Type: SHT_GNU_verneed53 ShOffset: 0x00000000854 Dependencies:55 - Name: .gnu.version_d56 Type: SHT_GNU_verdef57 ShOffset: 0x00000000958 Entries:59 - Name: .regular60 Type: SHT_PROGBITS61 ShOffset: 0x00000000A62 - Name: .strtab63 Type: SHT_STRTAB64 ShOffset: 0x00000000B65 66## Here we check that defining ShOffset does not actually change67## the offset at which section data is placed and also does68## not affect file size.69 70# RUN: yaml2obj --docnum=2 %s -o %t271# RUN: yaml2obj --docnum=3 %s -o %t372# RUN: od -t x1 -v %t2 > %t.txt73# RUN: od -t x1 -v %t3 >> %t.txt74# RUN: FileCheck %s --input-file=%t.txt --ignore-case --check-prefix=CASE275 76# CASE2: [[OFFSET:.*]] fe fe fe fe fe fe fe fe77# CASE2: [[FILESIZE:.*]]{{$}}78# CASE2: [[OFFSET]] fe fe fe fe fe fe fe fe79# CASE2: [[FILESIZE]]{{$}}80 81--- !ELF82FileHeader:83 Class: ELFCLASS6484 Data: ELFDATA2LSB85 Type: ET_REL86Sections:87 - Name: .foo88 Type: SHT_PROGBITS89 Content: "fefefefefefefefe"90 91--- !ELF92FileHeader:93 Class: ELFCLASS6494 Data: ELFDATA2LSB95 Type: ET_REL96Sections:97 - Name: .foo98 Type: SHT_PROGBITS99 ShOffset: 0xFFFF0000100 Content: "fefefefefefefefe"101