The ELF spec says: all of the non-default visibility attributes, when applied to a symbol reference, imply that a definition to satisfy that reference must be provided within the current executable or shared object. But we were trying to resolve those undef references to shared symbols. That causes odd results like creating a got entry with a relocation pointing to 0. llvm-svn: 299464
19 lines
461 B
ArmAsm
19 lines
461 B
ArmAsm
// REQUIRES: x86
|
|
|
|
// RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t.o
|
|
// RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %p/Inputs/shared.s -o %t2.o
|
|
// RUN: ld.lld -shared %t2.o -o %t2.so
|
|
// RUN: ld.lld %t.o %t2.so -o %t
|
|
// RUN: llvm-readobj -r %t | FileCheck %s
|
|
// RUN: ld.lld %t2.so %t.o -o %t
|
|
// RUN: llvm-readobj -r %t | FileCheck %s
|
|
|
|
// CHECK: Relocations [
|
|
// CHECK-NEXT: ]
|
|
|
|
.global _start
|
|
_start:
|
|
callq bar
|
|
.hidden bar
|
|
.weak bar
|