This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [gnu-csky] [PATCH v4 06/13] C-SKY: Linux ABI


On Thu, Sep 13, 2018 at 10:48 PM Joseph Myers <joseph@codesourcery.com> 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 [2], the generic compat implementation[3]
> > for everything other than MIPS, and the two MIPS variants [4][5].
> > 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.

        Arnd


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]