[fedora-arm] Busybox on ARM, possible GCC issues
Gordan Bobic
gordan at bobich.net
Thu Oct 27 10:26:04 UTC 2011
On Thu, 27 Oct 2011 10:49:01 +0100, Peter Robinson
<pbrobinson at gmail.com> wrote:
> On Thu, Oct 27, 2011 at 10:36 AM, Gordan Bobic <gordan at bobich.net>
> wrote:
>> Hi,
>>
>> I've been trying to get busybox to build on Fedora ARM and I've
>> vixed a
>> few issues with the RPM, but one still remains:
>>
>> /builddir/build/BUILD/busybox-1.15.1/scripts/trylink
>> "busybox_unstripped" "gcc" " -Wall -Wshadow -Wwrite-strings -Wundef
>> -Wstrict-prototypes -Wunused -Wunused-parameter -Wunused-function
>> -Wunused-value -Wmissing-prototypes -Wmissing-declarations
>> -Wdeclaration-after-statement -Wold-style-definition
>> -fno-builtin-strlen
>> -finline-limit=0 -fomit-frame-pointer -ffunction-sections
>> -fdata-sections -fno-guess-branch-probability -funsigned-char
>> -static-libgcc -falign-functions=1 -falign-jumps=1 -falign-labels=1
>> -falign-loops=1 -Os -fno-asynchronous-unwind-tables
>> -fno-stack-protector -static -nostartfiles
>> -LuClibc-0.9.30.1/installed/lib
>> uClibc-0.9.30.1/installed/lib/crt1.o
>> uClibc-0.9.30.1/installed/lib/crti.o
>> uClibc-0.9.30.1/installed/lib/crtn.o" " " " applets/built-in.o" "
>> archival/lib.a archival/libunarchive/lib.a console-tools/lib.a
>> coreutils/lib.a coreutils/libcoreutils/lib.a debianutils/lib.a
>> e2fsprogs/lib.a editors/lib.a findutils/lib.a init/lib.a
>> libbb/lib.a
>> libpwdgrp/lib.a loginutils/lib.a mailutils/lib.a miscutils/lib.a
>> modutils/lib.a networking/lib.a networking/libiproute/lib.a
>> networking/udhcp/lib.a printutils/lib.a procps/lib.a runit/lib.a
>> selinux/lib.a shell/lib.a sysklogd/lib.a util-linux/lib.a
>> util-linux/volume_id/lib.a archival/built-in.o
>> archival/libunarchive/built-in.o console-tools/built-in.o
>> coreutils/built-in.o coreutils/libcoreutils/built-in.o
>> debianutils/built-in.o e2fsprogs/built-in.o editors/built-in.o
>> findutils/built-in.o init/built-in.o libbb/built-in.o
>> libpwdgrp/built-in.o loginutils/built-in.o mailutils/built-in.o
>> miscutils/built-in.o modutils/built-in.o networking/built-in.o
>> networking/libiproute/built-in.o networking/udhcp/built-in.o
>> printutils/built-in.o procps/built-in.o runit/built-in.o
>> selinux/built-in.o shell/built-in.o sysklogd/built-in.o
>> util-linux/built-in.o util-linux/volume_id/built-in.o" " m crypt"
>> Trying libraries: crypt m
>> Failed: -Wl,--start-group -lcrypt -lm -Wl,--end-group
>> Output of:
>> gcc -Wall -Wshadow -Wwrite-strings -Wundef -Wstrict-prototypes
>> -Wunused
>> -Wunused-parameter -Wunused-function -Wunused-value
>> -Wmissing-prototypes
>> -Wmissing-declarations -Wdeclaration-after-statement
>> -Wold-style-definition -fno-builtin-strlen -finline-limit=0
>> -fomit-frame-pointer -ffunction-sections -fdata-sections
>> -fno-guess-branch-probability -funsigned-char -static-libgcc
>> -falign-functions=1 -falign-jumps=1 -falign-labels=1
>> -falign-loops=1 -Os
>> -static -nostartfiles -LuClibc-0.9.30.1/installed/lib
>> uClibc-0.9.30.1/installed/lib/crt1.o
>> uClibc-0.9.30.1/installed/lib/crti.o
>> uClibc-0.9.30.1/installed/lib/crtn.o -o busybox_unstripped
>> -Wl,--sort-common -Wl,--sort-section,alignment -Wl,--start-group
>> applets/built-in.o archival/lib.a archival/libunarchive/lib.a
>> console-tools/lib.a coreutils/lib.a coreutils/libcoreutils/lib.a
>> debianutils/lib.a e2fsprogs/lib.a editors/lib.a findutils/lib.a
>> init/lib.a libbb/lib.a libpwdgrp/lib.a loginutils/lib.a
>> mailutils/lib.a
>> miscutils/lib.a modutils/lib.a networking/lib.a
>> networking/libiproute/lib.a networking/udhcp/lib.a printutils/lib.a
>> procps/lib.a runit/lib.a selinux/lib.a shell/lib.a sysklogd/lib.a
>> util-linux/lib.a util-linux/volume_id/lib.a archival/built-in.o
>> archival/libunarchive/built-in.o console-tools/built-in.o
>> coreutils/built-in.o coreutils/libcoreutils/built-in.o
>> debianutils/built-in.o e2fsprogs/built-in.o editors/built-in.o
>> findutils/built-in.o init/built-in.o libbb/built-in.o
>> libpwdgrp/built-in.o loginutils/built-in.o mailutils/built-in.o
>> miscutils/built-in.o modutils/built-in.o networking/built-in.o
>> networking/libiproute/built-in.o networking/udhcp/built-in.o
>> printutils/built-in.o procps/built-in.o runit/built-in.o
>> selinux/built-in.o shell/built-in.o sysklogd/built-in.o
>> util-linux/built-in.o util-linux/volume_id/built-in.o
>> -Wl,--end-group
>> -Wl,--start-group -lcrypt -lm -Wl,--end-group
>> ==========
>>
>> /usr/lib/gcc/armv5tel-redhat-linux-gnueabi/4.4.5/libgcc_eh.a(unwind-arm.o):
>> In function `__gnu_Unwind_Backtrace':
>> (.text+0x8b0): undefined reference to `__stack_chk_fail'
>>
>> /usr/lib/gcc/armv5tel-redhat-linux-gnueabi/4.4.5/libgcc_eh.a(unwind-arm.o):
>> In function `__gnu_Unwind_Backtrace':
>> (.text+0x8b8): undefined reference to `__stack_chk_guard'
>> collect2: ld returned 1 exit status
>>
>> Poking around with the command that fails, it would appear that it
>> is
>> -lm that causes the problem, and that appears to be in libgcc.
>>
>> I tried adding -fno-stack-protector and
>> -fno-asynchronous-unwind-tables
>> to this operation, but the problem doesn't go away. I have a sneaky
>> suspicion that I may (also) need to add this to the uClibc CFLAGS,
>> but
>> that seems to cause build failures early on.
>>
>> Any suggestions for a workaround?
>
> Its fixed and works just fine in F-14. Look at the rpms in f-14 and
> use the fixes there, they should be the same.
Hmm, interesting. I've been trying 1.15.1-11 from el6, and that seems
to bring uClibc with it. The latest from fc14 is 1.15.1-10 and that
requires uClibc-static instead. I wonder if that is why it works -
because uClibc was built differently...
Gordan
More information about the arm
mailing list