https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113182

--- Comment #5 from John David Anglin <danglin at gcc dot gnu.org> ---
The problem is TREE_SYMBOL_REFERENCED is not set for libfuncs.  This fixes
problem on hppa64-hpux:

bash-5.1$ git diff gcc/varasm.cc
diff --git a/gcc/varasm.cc b/gcc/varasm.cc
index 69f8f8ee018..0a1cc022023 100644
--- a/gcc/varasm.cc
+++ b/gcc/varasm.cc
@@ -2527,9 +2527,7 @@ process_pending_assemble_externals (void)
   for (rtx list = pending_libcall_symbols; list; list = XEXP (list, 1))
     {
       rtx symbol = XEXP (list, 0);
-      tree id = get_identifier (XSTR (symbol, 0));
-      if (TREE_SYMBOL_REFERENCED (id))
-       targetm.asm_out.external_libcall (symbol);
+      targetm.asm_out.external_libcall (symbol);
     }

   pending_assemble_externals = 0;

If you don't care about libfuncs, you could move the TREE_SYMBOL_REFERENCED
check into the bpf target.

Reply via email to