[lld] r281698 - Demangle symbols in "undefined symbol" error message.
Rui Ueyama via llvm-commits
llvm-commits at lists.llvm.org
Thu Sep 15 20:52:46 PDT 2016
Author: ruiu
Date: Thu Sep 15 22:52:45 2016
New Revision: 281698
URL: http://llvm.org/viewvc/llvm-project?rev=281698&view=rev
Log:
Demangle symbols in "undefined symbol" error message.
Modified:
lld/trunk/ELF/Writer.cpp
lld/trunk/test/ELF/undef.s
Modified: lld/trunk/ELF/Writer.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/Writer.cpp?rev=281698&r1=281697&r2=281698&view=diff
==============================================================================
--- lld/trunk/ELF/Writer.cpp (original)
+++ lld/trunk/ELF/Writer.cpp Thu Sep 15 22:52:45 2016
@@ -307,7 +307,9 @@ template <class ELFT> static void report
Config->UnresolvedSymbols != UnresolvedPolicy::NoUndef)
return;
- std::string Msg = "undefined symbol: " + Sym->getName().str();
+ std::string Msg = "undefined symbol: ";
+ Msg += Config->Demangle ? demangle(Sym->getName()) : Sym->getName().str();
+
if (Sym->File)
Msg += " in " + getFilename(Sym->File);
if (Config->UnresolvedSymbols == UnresolvedPolicy::Warn)
Modified: lld/trunk/test/ELF/undef.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/undef.s?rev=281698&r1=281697&r2=281698&view=diff
==============================================================================
--- lld/trunk/test/ELF/undef.s (original)
+++ lld/trunk/test/ELF/undef.s Thu Sep 15 22:52:45 2016
@@ -4,12 +4,18 @@
# RUN: llvm-ar rc %t2.a %t2.o
# RUN: not ld.lld %t.o %t2.a -o %t.exe 2>&1 | FileCheck %s
# RUN: not ld.lld -pie %t.o %t2.a -o %t.exe 2>&1 | FileCheck %s
-# CHECK: undefined symbol: bar in {{.*}}
-# CHECK: undefined symbol: foo in {{.*}}
+# CHECK: undefined symbol: foo(int) in
+# CHECK: undefined symbol: bar in
+# CHECK: undefined symbol: foo in
# CHECK: undefined symbol: zed2 in {{.*}}2.a({{.*}}.o)
+# RUN: not ld.lld %t.o %t2.a -o %t.exe -no-demangle 2>&1 | \
+# RUN: FileCheck -check-prefix=NO-DEMANGLE %s
+# NO-DEMANGLE: undefined symbol: _Z3fooi in
+
.globl _start
_start:
call foo
call bar
call zed1
+ call _Z3fooi
More information about the llvm-commits
mailing list