Bug 45387 - [4.4 regression] mips: non-dynamic relocations refer to dynamc symbol
Summary: [4.4 regression] mips: non-dynamic relocations refer to dynamc symbol
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: debug (show other bugs)
Version: 4.4.4
: P3 normal
Target Milestone: 4.5.0
Assignee: Not yet assigned to anyone
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-08-23 18:14 UTC by Aurelien Jarno
Modified: 2012-03-13 13:20 UTC (History)
2 users (show)

See Also:
Host: mips-linux-gnu
Target: mips-linux-gnu
Build: mips-linux-gnu
Known to work: 4.3.5, 4.5.1
Known to fail: 4.4.4
Last reconfirmed:


Attachments
Testcase (459 bytes, application/x-compressed-tar)
2010-08-23 18:15 UTC, Aurelien Jarno
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Aurelien Jarno 2010-08-23 18:14:24 UTC
In some conditions on mips/mipsel, when compiling with -g, ld fails to link the resulting objects (see attached testcase):

| gcc -O2 -g -fPIC -shared -o libb.so yb.c
| gcc -O2 -g -o ya.o -c ya.c
| gcc -O2 -g -o y ya.o -L. -lb
| /usr/bin/ld: non-dynamic relocations refer to dynamic symbol xxprogname
| /usr/bin/ld: failed to set dynamic section sizes: Bad value
| collect2: ld returned 1 exit status

This bug is a regression from the gcc 4.3 branch, and is already fixed in the 4.5 branch by the following patch:

| http://gcc.gnu.org/ml/gcc-patches/2009-09/msg02070.html

Unfortunately this patch is not trivial to backport, that's why I am opening this bug.
Comment 1 Aurelien Jarno 2010-08-23 18:15:11 UTC
Created attachment 21550 [details]
Testcase
Comment 2 Jakub Jelinek 2012-03-13 13:20:46 UTC
Fixed in 4.5+, 4.4 is no longer supported.