tech-toolchain archive

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

re: Conflict between system and compiler types



Martin Husemann writes:
> On Mon, Feb 04, 2019 at 05:52:28AM +0000, David Holland wrote:
> > They are wrong -- the system ABI is the OS's responsibility
> > (including, possibly, compat obligations that the compiler folks don't
> > know about and shouldn't have to care about) because it's the OS that
> > provides the libraries that the definitions in the system ABI headers
> > are supposed to match.
> 
> True, but in this case the compiler has been instructed to compile for
> a different ABI, and we may well consider to have our own provided types
> being flexible to cope (if it comes at basically no cost).

indeed.  we work to keep the compiler and base types the same
and when they change, it can be a pain, even if the change is
not a change in ABI.  eg, when we added sparc64, we changed
some sparc types from 'int' to 'long' so that the would size
themselves properly, but this triggered warnings when people
had not updated their base headers and compiler at the same
time (eg, building a new kernel.)

as i understand Kamil's idea, and as we've been using in some
ports already for a while, is to let the compiler builtins
provide these in our headers, and i think that is a fine
idea and we can even use it to eliminate the MD headers from
providing these definitions at all (though it would be best
to make sure they continue to do so -- but by having them
include the MI header, instead of the current opposite.)


.mrg.


Home | Main Index | Thread Index | Old Index