I was trying to compile something with -static for the raspberry pi using the standard 14.07 toolchain for brcm2708 (raspberry pi):
gt@oden:~/tmp/test-brcm2708$ arm-openwrt-linux-uclibcgnueabi-gcc -o test.rpi.static test.c -static
/home/gt/openwrt/toolchains/std-14.07-brcm2708/bin/../lib/gcc/arm-openwrt-linux-uclibcgnueabi/4.8.3/../../../../arm-openwrt-linux-uclibcgnueabi/lib/libc.a(close.os):(.ARM.exidx+0x0): undefined reference to `__aeabi_unwind_cpp_pr0'
/home/gt/openwrt/toolchains/std-14.07-brcm2708/bin/../lib/gcc/arm-openwrt-linux-uclibcgnueabi/4.8.3/../../../../arm-openwrt-linux-uclibcgnueabi/lib/libc.a(write.os):(.ARM.exidx+0x0): undefined reference to `__aeabi_unwind_cpp_pr0'
/home/gt/openwrt/toolchains/std-14.07-brcm2708/bin/../lib/gcc/arm-openwrt-linux-uclibcgnueabi/4.8.3/../../../../arm-openwrt-linux-uclibcgnueabi/lib/libc.a(read.os):(.ARM.exidx+0x0): undefined reference to `__aeabi_unwind_cpp_pr0'
/home/gt/openwrt/toolchains/std-14.07-brcm2708/bin/../lib/gcc/arm-openwrt-linux-uclibcgnueabi/4.8.3/../../../../arm-openwrt-linux-uclibcgnueabi/lib/libc.a(libc-cancellation.os):(.ARM.exidx.text.__libc_enable_asynccancel+0x0): undefined reference to `__aeabi_unwind_cpp_pr1'
/home/gt/openwrt/toolchains/std-14.07-brcm2708/bin/../lib/gcc/arm-openwrt-linux-uclibcgnueabi/4.8.3/../../../../arm-openwrt-linux-uclibcgnueabi/lib/libc.a(libc-cancellation.os):(.ARM.exidx.text.__libc_disable_asynccancel+0x0): undefined reference to `__aeabi_unwind_cpp_pr0'
/home/gt/openwrt/toolchains/std-14.07-brcm2708/bin/../lib/gcc/arm-openwrt-linux-uclibcgnueabi/4.8.3/../../../../arm-openwrt-linux-uclibcgnueabi/lib/libc.a(sigrestorer.os):(.ARM.exidx+0x0): undefined reference to `__aeabi_unwind_cpp_pr1'
/home/gt/openwrt/toolchains/std-14.07-brcm2708/bin/../lib/gcc/arm-openwrt-linux-uclibcgnueabi/4.8.3/../../../../arm-openwrt-linux-uclibcgnueabi/lib/libc.a(open.os):(.ARM.exidx+0x0): undefined reference to `__aeabi_unwind_cpp_pr0'
collect2: error: ld returned 1 exit status
Not static is fine though...
gt@oden:~/tmp/test-brcm2708$ arm-openwrt-linux-uclibcgnueabi-gcc -o test.rpi test.c
(no output)
And for other targets (ar71xx and mpc85xx) it works perfectly fine:
gt@oden:~/tmp/test-ar71xx$ mips-openwrt-linux-uclibc-gcc -o test.ar71xx.static test.c -static
(no output)
gt@oden:~/tmp/test-mpc85xx$ powerpc-openwrt-linux-uclibcspe-gcc -o test.mpc85xx.static test.c -static
(no output)
I got exactly the same problem using the trunk-toolchain for brcm2708.
Is there any good reason for this?