Re: relocation truncated to fit

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

 



On Wed, May 25, 2005 at 08:39:10AM -0400, Kumba wrote:
> Date:	Wed, 25 May 2005 08:39:10 -0400
> From:	Kumba <kumba@xxxxxxxxxx>
> To:	Jerry <jerry@xxxxxxxxxxxxxxxxxxxxx>
> CC:	Ralf Baechle <ralf@xxxxxxxxxxxxxx>,
> 	linux-mips <linux-mips@xxxxxxxxxxxxxx>
> Subject: Re: relocation truncated to fit
> Content-Type:	text/plain; charset=UTF-8;
> 
> Ralf Baechle wrote:
> > On Wed, May 25, 2005 at 11:51:43AM +0300, Jerry wrote:
> > 
> > 
> >>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 <jh@xxxxxxx>
> 
> 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


[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux