You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
130 lines
3.7 KiB
130 lines
3.7 KiB
4 months ago
|
## Verify that llvm-readobj can dump files containing stabs symbols,
|
||
|
## particularly symbols of type N_OSO which have repurposed the n_sect field
|
||
|
## to store a non-section-index value.
|
||
|
|
||
|
# RUN: yaml2obj %s -o %t
|
||
|
# RUN: llvm-readobj --syms %t | FileCheck %s
|
||
|
|
||
|
# CHECK: Symbols [
|
||
|
# CHECK-NEXT: Symbol {
|
||
|
# CHECK-NEXT: Name: /Volumes/Sandbox/ (2)
|
||
|
# CHECK-NEXT: Type: SymDebugTable (0x64)
|
||
|
# CHECK-NEXT: Section: (0x0)
|
||
|
# CHECK-NEXT: RefType: UndefinedNonLazy (0x0)
|
||
|
# CHECK-NEXT: Flags [ (0x0)
|
||
|
# CHECK-NEXT: ]
|
||
|
# CHECK-NEXT: Value: 0x0
|
||
|
# CHECK-NEXT: }
|
||
|
# CHECK-NEXT: Symbol {
|
||
|
# CHECK-NEXT: Name: /Volumes/Sandbox/test.o (20)
|
||
|
# CHECK-NEXT: Type: SymDebugTable (0x66)
|
||
|
# CHECK-NEXT: Section: (0x3)
|
||
|
# CHECK-NEXT: RefType: ReferenceFlagUndefinedLazy (0x1)
|
||
|
# CHECK-NEXT: Flags [ (0x0)
|
||
|
# CHECK-NEXT: ]
|
||
|
# CHECK-NEXT: Value: 0x5F72D5E2
|
||
|
# CHECK-NEXT: }
|
||
|
# CHECK-NEXT: Symbol {
|
||
|
# CHECK-NEXT: Name: (1)
|
||
|
# CHECK-NEXT: Type: SymDebugTable (0x2E)
|
||
|
# CHECK-NEXT: Section: (0x1)
|
||
|
# CHECK-NEXT: RefType: UndefinedNonLazy (0x0)
|
||
|
# CHECK-NEXT: Flags [ (0x0)
|
||
|
# CHECK-NEXT: ]
|
||
|
# CHECK-NEXT: Value: 0x100000FA0
|
||
|
# CHECK-NEXT: }
|
||
|
# CHECK-NEXT: Symbol {
|
||
|
# CHECK-NEXT: Name: _foo (44)
|
||
|
# CHECK-NEXT: Type: SymDebugTable (0x24)
|
||
|
# CHECK-NEXT: Section: (0x1)
|
||
|
# CHECK-NEXT: RefType: UndefinedNonLazy (0x0)
|
||
|
# CHECK-NEXT: Flags [ (0x0)
|
||
|
# CHECK-NEXT: ]
|
||
|
# CHECK-NEXT: Value: 0x100000FA0
|
||
|
# CHECK-NEXT: }
|
||
|
# CHECK-NEXT: Symbol {
|
||
|
# CHECK-NEXT: Name: (1)
|
||
|
# CHECK-NEXT: Type: SymDebugTable (0x4E)
|
||
|
# CHECK-NEXT: Section: (0x1)
|
||
|
# CHECK-NEXT: RefType: UndefinedNonLazy (0x0)
|
||
|
# CHECK-NEXT: Flags [ (0x0)
|
||
|
# CHECK-NEXT: ]
|
||
|
# CHECK-NEXT: Value: 0xF
|
||
|
# CHECK-NEXT: }
|
||
|
# CHECK-NEXT: ]
|
||
|
|
||
|
--- !mach-o
|
||
|
FileHeader:
|
||
|
magic: 0xFEEDFACF
|
||
|
cputype: 0x01000007
|
||
|
cpusubtype: 0x00000003
|
||
|
filetype: 0x00000002
|
||
|
ncmds: 2
|
||
|
sizeofcmds: 744
|
||
|
flags: 0x00200085
|
||
|
reserved: 0x00000000
|
||
|
LoadCommands:
|
||
|
- cmd: LC_SEGMENT_64
|
||
|
cmdsize: 232
|
||
|
segname: __TEXT
|
||
|
vmaddr: 4294967296
|
||
|
vmsize: 4096
|
||
|
fileoff: 0
|
||
|
filesize: 4096
|
||
|
maxprot: 5
|
||
|
initprot: 5
|
||
|
nsects: 1
|
||
|
flags: 0
|
||
|
Sections:
|
||
|
- sectname: __text
|
||
|
segname: __TEXT
|
||
|
addr: 0x00000000
|
||
|
size: 0
|
||
|
offset: 0x00000000
|
||
|
align: 4
|
||
|
reloff: 0x00000000
|
||
|
nreloc: 0
|
||
|
flags: 0x80000400
|
||
|
reserved1: 0x00000000
|
||
|
reserved2: 0x00000000
|
||
|
reserved3: 0x00000000
|
||
|
- cmd: LC_SYMTAB
|
||
|
cmdsize: 24
|
||
|
symoff: 4152
|
||
|
nsyms: 5
|
||
|
stroff: 4328
|
||
|
strsize: 49
|
||
|
LinkEditData:
|
||
|
NameList:
|
||
|
- n_strx: 2
|
||
|
n_type: 0x64 ## N_SO
|
||
|
n_sect: 0
|
||
|
n_desc: 0
|
||
|
n_value: 0
|
||
|
- n_strx: 20
|
||
|
n_type: 0x66 ## N_OSO
|
||
|
n_sect: 3
|
||
|
n_desc: 1
|
||
|
n_value: 1601361378
|
||
|
- n_strx: 1
|
||
|
n_type: 0x2E ## N_BNSYM
|
||
|
n_sect: 1
|
||
|
n_desc: 0
|
||
|
n_value: 4294971296
|
||
|
- n_strx: 44
|
||
|
n_type: 0x24 ## N_FUN
|
||
|
n_sect: 1
|
||
|
n_desc: 0
|
||
|
n_value: 4294971296
|
||
|
- n_strx: 1
|
||
|
n_type: 0x4E ## N_ENSYM
|
||
|
n_sect: 1
|
||
|
n_desc: 0
|
||
|
n_value: 15
|
||
|
StringTable:
|
||
|
- ' '
|
||
|
- '/Volumes/Sandbox/'
|
||
|
- '/Volumes/Sandbox/test.o'
|
||
|
- _foo
|
||
|
...
|