# RUN: yaml2obj %s -o %t
# RUN: llvm-objdump --all-headers -D -z %t | FileCheck %s --check-prefixes=COMMON,NOADJUST
# RUN: llvm-objdump --all-headers -D -z --adjust-vma=0x0 %t | FileCheck %s --check-prefixes=COMMON,NOADJUST
# RUN: llvm-objdump --all-headers -D -z --adjust-vma=0x123000 %t | FileCheck %s --check-prefixes=COMMON,ADJUST
# NOADJUST: Sections:
# NOADJUST-NEXT: Idx Name Size VMA Type
# NOADJUST-NEXT: 0 00000000 0000000000000000
# NOADJUST-NEXT: 1 .text 00000002 0000000000000000 TEXT
# NOADJUST-NEXT: 2 .debug_str 00000004 0000000000000000
# NOADJUST-NEXT: 3 .rela.debug_str 00000018 0000000000000000
# NOADJUST-NEXT: 4 .data 00000004 0000000000000000 DATA
# NOADJUST-NEXT: 5 .rela.data 00000018 0000000000000000
# NOADJUST-NEXT: 6 .symtab {{.*}} 0000000000000000
# NOADJUST-NEXT: 7 .strtab {{.*}} 0000000000000000
# NOADJUST-NEXT: 8 .shstrtab 0000003c 0000000000000000
# ADJUST: Sections:
# ADJUST-NEXT: Idx Name Size VMA Type
# ADJUST-NEXT: 0 00000000 0000000000000000
# ADJUST-NEXT: 1 .text 00000002 0000000000123000 TEXT
# ADJUST-NEXT: 2 .debug_str 00000004 0000000000000000
# ADJUST-NEXT: 3 .rela.debug_str 00000018 0000000000000000
# ADJUST-NEXT: 4 .data 00000004 0000000000123000 DATA
# ADJUST-NEXT: 5 .rela.data 00000018 0000000000000000
# ADJUST-NEXT: 6 .symtab {{.*}} 0000000000000000
# ADJUST-NEXT: 7 .strtab {{.*}} 0000000000000000
# ADJUST-NEXT: 8 .shstrtab 0000003c 0000000000000000
# NOADJUST: SYMBOL TABLE:
# NOADJUST-NEXT: 0000000000000001 l F .text 0000000000000000 func
# NOADJUST-NEXT: 0000000000000000 l .text 0000000000000000 sym
# NOADJUST-NEXT: 0000000000000000 l d .text 0000000000000000 .text
# NOADJUST-NEXT: 0000000000003333 l *ABS* 0000000000000000 abs
# NOADJUST-NEXT: 0000000000000000 l .debug_str 0000000000000000 debug_str_sym
# ADJUST: SYMBOL TABLE:
# ADJUST-NEXT: 0000000000123001 l F .text 0000000000000000 func
# ADJUST-NEXT: 0000000000123000 l .text 0000000000000000 sym
# ADJUST-NEXT: 0000000000123000 l d .text 0000000000000000 .text
# ADJUST-NEXT: 0000000000003333 l *ABS* 0000000000000000 abs
# ADJUST-NEXT: 0000000000000000 l .debug_str 0000000000000000 debug_str_sym
# NOADJUST: 0000000000000000 <sym>:
# NOADJUST-NEXT: 0: {{.*}} nop
# NOADJUST: 0000000000000001 <func>:
# NOADJUST-NEXT: 1: {{.*}} retq
# ADJUST: 0000000000123000 <sym>:
# ADJUST-NEXT: 123000: {{.*}} nop
# ADJUST: 0000000000123001 <func>:
# ADJUST-NEXT: 123001: {{.*}} retq
# NOADJUST: 0000000000000000 <debug_str_sym>:
# NOADJUST-NEXT: 0: {{.*}} %al, (%rax)
# NOADJUST-NEXT: 0000000000000001: R_X86_64_32 .text
# NOADJUST-NEXT: 2: {{.*}} addb %al, (%rax)
# ADJUST: 0000000000000000 <debug_str_sym>:
# ADJUST-NEXT: 0: {{.*}} %al, (%rax)
# ADJUST-NEXT: 0000000000123001: R_X86_64_32 .text
# ADJUST-NEXT: 2: {{.*}} addb %al, (%rax)
# COMMON: 0000000000000000 <.rela.debug_str>:
# COMMON-NEXT: 0: {{.*}} addl %eax, (%rax)
## ... There are more lines here. We do not care.
# NOADJUST: 0000000000000000 <.data>:
# NOADJUST-NEXT: 0: {{.*}} addb %al, (%rax)
# NOADJUST-NEXT: 0000000000000000: R_X86_64_32 .text
# NOADJUST-NEXT: 2: {{.*}} addb %al, (%rax)
# ADJUST: 0000000000123000 <.data>:
# ADJUST-NEXT: 123000: {{.*}} addb %al, (%rax)
# ADJUST-NEXT: 0000000000123000: R_X86_64_32 .text
# ADJUST-NEXT: 123002: {{.*}} addb %al, (%rax)
# COMMON: 0000000000000000 <.rela.data>:
# COMMON-NEXT: 0: {{.*}} addb %al, (%rax)
## ... There are more lines here. We do not care.
--- !ELF
FileHeader:
Class: ELFCLASS64
Data: ELFDATA2LSB
Type: ET_REL
Machine: EM_X86_64
Sections:
- Name: .text
Type: SHT_PROGBITS
Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
AddressAlign: 0x0000000000000004
Content: 90C3
- Name: .debug_str
Type: SHT_PROGBITS
Flags: [ SHF_MERGE, SHF_STRINGS ]
AddressAlign: 0x0000000000000001
Content: '00000000'
- Name: .rela.debug_str
Type: SHT_RELA
Link: .symtab
AddressAlign: 0x0000000000000008
Info: .debug_str
Relocations:
- Offset: 0x0000000000000001
Symbol: .text
Type: R_X86_64_32
- Name: .data
Type: SHT_PROGBITS
Flags: [ SHF_WRITE, SHF_ALLOC ]
AddressAlign: 0x0000000000000001
Content: '00000000'
- Name: .rela.data
Type: SHT_RELA
Link: .symtab
AddressAlign: 0x0000000000000008
Info: .data
Relocations:
- Offset: 0x0000000000000000
Symbol: .text
Type: R_X86_64_32
Symbols:
- Name: func
Type: STT_FUNC
Section: .text
Value: 0x0000000000000001
- Name: sym
Section: .text
- Name: .text
Type: STT_SECTION
Section: .text
- Name: abs
Index: SHN_ABS
Value: 0x3333
- Name: debug_str_sym
Section: .debug_str