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

From: Adrian Bunk
Date: Wed May 14 2008 - 11:57:59 EST


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-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/