[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