66 lines · plain
1# RUN: yaml2obj %s -o %t2# RUN: llvm-objcopy %t %t23# RUN: llvm-readobj --sections %t2 | FileCheck %s4 5## This checks that llvm-objcopy layouts sections in the order of their offsets6## in the input file in spite of the order of section headers is different.7 8# CHECK: Index: 19# CHECK-NEXT: Name: foo10# CHECK-NEXT: Type:11# CHECK-NEXT: Flags [12# CHECK-NEXT: SHF_ALLOC13# CHECK-NEXT: ]14# CHECK-NEXT: Address:15# CHECK-NEXT: Offset: 0x5016# CHECK: Index: 217# CHECK-NEXT: Name: bar18# CHECK-NEXT: Type: SHT_PROGBITS19# CHECK-NEXT: Flags [20# CHECK-NEXT: SHF_ALLOC21# CHECK-NEXT: ]22# CHECK-NEXT: Address:23# CHECK-NEXT: Offset: 0x4024# CHECK: Index: 325# CHECK-NEXT: Name: baz26# CHECK-NEXT: Type: SHT_PROGBITS27# CHECK-NEXT: Flags [28# CHECK-NEXT: SHF_ALLOC29# CHECK-NEXT: ]30# CHECK-NEXT: Address:31# CHECK-NEXT: Offset: 0x4832 33--- !ELF34FileHeader:35 Class: ELFCLASS6436 Data: ELFDATA2LSB37 Type: ET_REL38 Machine: EM_X86_6439Sections:40 - Name: bar41 Type: SHT_PROGBITS42 Flags: [ SHF_ALLOC ]43 AddressAlign: 0x444 Offset: 0x4045 Content: 000000000000000046 - Name: baz47 Type: SHT_PROGBITS48 Flags: [ SHF_ALLOC ]49 AddressAlign: 0x450 Offset: 0x4851 Content: 000000000000000052 - Name: foo53 Type: SHT_PROGBITS54 Flags: [ SHF_ALLOC ]55 AddressAlign: 0x456 Offset: 0x5057 Content: 000000000000000058 - Type: SectionHeaderTable59 Sections:60## Note: the order of section headers differs from their layout.61 - Name: foo62 - Name: bar63 - Name: baz64 - Name: .shstrtab65 - Name: .strtab66