mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 11:13:28 +01:00
1f183c5130
Summary: Our YAML library's handling of tags isn't perfect, but it is good enough to get rid of the need for the --format argument to yaml2obj. This patch does exactly that. Instead of requiring --format, it infers the format based on the tags found in the object file. The supported tags are: !ELF !COFF !mach-o !fat-mach-o I have a corresponding patch that is quite large that fixes up all the in-tree test cases. Reviewers: rafael, Bigcheese, compnerd, silvas Subscribers: compnerd, llvm-commits Differential Revision: http://reviews.llvm.org/D21711 llvm-svn: 273915
91 lines
2.0 KiB
Plaintext
91 lines
2.0 KiB
Plaintext
# Check that llvm-readobj shows arch specific ELF section flags.
|
|
|
|
# RUN: yaml2obj -docnum 1 %s > %t-amdgpu.o
|
|
# RUN: llvm-readobj -s %t-amdgpu.o | FileCheck -check-prefix=AMD %s
|
|
|
|
# AMD: Flags [ (0x300000)
|
|
# AMD-NEXT: SHF_AMDGPU_HSA_GLOBAL (0x100000)
|
|
# AMD-NEXT: SHF_AMDGPU_HSA_READONLY (0x200000)
|
|
# AMD-NEXT: ]
|
|
|
|
# amdgpu.o
|
|
--- !ELF
|
|
FileHeader:
|
|
Class: ELFCLASS64
|
|
Data: ELFDATA2LSB
|
|
OSABI: ELFOSABI_GNU
|
|
Type: ET_REL
|
|
Machine: EM_AMDGPU
|
|
Flags: []
|
|
Sections:
|
|
- Name: .amdgpu
|
|
Type: SHT_PROGBITS
|
|
Flags: [SHF_AMDGPU_HSA_GLOBAL, SHF_AMDGPU_HSA_READONLY]
|
|
Size: 4
|
|
|
|
# RUN: yaml2obj -docnum 2 %s > %t-hex.o
|
|
# RUN: llvm-readobj -s %t-hex.o | FileCheck -check-prefix=HEX %s
|
|
|
|
# HEX: Flags [ (0x10000000)
|
|
# HEX-NEXT: SHF_HEX_GPREL (0x10000000)
|
|
# HEX-NEXT: ]
|
|
|
|
# hex.o
|
|
--- !ELF
|
|
FileHeader:
|
|
Class: ELFCLASS32
|
|
Data: ELFDATA2LSB
|
|
Type: ET_REL
|
|
Machine: EM_HEXAGON
|
|
Flags: []
|
|
Sections:
|
|
- Name: .hex
|
|
Type: SHT_PROGBITS
|
|
Flags: [SHF_HEX_GPREL]
|
|
Size: 4
|
|
|
|
# RUN: yaml2obj -docnum 3 %s > %t-mips.o
|
|
# RUN: llvm-readobj -s %t-mips.o | FileCheck -check-prefix=MIPS %s
|
|
|
|
# MIPS: Flags [ (0x38000000)
|
|
# MIPS-NEXT: SHF_MIPS_GPREL (0x10000000)
|
|
# MIPS-NEXT: SHF_MIPS_MERGE (0x20000000)
|
|
# MIPS-NEXT: SHF_MIPS_NOSTRIP (0x8000000)
|
|
# MIPS-NEXT: ]
|
|
|
|
# mips.o
|
|
--- !ELF
|
|
FileHeader:
|
|
Class: ELFCLASS32
|
|
Data: ELFDATA2LSB
|
|
Type: ET_REL
|
|
Machine: EM_MIPS
|
|
Flags: []
|
|
Sections:
|
|
- Name: .mips
|
|
Type: SHT_PROGBITS
|
|
Flags: [SHF_MIPS_GPREL, SHF_MIPS_MERGE, SHF_MIPS_NOSTRIP]
|
|
Size: 4
|
|
|
|
# RUN: yaml2obj -docnum 4 %s > %t-x86_64.o
|
|
# RUN: llvm-readobj -s %t-x86_64.o | FileCheck -check-prefix=X86_64 %s
|
|
|
|
# X86_64: Flags [ (0x10000000)
|
|
# X86_64-NEXT: SHF_X86_64_LARGE (0x10000000)
|
|
# X86_64-NEXT: ]
|
|
|
|
# x86_64.o
|
|
--- !ELF
|
|
FileHeader:
|
|
Class: ELFCLASS64
|
|
Data: ELFDATA2LSB
|
|
Type: ET_REL
|
|
Machine: EM_X86_64
|
|
Flags: []
|
|
Sections:
|
|
- Name: .x86_64
|
|
Type: SHT_PROGBITS
|
|
Flags: [SHF_X86_64_LARGE]
|
|
Size: 4
|
|
...
|