brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.6 KiB · 722d29f Raw
90 lines · plain
1# REQUIRES: x86-registered-target2 3# RUN: llvm-mc -filetype=obj -triple=x86_64-apple-macos %s -o %t4 5# RUN: llvm-objcopy -W _func %t %t26# RUN: llvm-readobj --symbols %t2 | FileCheck %s -check-prefix=CHECK-17 8# CHECK-1:      Symbol {9# CHECK-1-NEXT:   Name: _foo (1)10# CHECK-1-NEXT:   Extern11# CHECK-1-NEXT:   Type: Section (0xE)12# CHECK-1-NEXT:   Section: __const (0x2)13# CHECK-1-NEXT:   RefType: UndefinedNonLazy (0x0)14# CHECK-1-NEXT:   Flags [ (0x0)15# CHECK-1-NEXT:   ]16# CHECK-1-NEXT:   Value: 0x017# CHECK-1-NEXT: }18# CHECK-1-NEXT: Symbol {19# CHECK-1-NEXT:   Name: _func (6)20# CHECK-1-NEXT:   Extern21# CHECK-1-NEXT:   Type: Section (0xE)22# CHECK-1-NEXT:   Section: __text (0x1)23# CHECK-1-NEXT:   RefType: UndefinedNonLazy (0x0)24# CHECK-1-NEXT:   Flags [ (0x80)25# CHECK-1-NEXT:     WeakDef (0x80)26# CHECK-1-NEXT:   ]27# CHECK-1-NEXT:   Value: 0x028# CHECK-1-NEXT: }29 30# RUN: echo _foo > %t.weaken.txt31# RUN: echo _func >> %t.weaken.txt32# RUN: llvm-objcopy --weaken-symbols %t.weaken.txt %t %t333# RUN: llvm-readobj --symbols %t3 | FileCheck %s -check-prefix=CHECK-234 35# CHECK-2:      Symbol {36# CHECK-2-NEXT:   Name: _foo (1)37# CHECK-2-NEXT:   Extern38# CHECK-2-NEXT:   Type: Section (0xE)39# CHECK-2-NEXT:   Section: __const (0x2)40# CHECK-2-NEXT:   RefType: UndefinedNonLazy (0x0)41# CHECK-2-NEXT:   Flags [ (0x80)42# CHECK-2-NEXT:     WeakDef (0x80)43# CHECK-2-NEXT:   ]44# CHECK-2-NEXT:   Value: 0x045# CHECK-2-NEXT: }46# CHECK-2-NEXT: Symbol {47# CHECK-2-NEXT:   Name: _func (6)48# CHECK-2-NEXT:   Extern49# CHECK-2-NEXT:   Type: Section (0xE)50# CHECK-2-NEXT:   Section: __text (0x1)51# CHECK-2-NEXT:   RefType: UndefinedNonLazy (0x0)52# CHECK-2-NEXT:   Flags [ (0x80)53# CHECK-2-NEXT:     WeakDef (0x80)54# CHECK-2-NEXT:   ]55# CHECK-2-NEXT:   Value: 0x056# CHECK-2-NEXT: }57 58## Verify --weaken-symbol plays nice with --redefine-sym.59# RUN: llvm-objcopy -W _foo --redefine-sym _foo=_bar %t %t460# RUN: llvm-readobj --symbols %t4 | FileCheck %s -check-prefix=CHECK-361 62# CHECK-3:      Symbol {63# CHECK-3-NEXT:   Name: _bar (1)64# CHECK-3-NEXT:   Extern65# CHECK-3-NEXT:   Type: Section (0xE)66# CHECK-3-NEXT:   Section: __const (0x2)67# CHECK-3-NEXT:   RefType: UndefinedNonLazy (0x0)68# CHECK-3-NEXT:   Flags [ (0x80)69# CHECK-3-NEXT:     WeakDef (0x80)70# CHECK-3-NEXT:   ]71# CHECK-3-NEXT:   Value: 0x072# CHECK-3-NEXT: }73# CHECK-3-NEXT: Symbol {74# CHECK-3-NEXT:   Name: _func (6)75# CHECK-3-NEXT:   Extern76# CHECK-3-NEXT:   Type: Section (0xE)77# CHECK-3-NEXT:   Section: __text (0x1)78# CHECK-3-NEXT:   RefType: UndefinedNonLazy (0x0)79# CHECK-3-NEXT:   Flags [ (0x0)80# CHECK-3-NEXT:   ]81# CHECK-3-NEXT:   Value: 0x082# CHECK-3-NEXT: }83 84.globl _func85_func:86 87.section __TEXT,__const88.globl _foo89_foo:90