82 lines · plain
1# REQUIRES: x862 3# RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t.o4# RUN: echo "{ foo; zed; };" > %t.list5# RUN: echo "{ global: foo; bar; local: *; };" > %t.vers6# RUN: ld.lld --hash-style=sysv -fatal-warnings -dynamic-list %t.list -version-script %t.vers -shared %t.o -o %t.so7# RUN: llvm-readobj -r %t.so | FileCheck --check-prefix=RELOCS %s8# RUN: llvm-readobj --dyn-syms %t.so | FileCheck --check-prefix=DYNSYMS %s9 10# RUN: echo "V1 { global: foo; bar; local: *; };" > %t.vers11# RUN: ld.lld --hash-style=sysv -fatal-warnings -dynamic-list %t.list -version-script %t.vers -shared %t.o -o %t.so12# RUN: llvm-readobj -r %t.so | FileCheck --check-prefix=RELOCS %s13# RUN: llvm-readobj --dyn-syms %t.so | FileCheck --check-prefix=DYNSYMS %s14 15# RELOCS: Relocations [16# RELOCS-NEXT: Section ({{.*}}) .rela.plt {17# RELOCS-NEXT: R_X86_64_JUMP_SLOT foo{{.*}} 0x018# RELOCS-NEXT: R_X86_64_JUMP_SLOT ext 0x019# RELOCS-NEXT: }20# RELOCS-NEXT: ]21 22# DYNSYMS: DynamicSymbols [23# DYNSYMS-NEXT: Symbol {24# DYNSYMS-NEXT: Name:25# DYNSYMS-NEXT: Value: 0x026# DYNSYMS-NEXT: Size: 027# DYNSYMS-NEXT: Binding: Local28# DYNSYMS-NEXT: Type: None29# DYNSYMS-NEXT: Other: 030# DYNSYMS-NEXT: Section: Undefined31# DYNSYMS-NEXT: }32# DYNSYMS-NEXT: Symbol {33# DYNSYMS-NEXT: Name: foo34# DYNSYMS-NEXT: Value:35# DYNSYMS-NEXT: Size:36# DYNSYMS-NEXT: Binding: Global37# DYNSYMS-NEXT: Type:38# DYNSYMS-NEXT: Other:39# DYNSYMS-NEXT: Section:40# DYNSYMS-NEXT: }41# DYNSYMS-NEXT: Symbol {42# DYNSYMS-NEXT: Name: bar43# DYNSYMS-NEXT: Value:44# DYNSYMS-NEXT: Size:45# DYNSYMS-NEXT: Binding: Global46# DYNSYMS-NEXT: Type:47# DYNSYMS-NEXT: Other:48# DYNSYMS-NEXT: Section:49# DYNSYMS-NEXT: }50# DYNSYMS-NEXT: Symbol {51# DYNSYMS-NEXT: Name: ext52# DYNSYMS-NEXT: Value:53# DYNSYMS-NEXT: Size:54# DYNSYMS-NEXT: Binding: Global55# DYNSYMS-NEXT: Type:56# DYNSYMS-NEXT: Other:57# DYNSYMS-NEXT: Section:58# DYNSYMS-NEXT: }59# DYNSYMS-NEXT: ]60 61 .globl foo62foo:63 ret64 65 .globl bar66bar:67 ret68 69 .globl baz70baz:71 ret72 73 .globl zed74zed:75 ret76 77 call foo@PLT78 call bar@PLT79 call baz@PLT80 call zed@PLT81 call ext@PLT82