mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-02-01 05:01:59 +01:00
b9252455ce
gnu-sections.test currently use relocs.obj.elf-x86_64 and relocs.obj.elf-i386 precompiled objects as an inputs. These inputs actually initially were introduced to test the dump of relocations and have almost nothing common with dumping sections. Patch converts the test to use yaml2obj. That allows to remove relocs.obj.elf-i386 binary. (relocs.obj.elf-x86_64 is still used by another test and can't be removed atm). Differential revision: https://reviews.llvm.org/D62659 llvm-svn: 362377
116 lines
4.8 KiB
Plaintext
116 lines
4.8 KiB
Plaintext
# RUN: yaml2obj --docnum=1 %s -o %t-i386.o
|
|
# RUN: llvm-readelf -S %t-i386.o | FileCheck %s -check-prefix ELF32
|
|
|
|
# ELF32: There are 8 section headers, starting at offset 0x34:
|
|
# ELF32-EMPTY:
|
|
# ELF32-NEXT: Section Headers:
|
|
# ELF32-NEXT: [Nr] Name Type Address Off Size ES Flg Lk Inf Al
|
|
# ELF32-NEXT: [ 0] NULL 00000000 000000 000000 00 0 0 0
|
|
# ELF32-NEXT: [ 1] .text PROGBITS 00000000 000174 000001 00 AX 0 0 4
|
|
# ELF32-NEXT: [ 2] .rel.text REL 00000000 000178 000000 08 5 1 4
|
|
# ELF32-NEXT: [ 3] .data PROGBITS 00000000 000178 000000 00 WA 0 0 4
|
|
# ELF32-NEXT: [ 4] .bss NOBITS 00000000 000178 000000 00 WA 0 0 4
|
|
# ELF32-NEXT: [ 5] .symtab SYMTAB 00000000 000178 000020 10 6 2 8
|
|
# ELF32-NEXT: [ 6] .strtab STRTAB 00000000 000198 000007 00 0 0 1
|
|
# ELF32-NEXT: [ 7] .shstrtab STRTAB 00000000 00019f 000030 00 0 0 1
|
|
# ELF32-NEXT: Key to Flags:
|
|
# ELF32-NEXT: W (write), A (alloc), X (execute), M (merge), S (strings), l (large)
|
|
# ELF32-NEXT: I (info), L (link order), G (group), T (TLS), E (exclude), x (unknown)
|
|
# ELF32-NEXT: O (extra OS processing required) o (OS specific), p (processor specific)
|
|
|
|
--- !ELF
|
|
FileHeader:
|
|
Class: ELFCLASS32
|
|
Data: ELFDATA2LSB
|
|
OSABI: ELFOSABI_GNU
|
|
Type: ET_REL
|
|
Machine: EM_386
|
|
Sections:
|
|
- Name: .text
|
|
Type: SHT_PROGBITS
|
|
Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
|
|
AddressAlign: 0x0000000000000004
|
|
Content: 00
|
|
- Name: .rel.text
|
|
Type: SHT_REL
|
|
Link: .symtab
|
|
AddressAlign: 0x0000000000000004
|
|
EntSize: 0x0000000000000008
|
|
Info: .text
|
|
Relocations:
|
|
- Name: .data
|
|
Type: SHT_PROGBITS
|
|
Flags: [ SHF_WRITE, SHF_ALLOC ]
|
|
AddressAlign: 0x0000000000000004
|
|
Content: ''
|
|
- Name: .bss
|
|
Type: SHT_NOBITS
|
|
Flags: [ SHF_WRITE, SHF_ALLOC ]
|
|
AddressAlign: 0x0000000000000004
|
|
Symbols:
|
|
- Name: .text
|
|
Type: STT_SECTION
|
|
Section: .text
|
|
|
|
# RUN: yaml2obj --docnum=2 %s -o %t-x64.o
|
|
# RUN: llvm-readelf -S %t-x64.o | FileCheck %s -check-prefix ELF64
|
|
|
|
## Check that --wide is the same as -W and ignored and also
|
|
## that --section is the same as -S.
|
|
# RUN: llvm-readobj --wide --sections %t-x64.o --elf-output-style=GNU \
|
|
# RUN: | FileCheck %s -check-prefix ELF64
|
|
# RUN: llvm-readobj -W --sections %t-x64.o --elf-output-style=GNU \
|
|
# RUN: | FileCheck %s -check-prefix ELF64
|
|
# RUN: llvm-readelf -W -S %t-x64.o | FileCheck %s -check-prefix ELF64
|
|
|
|
# ELF64: There are 8 section headers, starting at offset 0x40:
|
|
# ELF64-EMPTY:
|
|
# ELF64-NEXT: Section Headers:
|
|
# ELF64-NEXT: [Nr] Name Type Address Off Size ES Flg Lk Inf Al
|
|
# ELF64-NEXT: [ 0] NULL 0000000000000000 000000 000000 00 0 0 0
|
|
# ELF64-NEXT: [ 1] .text PROGBITS 0000000000000000 000240 000001 00 AX 0 0 4
|
|
# ELF64-NEXT: [ 2] .rela.text RELA 0000000000000000 000248 000000 18 5 1 8
|
|
# ELF64-NEXT: [ 3] .data PROGBITS 0000000000000000 000248 000000 00 WA 0 0 4
|
|
# ELF64-NEXT: [ 4] .bss NOBITS 0000000000000000 000248 000000 00 WA 0 0 4
|
|
# ELF64-NEXT: [ 5] .symtab SYMTAB 0000000000000000 000248 000030 18 6 2 8
|
|
# ELF64-NEXT: [ 6] .strtab STRTAB 0000000000000000 000278 000007 00 0 0 1
|
|
# ELF64-NEXT: [ 7] .shstrtab STRTAB 0000000000000000 00027f 000031 00 0 0 1
|
|
# ELF64-NEXT: Key to Flags:
|
|
# ELF64-NEXT: W (write), A (alloc), X (execute), M (merge), S (strings), l (large)
|
|
# ELF64-NEXT: I (info), L (link order), G (group), T (TLS), E (exclude), x (unknown)
|
|
# ELF64-NEXT: O (extra OS processing required) o (OS specific), p (processor specific)
|
|
|
|
--- !ELF
|
|
FileHeader:
|
|
Class: ELFCLASS64
|
|
Data: ELFDATA2LSB
|
|
OSABI: ELFOSABI_GNU
|
|
Type: ET_REL
|
|
Machine: EM_X86_64
|
|
Sections:
|
|
- Name: .text
|
|
Type: SHT_PROGBITS
|
|
Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
|
|
AddressAlign: 0x0000000000000004
|
|
Content: 00
|
|
- Name: .rela.text
|
|
Type: SHT_RELA
|
|
Link: .symtab
|
|
AddressAlign: 0x0000000000000008
|
|
EntSize: 0x0000000000000018
|
|
Info: .text
|
|
Relocations:
|
|
- Name: .data
|
|
Type: SHT_PROGBITS
|
|
Flags: [ SHF_WRITE, SHF_ALLOC ]
|
|
AddressAlign: 0x0000000000000004
|
|
Content: ''
|
|
- Name: .bss
|
|
Type: SHT_NOBITS
|
|
Flags: [ SHF_WRITE, SHF_ALLOC ]
|
|
AddressAlign: 0x0000000000000004
|
|
Symbols:
|
|
- Name: .text
|
|
Type: STT_SECTION
|
|
Section: .text
|