Subject: Re: /usr/include/machine
To: Izumi Tsutsui <>
From: Chris Gilbert <>
List: tech-kern
Date: 07/15/2001 19:05:48
On Sunday 15 July 2001  4:06 pm, Izumi Tsutsui wrote:
> In article <>
> writes:
> > > I'm being annoyed for a month, but I cannot see where is the goal,
> > > so I don't know what is the right fix.
> >
> > I would ask why you didn't say so sooner?  I only started looking into
> > this a
> I asked matt why include files in arch/cats/include were removed,
> and then he answered "with arm, we trying a new technique."
> I'm just waiting it done for a month.
> > I believe that the aim of all this is:
> > That any arm binary should run on any arm architecture, without caring
> > what kernel it's on.
> Currently, any {mipsel,mipseb,m68k,powerpc,sh3el} binary run on
> any {mipsel,mipseb,m68k,powerpc,sh3el} archtecture.
> So that is not a reason to introduce "a new technique."

I think you're missing the fact that arm26 and arm32 are not quite the same, 
but so close that we can make it work, but there is some work to be done.

> > > Anyway, how many people know the current status of these changes?
> > > Is there any discussion _before_ these changes were done?
> >
> > status of which changes?  I've not committed any changes to userland yet
> > to do with getting the builds going.
> I meant these changes:
> - usr/include/machines points to include/arm, not include/${MACHINE}
> - creating /usr/include/arm/${MACHINE} directories
> - arch/arm/conf/Makefile.arm creats ${COMPILEDIR}/include/${MACHINE}
>   and ${COMPILEDIR}/include/machine directories
> etc.

All of which were correct for what was being done, which was to remove 
redundant headers from the kernel.  why have lots copies of the same file and 
have to keep them all in sync, when we can just as easily have 1 copy that's 
shared.  Yes it has broken userland, but it will get fixed.  If you have a 
desperate need to compile userland change the machine symlink to point at 
arm32, and it should all work.

> I think any chaneg of framework like this should be done
> among the all archtecture.

Why?  I believe it should be tried out to see if it works.  That's what is 
currently being done on cats, dnard and netwinder.

> > > IMHO, if machine/param.h can be shared,
> > > these ports did not have to be split.
> >
> > It can't be shared fully, eg bin/ps needs NBPG which is different on
> > arm26 and arm32, so this maybe a case of a sysctl to return it.
> For NBPG, sun4 and sun4[cm] machines have different NPBG,
> but they are in a common port.

Ignore that bit, was my mistake in a header file, userland has getpagesize() 
to get NBPG.