On 2019/8/13 10:22, luoxhu wrote:
diff --git a/gcc/testsuite/gcc.dg/pr91287.c b/gcc/testsuite/gcc.dg/pr91287.c
new file mode 100644
index 00000000000..c816e0537aa
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/pr91287.c
@@ -0,0 +1,40 @@
+/* { dg-do assemble } */
+/* { dg-options "-O2" } */

You don't use -flto here so the testcase doesn't exercise any of the patched
code.  Does it work when you add -flto here?  That is, do
scan-symbol[-not] properly use gcc-nm or the linker plugin?

-flto is needed here to check this patch correctness, my mistake here, thanks for catching.  atan2 will exists in pr91287.o even without lto as
pr91287.o has the instruction "bl atan2".
After adding -flto the case also works as symbol is written to pr91287.o.
PS: update other changes in patch attached.

What's more, this test case depends on this patch https://www.sourceware.org/ml/binutils/2019-08/msg00113.html.
otherwise nm will report error (use plugin or local gcc-nm is OK):

PASS: gcc.dg/pr91287.c (test for excess errors)
ERROR: gcc.dg/pr91287.c: error executing dg-final: /usr/bin/nm: pr91287.o: plugin needed to handle lto object UNRESOLVED: gcc.dg/pr91287.c: error executing dg-final: /usr/bin/nm: pr91287.o: plugin needed to handle lto object

Xionghu

Reply via email to