Robert P. J. Day wrote:
>
> i'm hoping i'm not abusing this list overly by asking for some help
> with debugging an OpenWRT issue. the trac ticket is here:
>
> https://dev.openwrt.org/ticket/2735
>
> and involves cross-compiling an image for the MIPS-based linksys
> WRT54GL router. i've verified that this error still exists in the
> latest svn update of openwrt and, in a nutshell, it involves the claim
> that "__builtin_ffs" is undefined:
>
> ...
> CC [M]
> /home/openwrt/builds/trunk_brcm47xx/build_dir/linux-brcm47xx/spca5xx-le/spca_core.o
> /home/openwrt/builds/trunk_brcm47xx/build_dir/linux-brcm47xx/spca5xx-le/spca_core.c:538:5:
> warning: "__builtin_ffs" is not defined
> /home/openwrt/builds/trunk_brcm47xx/build_dir/linux-brcm47xx/spca5xx-le/spca_core.c:538:5:
> error: missing binary operator before token "("
> ...
>
> that line in the source file is simply:
>
> #if PUD_SHIFT
>
> i have no idea what the problem is here and, as you can see from the
> trac ticket, this seems to have started because of the kernel version
> upgrade from 2.6.22 to 2.6.23. but what about that would affect the
> usage of __builtin_ffs?
>
> does anyone have an idea why something this basic might be going
> wrong now? any suggestions appreciated. thanks.
The compiler should never attempt to use __builtin_ffs by itself, because
the kernel makefile adds -ffreestanding to CFLAGS. So either your compiler
is broken, or the makefile of your kernel tree is incorrect, or somewhere
in your kernel tree there's a explicit call to __builtin_ffs (which is
also incorrect, as the compiler may invoke library functions to implement
it.)
Thiemo
|