This is the mail archive of the
mailing list for the glibc project.
Re: [gnu-csky] [PATCH v4 06/13] C-SKY: Linux ABI
On Thu, Sep 13, 2018 at 10:48 PM Joseph Myers <firstname.lastname@example.org> wrote:
> On Thu, 13 Sep 2018, Arnd Bergmann wrote:
> > We have four definitions in the kernel for these structures: The native
> > structure for the ELF implementation , the generic compat implementation
> > for everything other than MIPS, and the two MIPS variants .
> > Looking at the sources, the last three seem to use identical layouts,
> > aside from the elf_gregset_t, which uses 64-bit registers on n64 but
> > 32-bit registers everywhere else, and the architecture specific
> > ELF_NGREG constant.
> A 64-bit MIPS kernel is n64, not n32, so "unsigned long" in
> binfmt_elfn32.c is actually a 64-bit type for registers (as expected).
> I think this confirms that the other two n32 conditionals in
> sysdeps/unix/sysv/linux/mips/sys/procfs.h are incorrect, as they would
> result in a field having the size it does for n64, not that for n32.
Yes, that sounds right. From what I can tell, the n32 ABI has come
out of fashion a bit: the embedded stuff tends to be 32-bit only
so it uses o32, and the Debian and Fedora ports port do either
n64 or o32 but not n32. There was a partial Fedora 12 n32 port, but
that was 7 years ago.