Thread (4 messages) 4 messages, 3 authors, 2005-05-25

Re: relocation truncated to fit

From: Ralf Baechle <hidden>
Date: 2005-05-25 13:08:41

On Wed, May 25, 2005 at 08:39:10AM -0400, Kumba wrote:
Date:	Wed, 25 May 2005 08:39:10 -0400
From:	Kumba <redacted>
To:	Jerry <redacted>
CC:	Ralf Baechle <redacted>,
	linux-mips [off-list ref]
Subject: Re: relocation truncated to fit
Content-Type:	text/plain; charset=UTF-8;

Ralf Baechle wrote:
quoted
On Wed, May 25, 2005 at 11:51:43AM +0300, Jerry wrote:

quoted
drivers/sound/sounddrivers.o: In function `sound_insert_unit':
sound_core.c:(.text+0x1ac): undefined reference to `strcpy'
sound_core.c:(.text+0x1ac): relocation truncated to fit: R_MIPS_26 against `strcpy'
make[1]: *** [vmlinux] Ошибка 1
make[1]: Leaving directory `/work/video/kernel'
make: *** [vmlinux] Ошибка 2

It's not a "sound drivers" problem, howewer without it kernel compiles
and run succesfully. Seems like gcc/bunitils bug/feature. What have to
be done to eliminate this error?

GNU ld version 2.15.96 20050308
gcc version 3.4.3

Don't use gcc 3.4 to compile Linux 2.4.  It may work for some kernel
configurations but it will fail for others.

  Ralf
I would've thought this was fixed in 2.4.x now.  You might try using newer 
sources.  The below patch fixes the issue:

http://dev.gentoo.org/~kumba/tmp/gcc-strcpy-fix.patch


As the original patch I found stated about gcc-3.4.x:

From: Jan Hubicka <redacted>

GCC now converts sprintf (a,"%s",b) to strcpy.  This lose on kernel as
strcpy is not inlined and not present in library, so one gets linker
failure.  It seems to make sense to apply this optimization by hand.
That fixes just the tip of the iceberg.  You want to rebuild with
-ffreestanding which 2.6 already does.  With that applied still some
2.4 kernel configurations will run into a bunch of other gcc 3.4-related
bug and not last loads of warnings.

  Ralf
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help