[fedora-arm] Busybox on ARM, possible GCC issues

Gordan Bobic gordan at bobich.net
Thu Oct 27 10:35:31 UTC 2011


 On Thu, 27 Oct 2011 11:31:47 +0100, Peter Robinson 
 <pbrobinson at gmail.com> wrote:
> On Thu, Oct 27, 2011 at 11:26 AM, Gordan Bobic <gordan at bobich.net> 
> wrote:
>>  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...
>
> basically it was split out, but the principal is the same, the build
> needs changes to build properly on ARM.

 Oh, I see, so the f14 package still needs changes?
 Where can I find the F14 ARM repository? The one listed in the f14 
 rootfs doesn't seem to contain any packages any more, and wiki doesn't 
 seem to list any links for the F14 repos.

 Gordan


More information about the arm mailing list