Re: Build failures when building m68k:defconfig with gcc 8.3.0

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

 



Hi Günter,

(this time without the bogus "h" ;-)

On Fri, Mar 1, 2019 at 3:33 PM Guenter Roeck <linux@xxxxxxxxxxxx> wrote:
On 3/1/19 12:04 AM, Geert Uytterhoeven wrote:
On Thu, Feb 28, 2019 at 9:52 PM Guenter Roeck <linux@xxxxxxxxxxxx> wrote:
when trying to build m68k:defconfig with gcc-8.3.0 (built using buildall),
I get the following error.

m68k-linux-ld: drivers/rtc/rtc-proc.o: in function `is_rtc_hctosys.isra.0':
rtc-proc.c:(.text+0x2a0): undefined reference to `strcmp'

rtc-proc.c doesn't actually call strcmp(); it calls strncmp(),
but it looks like the compiler optimizes it away.

The same problem is also seen in a few other places when trying to build
m68k:allmodconfig. In each instance, the compiler replaces strncmp() with
strcmp(). I don't see the build failure with any other target, even though
the same optimization happens there as well.

Do you have an idea what is going on, and what I might have to do to fix
the problem (presumably in the toolchain) ?

A fix for this is queued in my for-v5.1 branch:
https://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k.git/commit/?h=for-v5.1&id=28713169d879b67be2ef2f84dcf54905de238294
("m68k: Add -ffreestanding to CFLAGS").

Hmm, yes, that should fix the problem. But why only strncmp, and why don't other

Also snprintf(), IIRC.

architectures suffer from the same problem ? I see that x86 uses a builtin,
but, for example, ppc with gcc 8.3.0 also generates a call to strcmp() but
doesn't suffer from the same problem.

PPC doesn't #define __HAVE_ARCH_STRCMP, and thus uses strcmp()
from lib/string.c, which includes an EXPORT_SYMBOL(strcmp).

An alternative solution is to add EXPORT_SYMBOL(strcmp) on m68k.

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds



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

  Powered by Linux