[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: ld: non-dynamic relocations refer to dynamic symbol



On Sat, May 30, 2009 at 2:41 AM, Luk Claes <luk@debian.org> wrote:
There appears to be a mips specific bug in binutils which make some packages fail to build when linking. More details can be found in debian bug #519006 [0] and binutils upstream bug #10144 [1].

I have seen this error when -fPIC is accidentally omitted from CFLAGS when building shared libraries.

Older versions of MIPS gcc used to implicitly generate PIC code for pretty much all Linux executables and libraries, so if you forgot to add -fPIC it usually worked anyway.  But with the addition of PLT support this is no longer the case.  MIPS gcc now defaults to non-PIC code, which is more efficient and easier to read in the disassembly.  The downside is that all of the old broken Makefiles need to be fixed.

Reply to: