as a followup to an earlier post (which i can't continue the thread on since i'm posting this from a browser, sorry), here's the error i'm getting when i use a gcc-4.3 coldfire toolchain to compile busybox-1.7.2:

Failed: m68k-linux-gnu-gcc -o busybox_unstripped -Wl,-Map -Wl,busybox_unstripped.map -Wl,--warn-common -Wl,--sort-common -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 ipsvd/lib.a libbb/lib.a libpwdgrp/lib.a loginutils/lib.a miscutils/lib.a modutils/lib.a networking/lib.a networking/libiproute/lib.a networking/udhcp/lib.a procps/lib.a runit/lib.a selinux/lib.a shell/lib.a sysklogd/lib.a util-linux/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 ipsvd/built-in.o libbb/built-in.o libpwdgrp/built-in.o loginutils/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 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 -Wl,--end-group -Wl,--start-group -Wl,--start-group -lcrypt -lm -Wl,--end-group -Wl,--end-group
init/lib.a(init.o): In function `toupper':
init.c:(.text.toupper+0x0): multiple definition of `toupper'
applets/built-in.o:(.text.toupper+0x0): first defined here
init/lib.a(init.o): In function `tolower':
init.c:(.text.tolower+0x0): multiple definition of `tolower'
applets/built-in.o:(.text.tolower+0x0): first defined here
... etc etc lots more of these, all related to tolower and toupper ...

  ok, let's see what's happening here:

$ nm applets/built-in.o
...
00000000 T tolower
00000000 T toupper
...

ok, so it appears that applets/built-in.o does indeed define those text symbols. and:


$ nm init/init.o
...
00000000 T tolower
00000000 T toupper
...


but that's using the newer gcc-4.3 toolchain. if i clean and rebuild using the earlier gcc-4.1 coldfile toolchain, the build works and:

$ nm applets/built-in.o
... no definition of tolower or toupper ...

$ nm init/init.o
... here either ...

i'm confused ... why should upgrading my toolchain suddenly result in the definition of text symbols "tolower" and "toupper" in various object files, causing a link error?

rday



_______________________________________________
busybox mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/busybox

Reply via email to