1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 11:13:28 +01:00
llvm-mirror/test/tools/llvm-readobj/elf-sec-flags.test
Chris Bieneman 1f183c5130 [yaml2obj] Remove --format option in favor of YAML tags
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
2016-06-27 19:53:53 +00:00

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
...