Rather than report "undefined symbol: ", give more informative message about the object file that defines the discarded section. In particular, PR41133, if the section is a discarded COMDAT, print the section group signature and the object file with the prevailing definition. This is useful to track down some ODR issues. We need to * add `uint32_t DiscardedSecIdx` to Undefined for this feature. * make ComdatGroups public and change its type to DenseMap<CachedHashStringRef, const InputFile *> Reviewed By: ruiu Differential Revision: https://reviews.llvm.org/D59649 llvm-svn: 361359
15 lines
428 B
ArmAsm
15 lines
428 B
ArmAsm
# REQUIRES: x86
|
|
# RUN: llvm-mc -filetype=obj -triple=x86_64 %s -o %t.o
|
|
# RUN: echo '.section .foo,"ae"; .weak foo; foo:' | \
|
|
# RUN: llvm-mc -filetype=obj -triple=x86_64 - -o %t1.o
|
|
# RUN: not ld.lld %t.o %t1.o -o /dev/null 2>&1 | FileCheck %s
|
|
|
|
# Because foo defined in %t1.o is weak, it does not override global undefined
|
|
# in %t.o
|
|
# CHECK-NOT: discarded section
|
|
# CHECK: undefined symbol: foo
|
|
|
|
.globl _start
|
|
_start:
|
|
jmp foo
|