Date: Mon, 12 Mar 2001 21:27:27 GMT From: Larry Rosenman <ler@lerctr.org> To: Marcel Moolenaar <marcel@cup.hp.com> Cc: John Baldwin <jhb@FreeBSD.org>, Larry Rosenman <ler@lerctr.org>, qa@FreeBSD.org, marcel@FreeBSD.org Subject: Re: cputype=486 Message-ID: <20010312.21272700@ler-freebie.iadfw.net> In-Reply-To: <3AAD394D.49597B93@cup.hp.com> References: <XFMail.010312124506.jhb@FreeBSD.org> <3AAD394D.49597B93@cup.hp.com>
next in thread | previous in thread | raw e-mail | index | archive | help
>>>>>>>>>>>>>>>>>> Original Message <<<<<<<<<<<<<<<<<< On 3/12/01, 3:02:05 PM, Marcel Moolenaar <marcel@cup.hp.com> wrote regarding Re: cputype=486: > 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 > 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. > > 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. So what you are saying is cross build HOSTS have to suffer in performance while they are being used as the HOST? Why should this be? In this case the make buildworld was done on a HOST that was built -march=pentiumpro, the make flags for the new build were with NO -march (or with -m486), and then the make installworld dies with the SIGNAL 4, on a PPRO instruction in whatever strip binary is run from install. This seems VERY wrong if we are going to support cross-environment builds AT ALL. So, we can't use CPUTYPE? This seems like a net lossage. LER 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?20010312.21272700>
