Previously, undefined symbol errors are one line like this and wasn't easy to read. /ssd/clang/bin/ld.lld: error: /ssd/llvm-project/lld/ELF/Writer.cpp:207: undefined symbol 'lld::elf::EhFrameSection<llvm::object::ELFType<(llvm::support::endianness)0, true> >::addSection(lld::elf::InputSectionBase*)' This patch make it more structured like this. bin/ld.lld: error: undefined symbol: lld::elf::EhFrameSection<llvm::object::ELFType<(llvm::support::endianness)0, true> >>> Referenced by Writer.cpp:207 (/ssd/llvm-project/lld/ELF/Writer.cpp:207) >>> Writer.cpp.o in archive lib/liblldELF.a Discussion thread: http://lists.llvm.org/pipermail/llvm-dev/2017-March/111459.html Differential Revision: https://reviews.llvm.org/D31481 llvm-svn: 299097
23 lines
572 B
ArmAsm
23 lines
572 B
ArmAsm
# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t.o
|
|
# RUN: not ld.lld %t.o -o %t.so -shared 2>&1 | FileCheck %s
|
|
|
|
# CHECK: error: undefined symbol: hidden
|
|
# CHECK: >>> referenced by {{.*}}:(.data+0x0)
|
|
.global hidden
|
|
.hidden hidden
|
|
|
|
# CHECK: error: undefined symbol: internal
|
|
# CHECK: >>> referenced by {{.*}}:(.data+0x8)
|
|
.global internal
|
|
.internal internal
|
|
|
|
# CHECK: error: undefined symbol: protected
|
|
# CHECK: >>> referenced by {{.*}}:(.data+0x10)
|
|
.global protected
|
|
.protected protected
|
|
|
|
.section .data, "a"
|
|
.quad hidden
|
|
.quad internal
|
|
.quad protected
|