NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: port-powerpc/43021 (librump* build procedures don't get along with powerpc64 builds)



On 21 Mar 2010, at 21:58 , matthew green wrote:
usr.bin/xlint/arch/powerpc64/targparam.h seems to do the right thing.
> is it not being included, but the "powerpc" one is?

I think the problem is actually in usr.bin/xlint/Makefile.inc, which
now uses the MACHINE* variables in the following manner:

# On the m68000, MACHINE_CPU is "m68k", but we have different
# target parameters (namely, long double is a different size
# on the m68000), so we special case the directory name here.
.if ${MACHINE_ARCH} == "m68000"
ARCHSUBDIR=     m68000
.elif ${MACHINE_ARCH} == "mips64eb" || ${MACHINE_ARCH} == "mips64el"
ARCHSUBDIR=     mips64
.else
ARCHSUBDIR=     ${MACHINE_CPU}
.endif

With MACHINE_ARCH=powerpc64/MACHINE_CPU=powerpc that ends up
with ARCHSUBDIR=powerpc, with builds a 32-bit lint.  I would
like to change this to something like

.if ${MACHINE_ARCH} == "mips64eb" || ${MACHINE_ARCH} == "mips64el"
ARCHSUBDIR=     mips64
.elif exists(${.CURDIR}/../arch/${MACHINE_ARCH})
ARCHSUBDIR=     ${MACHINE_ARCH}
.else
ARCHSUBDIR=     ${MACHINE_CPU}
.endif

which fixes my problem and removes the m68000 special case as a
side effect.  I'm so far out of my depth with the mechanics of
the build system, however, that I don't know if this change
would be fixing something that is broken, or if the thing that
is broken is setting MACHINE_CPU=powerpc.  Note that lint isn't
the only new problem I've got; I'm also getting unresolved symbols
from the libgcc4 libraries when loading c++ programs (i.e. groff)
so I think I must have hit a similar problem in there somewhere too.

Errors in kernel and powerpc code I can deal with, but the build
system is way scarier.


Home | Main Index | Thread Index | Old Index