diff options
-rw-r--r-- | lld/ELF/Relocations.cpp | 4 | ||||
-rw-r--r-- | lld/test/ELF/copy-errors.s | 9 |
2 files changed, 9 insertions, 4 deletions
diff --git a/lld/ELF/Relocations.cpp b/lld/ELF/Relocations.cpp index 15403c9c442..4fcec81bce6 100644 --- a/lld/ELF/Relocations.cpp +++ b/lld/ELF/Relocations.cpp @@ -640,8 +640,8 @@ static RelExpr adjustExpr(Symbol &Sym, RelExpr Expr, RelType Type, if (Sym.isFunc()) return getPltExpr(Sym, Expr, IsConstant); - errorOrWarn("symbol '" + toString(Sym) + "' defined in " + - toString(Sym.File) + " has no type"); + errorOrWarn("symbol '" + toString(Sym) + "' has no type" + + getLocation(S, Sym, RelOff)); return Expr; } diff --git a/lld/test/ELF/copy-errors.s b/lld/test/ELF/copy-errors.s index 0af4638120d..99e6fc09214 100644 --- a/lld/test/ELF/copy-errors.s +++ b/lld/test/ELF/copy-errors.s @@ -7,10 +7,15 @@ // CHECK: cannot preempt symbol: bar // CHECK: >>> defined in {{.*}}.so // CHECK: >>> referenced by {{.*}}.o:(.text+0x1) -// CHECK: symbol 'zed' defined in {{.*}}.so has no type + +// CHECK: error: symbol 'zed' has no type +// CHECK-NEXT: >>> defined in {{.*}}.so +// CHECK-NEXT: >>> referenced by {{.*}}.o:(.text+0x6) // RUN: not ld.lld --noinhibit-exec %t.o %t2.so -o %t 2>&1 | FileCheck %s --check-prefix=NOINHIBIT -// NOINHIBIT: warning: symbol 'zed' defined in {{.*}}.so has no type +// NOINHIBIT: warning: symbol 'zed' has no type +// NOINHIBIT-NEXT: >>> defined in {{.*}}.so +// NOINHIBIT-NEXT: >>> referenced by {{.*}}.o:(.text+0x6) .global _start _start: |