[U-Boot-Users] Build error on strcmp()

Shinya Kuribayashi shinya.kuribayashi at necel.com
Tue Aug 14 13:29:18 CEST 2007


> commit 8092fef4c29b395958bb649647da7e3775731517
> Author: Martin Krause <Martin.Krause at tqs.de>
> Date:   Tue Dec 12 14:26:01 2006 +0100
> 
>     Add functions to list of exported functions
> 
>     Additionally export the following fuctions (to make trab_config build again):
>     - simple_strtol()
>     - strcmp()
> 
>     Also bump the ABI version to reflect this change
> 
>     Signed-off-by: Martin Krause <martin.krause at tqs.de>

This breaks my MIPS build:

common/libcommon.a(exports.o)(.text+0xdc): In function `jumptable_init':
/home/skuribay/bootloader/u-boot/u-boot.git/common/exports.c:32: undefined reference to `strcmp'
make: *** [u-boot] Error 1

We MIPS have arch-specific strcmp defined in <asm/string.h>.
Since strcmp is inlined, we couldn't refer them by function pointer.
The nm of lib_generic/string.o is like this:

             U _gp_disp
             U malloc
    00000610 T memchr
    00000520 T memcmp
    00000474 T memcpy
    000004a4 T memmove
    00000448 T memset
    00000000 T strcat
    00000084 T strchr
    00000198 T strdup
    000000c0 T strlen
    00000038 T strncat
    0000015c T strnlen
    00000270 T strpbrk
    000000e4 T strrchr
    00000380 T strsep
    00000210 T strspn
    00000550 T strstr
    000003ec T strswab
    000002c0 T strtok
    00000004 C ___strtok

I think all architectures which have __HAVE_ARCH_STRCMP defined will
encounter this error. What is the proper workaround?


Thanks,

    Shinya Kuribayashi




More information about the U-Boot mailing list