65 lines
1.8 KiB
Text
65 lines
1.8 KiB
Text
# RUN: yaml2obj %s -o %t
|
|
# RUN: llvm-objcopy %t %t2
|
|
# RUN: llvm-readobj --sections %t2 | FileCheck %s
|
|
|
|
## This checks that llvm-objcopy layouts sections in the order of their offsets
|
|
## in the input file in spite of the order of section headers is different.
|
|
|
|
# CHECK: Index: 1
|
|
# CHECK-NEXT: Name: foo
|
|
# CHECK-NEXT: Type:
|
|
# CHECK-NEXT: Flags [
|
|
# CHECK-NEXT: SHF_ALLOC
|
|
# CHECK-NEXT: ]
|
|
# CHECK-NEXT: Address:
|
|
# CHECK-NEXT: Offset: 0x50
|
|
# CHECK: Index: 2
|
|
# CHECK-NEXT: Name: bar
|
|
# CHECK-NEXT: Type: SHT_PROGBITS
|
|
# CHECK-NEXT: Flags [
|
|
# CHECK-NEXT: SHF_ALLOC
|
|
# CHECK-NEXT: ]
|
|
# CHECK-NEXT: Address:
|
|
# CHECK-NEXT: Offset: 0x40
|
|
# CHECK: Index: 3
|
|
# CHECK-NEXT: Name: baz
|
|
# CHECK-NEXT: Type: SHT_PROGBITS
|
|
# CHECK-NEXT: Flags [
|
|
# CHECK-NEXT: SHF_ALLOC
|
|
# CHECK-NEXT: ]
|
|
# CHECK-NEXT: Address:
|
|
# CHECK-NEXT: Offset: 0x48
|
|
|
|
--- !ELF
|
|
FileHeader:
|
|
Class: ELFCLASS64
|
|
Data: ELFDATA2LSB
|
|
Type: ET_REL
|
|
Machine: EM_X86_64
|
|
Sections:
|
|
- Name: bar
|
|
Type: SHT_PROGBITS
|
|
Flags: [ SHF_ALLOC ]
|
|
AddressAlign: 0x4
|
|
Offset: 0x40
|
|
Content: 0000000000000000
|
|
- Name: baz
|
|
Type: SHT_PROGBITS
|
|
Flags: [ SHF_ALLOC ]
|
|
AddressAlign: 0x4
|
|
Offset: 0x48
|
|
Content: 0000000000000000
|
|
- Name: foo
|
|
Type: SHT_PROGBITS
|
|
Flags: [ SHF_ALLOC ]
|
|
AddressAlign: 0x4
|
|
Offset: 0x50
|
|
Content: 0000000000000000
|
|
- Type: SectionHeaderTable
|
|
Sections:
|
|
## Note: the order of section headers differs from their layout.
|
|
- Name: foo
|
|
- Name: bar
|
|
- Name: baz
|
|
- Name: .shstrtab
|
|
- Name: .strtab
|