Re: Introduction + interest in a riscv64 port of GNU Mach/Hurd
Sergey Bugaev <[email protected]>
| Newsgroups | gmane.os.hurd.bugs |
|---|---|
| Message-ID | <CAN9u=HeJEWO0aWHzJgaHKJTkQmcy32BysnJkZfPkyQ2DaEnLog@mail.gmail.com> |
Hey, I'm happy to discuss (what I remember of) the AArch64 port design questions and decisions we made. Incidentally, I'm also looking into RISC-V (just learning basic things about it), so it would be interesting to watch, and potentially participate, in a Mach porting effort. And a small rant of what I've seen this far: the 'la' instruction (and the PIC/non-PIC terminology) makes no sense, what were they thinking? Fortunately it's only a pseudo-instruction and we can always use 'lga' and 'lla', or the actual instructions behind those, and ignore the existence of 'la'. The 'gp' thing (and the linker relaxation around it) only seem useful for firmwares and small kernels, and perhaps it'd actually be useful for gnumach, but it does seem fairly useless for userland (considering libraries), and there could be better ways to make use of the register. I heard that some ABIs (Haiku, Android, Fuschia?) are _not_ using x3 as gp, and there's official ELF support for this (Tag_RISCV_x3_reg_usage), what would you all think about potentially doing the same for riscv64-gnu userland? Sergey