Date: Tue, 4 Apr 1995 15:40:34 -0600 From: Nate Williams <nate@trout.sri.MT.net> To: rkw@dataplex.net (Richard Wackerbarth), "Rodney W. Grimes" <rgrimes@gndrsh.aac.dev.com> Cc: current@FreeBSD.org Subject: Re: cvs commit: src/sys/i386/conf Makefile.i386 Message-ID: <199504042140.PAA07441@trout.sri.MT.net> In-Reply-To: rkw@dataplex.net (Richard Wackerbarth) "Re: cvs commit: src/sys/i386/conf Makefile.i386" (Apr 4, 4:13pm)
next in thread | raw e-mail | index | archive | help
> >The rule for genassym's should be changed such that it always uses > >/usr/include/stdio.h, that is the correct file to use, period, as > >it is going to be linked and run against /usr/lib/libc.a at the time > >the kernel is compiled. This will be extreamly important for cross > >compilation in the future. > > Actually, cross compilation is why it is WRONG!. > > There are two genassym's. No, there is *one* genassym. > One will be run on "this" machine to generate a > kernel for "that" machine and the other is a version which will be in the > distribution which is installed on "that" machine and used to rebuild the > kernel. But only one is created per kernel build. You aren't going to get a cross-compilation environment to work if leave everything in the same directory. Genassym is used *once* during a kernel compile to build a program 'on the host machine' which generates kernel files 'for the target machine' kernel. Where genassym is built is a moot point? > Since the two versions are linked against different libraries, it is > important that thare is NO ABSOLUTE reference to any file. All references > MUST be RELATIVE to the environment in which the code will be executed. One version is built on the cross. machine, and another version is built on the host machine. Genassym won't run on the cross machine if it's compiled and linked with include files and libraries that exist for the target machine, and vice-versa. Nate
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199504042140.PAA07441>