xref: /llvm-project/lld/test/ELF/lto/visibility.ll (revision bd448f01a62aacf95d671608dab1b2535c4d2cca)
1; REQUIRES: x86
2; RUN: llvm-as %s -o %t1.o
3; RUN: llvm-mc -triple=x86_64-pc-linux %p/Inputs/visibility.s -o %t2.o -filetype=obj
4; RUN: ld.lld %t1.o %t2.o -o %t.so -shared -save-temps
5; RUN: llvm-dis < %t.so.0.2.internalize.bc | FileCheck --check-prefix=IR %s
6; RUN: llvm-readobj --symbols %t.so | FileCheck %s
7
8; CHECK:      Name: a
9; CHECK-NEXT: Value:
10; CHECK-NEXT: Size: 0
11; CHECK-NEXT: Binding: Local
12; CHECK-NEXT: Type: None
13; CHECK-NEXT: Other [ (0x2)
14; CHECK-NEXT:   STV_HIDDEN
15; CHECK-NEXT: ]
16; CHECK-NEXT: Section: .data
17
18; CHECK:      Name: g
19; CHECK-NEXT: Value:
20; CHECK-NEXT: Size: 0
21; CHECK-NEXT: Binding: Local
22; CHECK-NEXT: Type: None
23; CHECK-NEXT: Other [ (0x2)
24; CHECK-NEXT:   STV_HIDDEN
25; CHECK-NEXT: ]
26; CHECK-NEXT: Section: .text
27
28target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
29target triple = "x86_64-unknown-linux-gnu"
30
31declare hidden void @g()
32; IR: declare hidden void @g()
33
34define void @f() {
35  call void @g()
36  ret void
37}
38@a = weak hidden global i32 42
39