Note, we still name a preempted SharedSymbol "shared definition",
instead of "reference" as printed by GNU ld. This difference should not matter.
```
// GNU ld
ld.bfd: t: definition of f@v1
ld.bfd: t.so: reference to f@v1
```
Reviewed By: psmith
Differential Revision: https://reviews.llvm.org/D80143
uint8_t bind = binding;
replace(other);
binding = bind;
- }
+ } else if (traced)
+ printTraceSymbol(&other);
}
# RUN: rm -f %t2.a
# RUN: llvm-ar rcs %t2.a %t2
+# RUN: ld.lld -y foo -shared %t1 %t1.so -o /dev/null | \
+# RUN: FileCheck --check-prefix=PREEMPT %s --implicit-check-not=foo
+# PREEMPT: trace-symbols.s.tmp1: definition of foo
+# PREEMPT-NEXT: trace-symbols.s.tmp1.so: shared definition of foo
+
# RUN: ld.lld -y foo -trace-symbol common -trace-symbol=hsymbol \
# RUN: %t %t1 %t2 -o %t3 | FileCheck -check-prefix=OBJECTRFOO %s
# OBJECTRFOO: trace-symbols.s.tmp: reference to foo