ltib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Ltib] gcc-4.1 vs gcc-4.3 and multiple "tolower"/"toupper" refs (fwd


From: Stuart Hughes
Subject: Re: [Ltib] gcc-4.1 vs gcc-4.3 and multiple "tolower"/"toupper" refs (fwd)
Date: Mon, 23 Feb 2009 11:12:38 +0000

Hi Robert,

That's not a version of busybox that I've seen in LTIB before?

I've tried busybox-1.1.3 and busybox 1.11.2 under LTIB and both build
fine for me with gcc-4.3-74 (this was a CS powerpc toolchain
freescale-powerpc-linux-gnu-4.3-74.i686.rpm).

Regards, Stuart

On Sun, 2009-02-22 at 12:31 -0500, Robert P. J. Day wrote: 
>   the following is something i sent earlier to the busybox mailing
> list, but i'm wondering if this might be a better forum.  i'm using
> the gcc-4.3 coldfire toolchain from codesourcery, and trying to build
> busybox-1.7.2 and, for whatever reason, rather than compiling
> invocations to the C routines toupper() and tolower() as undefined
> references to be resolved at runtime, it appears to build them
> directly into the object files as inlines with external linkage so
> that, when the time comes to create the final busybox executable, the
> link fails as you can see below.
> 
>   has anyone else seen anything like this?  thanks.
> 
> rday
> 
> p.s.  the gcc-4.1 based toolchain works just fine.
> 
> --
> 
> ---------- Forwarded message ----------
> Date: Sun, 22 Feb 2009 07:19:01 -0500
> From: Robert P. J. Day <address@hidden>
> To: address@hidden
> Subject: gcc-4.1 vs gcc-4.3 and multiple "tolower"/"toupper" refs
> 
>  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
> 
> 
> 
> _______________________________________________
> LTIB home page: http://bitshrine.org
> 
> Ltib mailing list
> address@hidden
> http://lists.nongnu.org/mailman/listinfo/ltib
> 





reply via email to

[Prev in Thread] Current Thread [Next in Thread]