mirror of
https://github.com/RPCS3/llvm.git
synced 2024-12-27 22:55:15 +00:00
848edb1bfa
The ELF symbol `st_other` field might contain additional flags besides visibility ones. This patch implements support for some MIPS specific flags. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@221491 91177308-0d34-0410-b5e6-96231b3b80d8
129 lines
4.1 KiB
YAML
129 lines
4.1 KiB
YAML
# RUN: yaml2obj -format=elf %s | llvm-readobj -symbols - | \
|
|
# RUN: FileCheck --check-prefix OBJ %s
|
|
# RUN: yaml2obj -format=elf %s | obj2yaml - | FileCheck --check-prefix YAML %s
|
|
|
|
# OBJ: Symbol {
|
|
# OBJ: Name: default1 (36)
|
|
# OBJ-NEXT: Value: 0x0
|
|
# OBJ-NEXT: Size: 4
|
|
# OBJ-NEXT: Binding: Global (0x1)
|
|
# OBJ-NEXT: Type: Object (0x1)
|
|
# OBJ-NEXT: Other: 0
|
|
# OBJ-NEXT: Section: .data (0x1)
|
|
# OBJ-NEXT: }
|
|
# OBJ-NEXT: Symbol {
|
|
# OBJ-NEXT: Name: default2 (27)
|
|
# OBJ-NEXT: Value: 0x4
|
|
# OBJ-NEXT: Size: 4
|
|
# OBJ-NEXT: Binding: Global (0x1)
|
|
# OBJ-NEXT: Type: Object (0x1)
|
|
# OBJ-NEXT: Other: 0
|
|
# OBJ-NEXT: Section: .data (0x1)
|
|
# OBJ-NEXT: }
|
|
# OBJ-NEXT: Symbol {
|
|
# OBJ-NEXT: Name: internal (8)
|
|
# OBJ-NEXT: Value: 0x8
|
|
# OBJ-NEXT: Size: 4
|
|
# OBJ-NEXT: Binding: Global (0x1)
|
|
# OBJ-NEXT: Type: Object (0x1)
|
|
# OBJ-NEXT: Other: 1
|
|
# OBJ-NEXT: Section: .data (0x1)
|
|
# OBJ-NEXT: }
|
|
# OBJ-NEXT: Symbol {
|
|
# OBJ-NEXT: Name: hidden (1)
|
|
# OBJ-NEXT: Value: 0xC
|
|
# OBJ-NEXT: Size: 4
|
|
# OBJ-NEXT: Binding: Global (0x1)
|
|
# OBJ-NEXT: Type: Object (0x1)
|
|
# OBJ-NEXT: Other: 2
|
|
# OBJ-NEXT: Section: .data (0x1)
|
|
# OBJ-NEXT: }
|
|
# OBJ-NEXT: Symbol {
|
|
# OBJ-NEXT: Name: protected (17)
|
|
# OBJ-NEXT: Value: 0x10
|
|
# OBJ-NEXT: Size: 4
|
|
# OBJ-NEXT: Binding: Global (0x1)
|
|
# OBJ-NEXT: Type: Object (0x1)
|
|
# OBJ-NEXT: Other: 163
|
|
# OBJ-NEXT: Section: .data (0x1)
|
|
# OBJ-NEXT: }
|
|
|
|
# YAML: Symbols:
|
|
# YAML-NEXT: Global:
|
|
# YAML-NEXT: - Name: default1
|
|
# YAML-NEXT: Type: STT_OBJECT
|
|
# YAML-NEXT: Section: .data
|
|
# YAML-NEXT: Size: 0x0000000000000004
|
|
# YAML-NEXT: - Name: default2
|
|
# YAML-NEXT: Type: STT_OBJECT
|
|
# YAML-NEXT: Section: .data
|
|
# YAML-NEXT: Value: 0x0000000000000004
|
|
# YAML-NEXT: Size: 0x0000000000000004
|
|
# YAML-NEXT: - Name: internal
|
|
# YAML-NEXT: Type: STT_OBJECT
|
|
# YAML-NEXT: Section: .data
|
|
# YAML-NEXT: Value: 0x0000000000000008
|
|
# YAML-NEXT: Size: 0x0000000000000004
|
|
# YAML-NEXT: Visibility: STV_INTERNAL
|
|
# YAML-NEXT: - Name: hidden
|
|
# YAML-NEXT: Type: STT_OBJECT
|
|
# YAML-NEXT: Section: .data
|
|
# YAML-NEXT: Value: 0x000000000000000C
|
|
# YAML-NEXT: Size: 0x0000000000000004
|
|
# YAML-NEXT: Visibility: STV_HIDDEN
|
|
# YAML-NEXT: - Name: protected
|
|
# YAML-NEXT: Type: STT_OBJECT
|
|
# YAML-NEXT: Section: .data
|
|
# YAML-NEXT: Value: 0x0000000000000010
|
|
# YAML-NEXT: Size: 0x0000000000000004
|
|
# YAML-NEXT: Visibility: STV_PROTECTED
|
|
# YAML-NEXT: Other: [ STO_MIPS_PIC, STO_MIPS_MICROMIPS ]
|
|
|
|
---
|
|
FileHeader:
|
|
Class: ELFCLASS32
|
|
Data: ELFDATA2LSB
|
|
Type: ET_REL
|
|
Machine: EM_MIPS
|
|
Flags: [ EF_MIPS_ABI_O32, EF_MIPS_ARCH_32 ]
|
|
|
|
Sections:
|
|
- Name: .data
|
|
Type: SHT_PROGBITS
|
|
Flags: [ SHF_ALLOC, SHF_WRITE ]
|
|
AddressAlign: 0x04
|
|
Size: 0x14
|
|
|
|
Symbols:
|
|
Global:
|
|
- Name: default1
|
|
Type: STT_OBJECT
|
|
Visibility: STV_DEFAULT
|
|
Section: .data
|
|
Value: 0x00
|
|
Size: 0x04
|
|
- Name: default2
|
|
Type: STT_OBJECT
|
|
Section: .data
|
|
Value: 0x04
|
|
Size: 0x04
|
|
- Name: internal
|
|
Type: STT_OBJECT
|
|
Visibility: STV_INTERNAL
|
|
Section: .data
|
|
Value: 0x08
|
|
Size: 0x04
|
|
- Name: hidden
|
|
Type: STT_OBJECT
|
|
Visibility: STV_HIDDEN
|
|
Section: .data
|
|
Value: 0x0C
|
|
Size: 0x04
|
|
- Name: protected
|
|
Type: STT_OBJECT
|
|
Visibility: STV_PROTECTED
|
|
Other: [ STO_MIPS_MICROMIPS, STO_MIPS_PIC ]
|
|
Section: .data
|
|
Value: 0x10
|
|
Size: 0x04
|