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] Linux: Add oddly-named arm syscalls to syscall-names.list


On Fri, May 31, 2019 at 02:13:02PM +0200, Florian Weimer wrote:
> (Zack suggested I should post this separately.)
> 
> <asm/unistd.h> on arm defines the following macros:
> 
> #define __ARM_NR_breakpoint             (__ARM_NR_BASE+1)
> #define __ARM_NR_cacheflush             (__ARM_NR_BASE+2)
> #define __ARM_NR_usr26                  (__ARM_NR_BASE+3)
> #define __ARM_NR_usr32                  (__ARM_NR_BASE+4)
> #define __ARM_NR_set_tls                (__ARM_NR_BASE+5)
> #define __ARM_NR_get_tls                (__ARM_NR_BASE+6)

I think the reason these were originally given these weird names
was exactly because these syscalls were not expected to have
wrappers.  Generally that's because they either have strange
semantics or they don't conform to the usual ABI.

Having a wrapper for usr26 and usr32 is almost certainly not
useful, especially if we are contemplating removing support for
ARMv4 (because these syscalls don't work on v4T or anything
newer).  I'm not sure that having a wrapper for breakpoint
is very useful either.  The other three probably do deserve
wrappers and arguably ought to have been given regular __NR_ 
names in the first place.

But I think this patch is ok, anyway.

p.


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