Subject: Re: missing pubassym.h macros
To: Jason Thorpe <thorpej@nas.nasa.gov>
From: Jonathan Stone <jonathan@DSG.Stanford.EDU>
List: port-mips
Date: 01/29/1999 20:05:28
>nonono... Things in header files that userland includes must be
>statically declared in header files checked into CVS.


Yes, Jason. That's why I was planning to machine-generate them, and
check them into CVS. As we do with other user-visible header files
(eg., the pci declarations).

[one machine-generated file]

>I thought we discussed this, and there were strong objections based on
>the fact that it's too easy to break the ABI that way!

I meant one file for the 32-bit definitions and one for the 64-bit
definitions. Under CVS control. Generated by the mips/include
Makefile, and updated (in CVS) when the C source changes. 

If we machine-generate them from C source, via genassym,whenever the C
source they depend on changes, it's easier to mechanise with one file,
rather than generating for both 32- and 64-bit and se'ding the
relevant constants into a file.

Which file gets included is controlled by the same mechanism we
agreed on before.  Sorry if that wasnt clear.

>The different reg size (i.e. 64-bit clean userland and all that) should
>be handled via a different emul.

that's up to Castor. when he gets it done, based on the existing
hooks, we can fold it into the tree.  i dunno, if we're gonna buy into
a 64-bit-clean emul and building a userland for it, i'd almost sooner
just do N32 and be done with it.