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>
