Re: proc.c:undefined reference to `strcmp'

From: Geert Uytterhoeven
Date: Tue Jan 22 2019 - 06:44:34 EST


On Tue, Jan 22, 2019 at 11:11 AM kbuild test robot <lkp@xxxxxxxxx> wrote:
> It's probably a bug fix that unveils the link errors.
>
> tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> head: 47bfa6d9dc8c060bf56554a465c9031e286d2f80
> commit: 35004f2e55807a1a1491db24ab512dd2f770a130 lib/genalloc.c: include vmalloc.h
> date: 2 weeks ago
> config: m68k-allmodconfig (attached as .config)
> compiler: m68k-linux-gnu-gcc (Debian 8.2.0-11) 8.2.0
> reproduce:
> wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
> chmod +x ~/bin/make.cross
> git checkout 35004f2e55807a1a1491db24ab512dd2f770a130
> # save the attached .config to linux build tree
> GCC_VERSION=8.2.0 make.cross ARCH=m68k
>
> All errors (new ones prefixed by >>):
>
> m68k-linux-gnu-ld: block/partitions/ldm.o: in function `ldm_partition':
> ldm.c:(.text+0x1900): undefined reference to `strcmp'
> m68k-linux-gnu-ld: ldm.c:(.text+0x1964): undefined reference to `strcmp'
> m68k-linux-gnu-ld: drivers/rtc/proc.o: in function `is_rtc_hctosys':
> >> proc.c:(.text+0x18c): undefined reference to `strcmp'
> m68k-linux-gnu-ld: drivers/watchdog/watchdog_pretimeout.o: in function `watchdog_register_governor':
> watchdog_pretimeout.c:(.text+0x142): undefined reference to `strcmp'
> m68k-linux-gnu-ld: drivers/devfreq/devfreq.o: in function `try_then_request_governor':
> devfreq.c:(.text+0x9c6): undefined reference to `strcmp'

I guess this bisection is a false positive. Have you just upgraded to gcc 8?
Gcc 8 replaces the strncmp() in is_rtc_hctosys() to strcmp().
Will be fixed in v5.1 by
https://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k.git/commit/?h=for-v5.1&id=28713169d879b67be2ef2f84dcf54905de238294

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