RFC: [PATCH] Add INLINE_SYSCALL_ERROR_RETURN

Florian Weimer fw@deneb.enyo.de
Sat Aug 22 11:24:00 GMT 2015


* H. J. Lu:

> For ia32 PIC, the first thing of many syscalls does is to call
> __x86.get_pc_thunk.reg to load PC into reg in case there is an error,
> which is required for setting errno.  In most cases, there are no
> errors.  But we still call __x86.get_pc_thunk.reg.  This patch adds
> INLINE_SYSCALL_ERROR_RETURN so that i386 can optimize setting errno by
> branching to the internal __syscall_error without PLT.
>
> With i386 INLINE_SYSCALL_ERROR_RETURN and i386 syscall inlining
> optimization for GCC 5, for sysdeps/unix/sysv/linux/fchmodat.c with
> -O2 -march=i686 -mtune=generic, GCC 5.2 now generates:

The patch does not seem to contain the i386 optimized
INLINE_SYSCALL_ERROR_RETURN definition.



More information about the Libc-alpha mailing list