[PATCH 1/4] Add INTERNAL_SYSCALL_CALL

Florian Weimer fw@deneb.enyo.de
Fri Sep 23 20:39:00 GMT 2016


* Adhemerval Zanella:

> On 22/09/2016 17:34, Florian Weimer wrote:
>> * Adhemerval Zanella:
>> 
>>> We can, at least for x86_64 for instance where it uses another indirection
>>> for INTERNAL_SYSCALL.  However, something similar fails for i386, where
>>> macro substitution for INTERNAL_SYSCALL will try string concatenation and
>>> thus mess with intended behaviour.  Also, _SYSCALL_NARGS macro would be
>>> required to be different to take in consideration the 'err' argument
>>> required for INTERNAL syscall (something I noted I coded wrong).
>>>
>>> I think calling the {INLINE,INTERNAL}_SYSCALL directly would be the safer 
>>> and agnostic approach to avoid issues on how they are actually implemented 
>>> by each port.
>> 
>> Okay, it looks like this is the better way for now.
>> 
>>> I tested the following patch with a build for practically all current
>>> supported ports (aarch64, alpha, armeabi, armeaihf, hppa, ia64, i386, m68k,
>>> microblaze, mips{32,64,n64}, nios2, powerpc{32,64,64le}, s390{-32,-64}, sh4,
>>> sparc{64}, tile{pro,x64}, x86_64, and x32) and saw no build issues.  I also
>>> checked on x86_64 and i386.  To actually check INTERNAL_SYSCALL_CALL macro
>>> work I changed sysdeps/unix/sysv/linux/pthread_setaffinity.c to use it.
>> 
>> Did you see object code changes from that?
>
> I haven't checked all of the, but at least x86_64, i386, aarch64, and
> powerpc64le

Great, thanks.

> do not change.  I presume it is ok to push upstream, correct?

I can't really tell you that the patch is totally unproblematic, but
all my concerns have been addressed.  Please push.



More information about the Libc-alpha mailing list