The following reply was made to PR port-powerpc/43021; it has been noted by
GNATS.
From: christos%zoulas.com@localhost (Christos Zoulas)
To: Dennis Ferguson <dennis.c.ferguson%gmail.com@localhost>,
matthew green <mrg%eterna.com.au@localhost>
Cc: port-powerpc-maintainer%netbsd.org@localhost,
netbsd-bugs%netbsd.org@localhost,
gnats-admin%netbsd.org@localhost, pooka%NetBSD.org@localhost,
gnats-bugs%NetBSD.org@localhost
Subject: Re: port-powerpc/43021 (librump* build procedures don't get along with
powerpc64 builds)
Date: Sun, 21 Mar 2010 10:22:10 -0400
On Mar 21, 10:20pm, dennis.c.ferguson%gmail.com@localhost (Dennis Ferguson)
wrote:
-- Subject: Re: port-powerpc/43021 (librump* build procedures don't get along
| 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.
Go for it.
christos