75 lines · plain
1# REQUIRES: x862 3# RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t.o4# RUN: echo '{ \5# RUN: global: \6# RUN: _Z3bari; \7# RUN: extern "C++" { \8# RUN: "foo(int)"; \9# RUN: z*; \10# RUN: std::q*; \11# RUN: }; \12# RUN: local: *; \13# RUN: }; ' > %t.script14# RUN: ld.lld --version-script %t.script -shared %t.o -o %t.so15# RUN: llvm-readobj --dyn-syms %t.so | FileCheck %s16 17# CHECK: DynamicSymbols [18# CHECK-NEXT: Symbol {19# CHECK-NEXT: Name:20# CHECK-NEXT: Value:21# CHECK-NEXT: Size:22# CHECK-NEXT: Binding: Local23# CHECK-NEXT: Type:24# CHECK-NEXT: Other:25# CHECK-NEXT: Section:26# CHECK-NEXT: }27# CHECK-NEXT: Symbol {28# CHECK-NEXT: Name: _Z3bari29# CHECK-NEXT: Value:30# CHECK-NEXT: Size:31# CHECK-NEXT: Binding: Global32# CHECK-NEXT: Type:33# CHECK-NEXT: Other:34# CHECK-NEXT: Section:35# CHECK-NEXT: }36# CHECK-NEXT: Symbol {37# CHECK-NEXT: Name: _Z3fooi38# CHECK-NEXT: Value:39# CHECK-NEXT: Size:40# CHECK-NEXT: Binding: Global41# CHECK-NEXT: Type:42# CHECK-NEXT: Other:43# CHECK-NEXT: Section:44# CHECK-NEXT: }45# CHECK-NEXT: Symbol {46# CHECK-NEXT: Name: _Z3zedi47# CHECK-NEXT: Value:48# CHECK-NEXT: Size:49# CHECK-NEXT: Binding: Global50# CHECK-NEXT: Type:51# CHECK-NEXT: Other:52# CHECK-NEXT: Section:53# CHECK-NEXT: }54# CHECK-NEXT: Symbol {55# CHECK-NEXT: Name: _ZSt3qux56# CHECK-NEXT: Value:57# CHECK-NEXT: Size:58# CHECK-NEXT: Binding: Global59# CHECK-NEXT: Type:60# CHECK-NEXT: Other:61# CHECK-NEXT: Section:62# CHECK-NEXT: }63# CHECK-NEXT: ]64 65.global _Z3bari66_Z3bari:67.global _Z3bazi68_Z3bazi:69.global _Z3fooi70_Z3fooi:71.global _Z3zedi72_Z3zedi:73.global _ZSt3qux74_ZSt3qux:75