Re: m68k: main.c:(.init.text+0x730): undefined reference to `strlen'

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

 



On Wed, May 14, 2008 at 07:48:01PM +0400, Cyrill Gorcunov wrote:
[Adrian Bunk - Wed, May 14, 2008 at 06:30:59PM +0300]
| On Wed, May 14, 2008 at 04:28:24PM +0200, Andreas Schwab wrote:
| > Adrian Bunk <bunk@xxxxxxxxxx> writes:
| > 
| > > Or replace all the strlen stuff in include/asm-m68k/string.h with a 
| > 
| > I don't think the strlen macros has any influence in this case (it
| > already uses __builtin_strlen anyway).
| 
| The problem is that it sets __HAVE_ARCH_STRLEN, and therefore the 
| out-of-line function in lib/string.c is not built.
| 
| That breaks when gcc replaces a call to a different function with a call 
| to strlen().
| 
| > I'd rather guess that gcc is
| > expanding strncat internally to something involving strlen with
| > non-constant argument,
| 
| We agree on this one.
| 
| > although I cannot see how that can happen from a
| > quick look.
| 
| It isn't the first time we have these problems in the kernel...
| 
| > Andreas.
| 
| cu
| Adrian

Adrian, I've just sent the updated patch, and accidentally forget
to CC you - please take a look on http://lkml.org/lkml/2008/5/14/267

It removes the strncat() calls and should therefore remove the current 
compile error.

But the underlying problem that actually causes the compile error is not 
fixed and might occur again in other places (but that's nothing you 
have to worry about).

		- Cyrill -

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed

--
To unsubscribe from this list: send the line "unsubscribe linux-m68k" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Video for Linux]     [Yosemite News]     [Linux S/390]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux