[head tinderbox] failure on powerpc64/powerpc

Nathan Whitehorn nwhitehorn at freebsd.org
Fri Aug 20 22:56:23 UTC 2010

On 08/20/10 14:20, Dag-Erling Smørgrav wrote:
> Nathan Whitehorn<nwhitehorn at freebsd.org>  writes:
>> Next up: tinderbox needs to build GENERIC64, not GENERIC, on
>> powerpc64. make buildkernel is programmed to do the right thing is you
>> don't pass a KERNCONF, but tinderbox apparently passes GENERIC
>> explicitly. This one's in your court!
> There is no way to fix this with the current tinderbox code.
> MHO is that the entire powerpc64 thing is very poorly thought out.

I'm the first to admit that many of the config tricks involved in this 
port, and GENERIC64, are ugly hacks, largely because config(8) was not 
designed with such things in mind. But the alternatives were much worse:

- A sys/powerpc64 that duplicated most of sys/powerpc, which would have 
been a maintenance nightmare (see sun4v).
- A sys/powerpc64 that was mostly symlinks and stub includes, which is 
inelegant at best, and could cause kinds of fascinating problems for 
user programs including things in machine/.
- Bunches of new make variables like TARGET_BIG_ENDIAN and TARGET_64BIT 
and such like mips and arm have, which is way more awful, as well as 
precluding tinderbox and make universe coverage in a reasonable way.

powerpc64 is the first architecture trying out this new 
multi-architecture MACHINE approach, which Warner designed to kill off 
things like TARGET_BIG_ENDIAN, so there are going to be some interesting 
rough patches along the way, and I really appreciate your patience in 
sorting them out.

To address the immediate problem, I think the best solution is to use 
the -m option to config to reject kernel configs for different 
architectures, the way the tinderbox scripts currently skip kernel 
configs that they are asked to build that don't exist. If you think this 
is a reasonable approach, I'm happy to code up a patch to tinderbox to 
do this over the weekend. You can feel free to disconnect powerpc64 from 
tinderbox in the interim.

More information about the freebsd-tinderbox mailing list