2016-12-02 10:58:21 +08:00
|
|
|
// REQUIRES: x86
|
|
|
|
// RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t.o
|
|
|
|
// RUN: ld.lld %t.o %t.o -o %t.so -shared
|
|
|
|
// RUN: llvm-readobj --dyn-symbols %t.so | FileCheck %s
|
|
|
|
|
|
|
|
// CHECK: Name: foo
|
|
|
|
// CHECK-NEXT: Value: 0x123
|
|
|
|
|
|
|
|
.global foo
|
|
|
|
foo = 0x123
|
|
|
|
|
|
|
|
// RUN: echo ".global foo; foo = 0x124" > %t2.s
|
|
|
|
// RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %t2.s -o %t2.o
|
|
|
|
// RUN: not ld.lld %t.o %t2.o -o %t.so -shared 2>&1 | FileCheck --check-prefix=DUP %s
|
|
|
|
|
2017-04-01 07:40:21 +08:00
|
|
|
// DUP: duplicate symbol: foo
|
|
|
|
// DUP-NEXT: >>> defined in {{.*}}.o
|
2018-01-31 16:32:35 +08:00
|
|
|
// DUP-NEXT: >>> defined in {{.*}}2.o
|