Date: Thu, 2 May 2013 09:19:27 +0200 From: Dimitry Andric <dimitry@andric.com> To: Alfred Perlstein <alfred@ixsystems.com> Cc: hackers@freebsd.org Subject: Re: potential future proofing fix for aicasm build. Message-ID: <E2096D39-2037-4741-8F5B-9887220D7ACA@andric.com> In-Reply-To: <51814686.2060805@ixsystems.com> References: <51814686.2060805@ixsystems.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On May 1, 2013, at 18:44, Alfred Perlstein <alfred@ixsystems.com> wrote: > I took a shot at fixing this issue with building aicasm as part of = "buildkernel" of an older 9.0 src on a machine running HEAD. >=20 > aicasm.o: In function `__getCurrentRuneLocale': > = /usr/include/runetype.h:96: undefined reference to `_ThreadRuneLocale' I don't understand this error message... It seems like a linker error, = but it also seems to refer to an incorrect include file? Is this during = linking or compiling? > The issue seems to be two-fold: >=20 > 1) Paths are not fully set to pick up the bootstrap tools needed to = build. What do you mean, exactly? In r230622 I explicitly set the PATH to = ${BPATH}:${PATH}, which should be enough to pick up the bootstrap tools. = This is exactly the same path used to build the bootstrap-tools stage = itself. The kernel bootstrap tools (only aicasm, really) should be = built by the host compiler, not the cross-tools compiler. > 2) include files use the host's instead of the build trees. >=20 > The first problem is fixed by changing setting of PATH from = "${BPATH}:${PATH}" to ${TMPPATH}. >=20 > The second is fixed by using -nostdinc and setting strict include = paths using -I directives to the compiler: >=20 > CFLAGS=3D"-nostdinc -I${WORLDTMP}/usr/include -I. = -I${KERNSRCDIR}/dev/aic7xxx/aicasm" I don't think this is correct, as aicasm should be compiled by the host = compiler, and linked with the host libc. So if you start including = headers from the source directory, there will be a mismatch between what = those headers declare, and what is available in the host libc.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?E2096D39-2037-4741-8F5B-9887220D7ACA>