On Wed, Jun 28, 2023 at 11:21 PM Rafał Pietrak via Gcc <gcc@gcc.gnu.org> wrote: > > W dniu 28.06.2023 o 17:44, Richard Earnshaw (lists) pisze: > [-----------] > > I think I understand what you're asking for but: > > 1) You'd need a new ABI specification to handle this, probably involving > > register assignments (for the 'segment' addresses), the initialization > > of those at startup, assembler and linker extensions to allow for > > relocations describing the symbols, etc. > > I was thinking about that, and it doesn't look as requiring that deep > rewrites. ABI spec, that could accomodate the functionality could be as > little as one additional attribute to linker segments.
If I understand correctly, you are looking for something like the x32 mode that was available for a while on x86_64 processors: https://en.wikipedia.org/wiki/X32_ABI . That was a substantial amount of work including changes to the compiler, assembler, linker, standard library, and kernel. And at least to me it's never seemed particularly popular. Ian