67 lines · plain
1# REQUIRES: x86-registered-target2 3## Show that llvm-objcopy copies the indirect symbol table properly.4# RUN: llvm-mc -assemble -triple x86_64-apple-darwin9 -filetype=obj %s -o %t5# RUN: llvm-objcopy %t %t.copy6# RUN: llvm-readobj --symbols --macho-indirect-symbols %t.copy \7# RUN: | FileCheck %s8 9# __DATA,__nl_symbol_ptr10.non_lazy_symbol_pointer11bar:12 .long 013baz:14 .long 015 16.indirect_symbol bar17 18# __DATA,__la_symbol_ptr19.lazy_symbol_pointer20foo:21 .long 022 23.indirect_symbol foo24 25# CHECK: Symbols [26# CHECK-NEXT: Symbol {27# CHECK-NEXT: Name: bar (5)28# CHECK-NEXT: Type: Section (0xE)29# CHECK-NEXT: Section: __nl_symbol_ptr (0x2)30# CHECK-NEXT: RefType: UndefinedNonLazy (0x0)31# CHECK-NEXT: Flags [ (0x0)32# CHECK-NEXT: ]33# CHECK-NEXT: Value: 0x034# CHECK-NEXT: }35# CHECK-NEXT: Symbol {36# CHECK-NEXT: Name: baz (1)37# CHECK-NEXT: Type: Section (0xE)38# CHECK-NEXT: Section: __nl_symbol_ptr (0x2)39# CHECK-NEXT: RefType: UndefinedNonLazy (0x0)40# CHECK-NEXT: Flags [ (0x0)41# CHECK-NEXT: ]42# CHECK-NEXT: Value: 0x443# CHECK-NEXT: }44# CHECK-NEXT: Symbol {45# CHECK-NEXT: Name: foo (9)46# CHECK-NEXT: Type: Section (0xE)47# CHECK-NEXT: Section: __la_symbol_ptr (0x3)48# CHECK-NEXT: RefType: UndefinedNonLazy (0x0)49# CHECK-NEXT: Flags [ (0x0)50# CHECK-NEXT: ]51# CHECK-NEXT: Value: 0x852# CHECK-NEXT: }53# CHECK-NEXT: ]54# CHECK-NEXT: Indirect Symbols {55# CHECK-NEXT: Number: 256# CHECK-NEXT: Symbols [57# CHECK-NEXT: Entry {58# CHECK-NEXT: Entry Index: 059# CHECK-NEXT: Symbol Index: 0x8000000060# CHECK-NEXT: }61# CHECK-NEXT: Entry {62# CHECK-NEXT: Entry Index: 163# CHECK-NEXT: Symbol Index: 0x264# CHECK-NEXT: }65# CHECK-NEXT: ]66# CHECK-NEXT: }67