This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [gnu-csky] [PATCH v4 06/13] C-SKY: Linux ABI
On Thu, 13 Sep 2018, Joseph Myers wrote:
> On Thu, 13 Sep 2018, Arnd Bergmann wrote:
>
> > From what I can tell, mips64, riscv64, nios2, and microblaze are all wrong, and
> > the generic default would be wrong as well if picked up by anything else (but
> > nothing seems to use it).
>
> A question for cleaning this up and possibly unifying versions of this
> header: for multi-ABI architectures, in userspace, what are these
> structures meant to refer to? The structures that would be produced by a
> core dump for the current process, as opposed to those that might be
> produced by a core dump for another ABI?
Also, I tried writing a test for the glibc testsuite to verify
compatibility of the layout of these structures in the glibc and Linux
headers, but found that a simple
#include <linux/elfcore.h>
using the installed uapi headers doesn't compile, because of unknown type
names size_t, elf_greg_t, elf_gregset_t, elf_fpregset_t, elf_fpxregset_t,
pid_t. And indeed, e.g. elf_greg_t is not defined in any of the uapi
headers, for many architectures. What are the Linux kernel expectations
regarding installed uapi headers actually being usable from userspace
without needing additional type definitions provided by the user?
If that include worked, and produced the expected layout for the ABI used
in the current compilation, it would be very helpful for writing such
tests and ensuring bugs in this area can be found and fixed and avoided in
future (and more general tests of consistency between glibc and Linux
headers are probably possible as long as includes of the Linux headers
from make headers_install do reliably compile without external
dependencies).
--
Joseph S. Myers
joseph@codesourcery.com