[Bug target/38448] New: referenced external symbol not marked weak for ppc64
janis at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Mon Dec 8 19:23:00 GMT 2008
Tests weak-1.c and weak-16.c from gcc.dg/weak fail on
powerpc64-unknown-linux-gnu with -m64. A small test case from the last check
in weak-1.c is:
#pragma weak weakvar
extern int weakvar;
int use_it () { return weakvar; }
That check has failed since r139233, when it started failing for both -m32 and
-m64. The check started passing again for -m32 with r140539, but continues to
fail for -m64.
A referenced external weak symbol used to be added to the weak_decls list in a
call to declare_weak, but now is added to that list from assemble_external.
For -m64 there is no call to assemble_external for this weak reference. The
fix in r140539 has special handling for Darwin, so perhaps similar special
handling is needed for GNU/Linux, or perhaps the rs6000 backend needs to call
mark_symbol_refs_as_used as is done for sh, arm, and s390; I haven't figured
out where that would be.
Test weak-16.c was added in r140540 for the fix in r140539 for PR 37280.
--
Summary: referenced external symbol not marked weak for ppc64
Product: gcc
Version: 4.4.0
Status: UNCONFIRMED
Keywords: wrong-code
Severity: normal
Priority: P3
Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: janis at gcc dot gnu dot org
GCC target triplet: powerpc64-unknown-linux-gnu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38448
More information about the Gcc-bugs
mailing list