Date: Mon, 12 Mar 2001 14:51:55 -0800 (PST) From: John Baldwin <jhb@FreeBSD.org> To: Marcel Moolenaar <marcel@cup.hp.com> Cc: marcel@FreeBSD.org, qa@FreeBSD.org, Larry Rosenman <ler@lerctr.org> Subject: Re: cputype=486 Message-ID: <XFMail.010312145155.jhb@FreeBSD.org> In-Reply-To: <3AAD394D.49597B93@cup.hp.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 12-Mar-01 Marcel Moolenaar wrote: > John Baldwin wrote: >> >> On 12-Mar-01 Marcel Moolenaar wrote: >> > John Baldwin wrote: >> >> >> >> It looks like strip is linked against /usr/lib/libc.a. >> >> >> >> Marcel, >> >> >> >> It looks like there may be a bug in buildworld. It seems that static >> >> binaries >> >> are being linked against /usr/lib/libc.a rather than >> >> /usr/obj/usr/src/i386/lib/libc/libc.a. >> > >> > In what stage? >> >> The final strip binary that will live in /usr/bin/strip on the target >> machine. > > Which is the one in: > > /usr/obj/usr/src/gnu/usr.bin/binutils/strip Yes, it was the final binary installed onto the actual 486 that dumped core in this case. > and not the one in: > > /usr/obj/usr/src/i386/usr/src/gnu/usr.bin/binutils/strip > > Are we still talking about the same strip(1)? > >> > In short: Do not not build on Pentium with -march=pentiumsomething and >> > then later install on non-pentiums! >> >> Uh, how can cross-builds _possibly_ work then???? If I do a i386 -> alpha >> cross build does the alpha /usr/bin/strip get linked against the i386 >> /usr/lib/libc.a on the host machine?? > > Of course not. The one that's being built as part of the cross-tools is > however. Right, this isn't the cross tools one. This is the final one that gets installed onto the 486. _That_ one is broken. >> Or is libc treated magically by the >> compiler? > > No. > >> For that matter, what if a static binary uses a new function added >> to libc, how in the world will that link if we all our binaries against the >> old libc during the world? That's just wrong. > > No, that's not wrong. Just think about it for a moment. You need to > build cross tools first. Those must run on the build machine. You > therefore build those exactly as you build anything else: you use the > libraries on that machine. After you have built your cross tools, you > can start building non-native libraries, against which you link the > final non-native binaries. We aren't talking about cross tools, we are talking about the final binary installed onto the 486. -- John Baldwin <jhb@FreeBSD.org> -- http://www.FreeBSD.org/~jhb/ PGP Key: http://www.baldwin.cx/~john/pgpkey.asc "Power Users Use the Power to Serve!" - http://www.FreeBSD.org/ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-qa" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?XFMail.010312145155.jhb>