hppa: rewrite INLINE_SYSCALL
commita822b0187a0b822554c45a815335f5955f5d4b82
authorMike Frysinger <vapier@gentoo.org>
Thu, 30 Jul 2015 03:01:01 +0000 (29 23:01 -0400)
committerMike Frysinger <vapier@gentoo.org>
Thu, 30 Jul 2015 03:08:15 +0000 (29 23:08 -0400)
treee7b19a5b1e4a44b25181b3249e9cfd16a346c6b5
parent9637d8a253493be471d9a71640e91349f7a8a050
hppa: rewrite INLINE_SYSCALL

The semi-recent SYSCALL_CANCEL macro imposes a slight nuance on the
implementation of INLINE_SYSCALL: the nr argument cannot be expanded
directly but must be passed on to another macro which may expand it.
Most arches don't notice because INLINE_SYSCALL is defined in terms
of INTERNAL_SYSCALL which has the additional layer of expansion, but
on hppa, it was attempting to expand it directly.  That causes build
errors like so:
../sysdeps/unix/sysv/linux/sigsuspend.c: In function '__sigsuspend':
../sysdeps/unix/sysv/linux/sigsuspend.c:31:62: error:
implicit declaration of function 'LOAD_ARGS___SYSCALL_NARGS'
../sysdeps/unix/sysv/linux/sigsuspend.c:31:304: error:
called object 'LOAD_ARGS___SYSCALL_NARGS(set, 8)' is not a function

So rewrite hppa's INLINE_SYSCALL to use INTERNAL_SYSCALL like other
arches do.  This is also a nice clean up as the two macros had quite
a bit of duplicated logic.
ChangeLog
sysdeps/unix/sysv/linux/hppa/sysdep.h