Re: [kbuild-all] proc.c:undefined reference to `strcmp'

From: Rong Chen
Date: Thu Jan 24 2019 - 04:55:23 EST



On 1/22/19 7:44 PM, Geert Uytterhoeven wrote:
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?

yes, we upgraded to gcc 8 recently.


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

Thanks for your explanation. we'll blacklist it.

Best Regards,
Rong Chen



Gr{oetje,eeting}s,

Geert