[PATCH 1/6] Add INLINE_SYSCALL_RETURN/INLINE_SYSCALL_ERROR_RETURN
H.J. Lu
hjl.tools@gmail.com
Fri Aug 14 19:53:00 GMT 2015
On Fri, Aug 14, 2015 at 12:16 PM, H.J. Lu <hjl.tools@gmail.com> wrote:
> On Fri, Aug 14, 2015 at 11:49 AM, Andreas Schwab <schwab@linux-m68k.org> wrote:
>> "H.J. Lu" <hjl.tools@gmail.com> writes:
>>
>>> But it still has INLINE_SYSCALL_ERROR_RETURN which hides return.
>>
>> This is something you need to fix.
>>
>
> About this one?
>
These are better names and descriptions:
/* Similar to INLINE_SYSCALL, but with return type. It should only be
used with function return. */
#ifndef INLINE_SYSCALL_RETURN
#define INLINE_SYSCALL_RETURN(name, nr, type, args...) \
INLINE_SYSCALL (name, nr, args)
#endif
/* Set error number and return value. It should only be used with
function return. ERR is the negative error number returned from
the majority of Linux kernels for which -ERR is no-op
with INTERNAL_SYSCALL_ERRNO. */
#ifndef INLINE_SYSCALL_ERROR_RETURN
#define INLINE_SYSCALL_ERROR_RETURN(err, type, value) \
({ \
__set_errno (-err); \
(type) (value); \
})
#endif
--
H.J.
More information about the Libc-alpha
mailing list