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: [PATCH 6/6] linux: Use 32-bit time_t for rusage


On Tue, 4 Feb 2020, Lukasz Majewski wrote:

> > unix/linux/generic/wordsize-32 cannot be used for armv7, since it
> > doesn't use asm-generic syscalls.
> 
> Could you elaborate on this?

There was a long discussion on the linux-kernel mailing list in 2008, much 
of which was under the subject "microblaze syscall list".

The conclusion of that discussion was that, whereas architectures for 
which support was added to the Linux kernel up to that point each had 
their own syscall ABI (their own syscall numbers, their own set of 
associated structure layouts and constants - those layouts and constants 
often following those used by some older proprietary Unix on the same 
architecture, in the cases of the oldest Linux kernel ports), newer Linux 
kernel ports would share a common syscall ABI as far as possible, meaning 
the same syscall numbers, constants and structure layouts.  This common 
ABI is known as the generic or asm-generic ABI.

In glibc, sysdeps/unix/sysv/linux/generic is for architectures using the 
asm-generic syscall ABI, and *only* for such architectures (which, in the 
end, did not include microblaze).  This should not be confused with other 
uses of the word "generic" in the glibc context, in particular 
sysdeps/generic/.

As the Linux kernel arm port was added before 2008, it does not use the 
generic ABI and so cannot use sysdeps/unix/sysv/linux/generic.

-- 
Joseph S. Myers
joseph@codesourcery.com


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