This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH 5/6] Optimize i386 syscall inlining
- From: Roland McGrath <roland at hack dot frob dot com>
- To: "H.J. Lu" <hjl dot tools at gmail dot com>
- Cc: GNU C Library <libc-alpha at sourceware dot org>
- Date: Thu, 15 Oct 2015 13:27:23 -0700 (PDT)
- Subject: Re: [PATCH 5/6] Optimize i386 syscall inlining
- Authentication-results: sourceware.org; auth=none
- References: <20151012232028 dot GC8797 at intel dot com> <20151015195427 dot 98E272C3C0E at topped-with-meat dot com> <CAMe9rOriWgkdxLUx1+Rt8kh7Uguwa9ka_HeJia5-Gpm+7iLVOg at mail dot gmail dot com>
> On Thu, Oct 15, 2015 at 12:54 PM, Roland McGrath <roland@hack.frob.com> wrote:
> > This needs comments explaining why the compiler version conditional
> > makes sense.
>
> How about this?
Looks OK.
> --
> H.J.
> ----
> diff --git a/sysdeps/unix/sysv/linux/i386/sysdep.h
> b/sysdeps/unix/sysv/linux/i386/sysdep.h
> index 5324da6..76db7b8 100644
> --- a/sysdeps/unix/sysv/linux/i386/sysdep.h
> +++ b/sysdeps/unix/sysv/linux/i386/sysdep.h
> @@ -227,6 +227,10 @@
> extern int __syscall_error (int)
> attribute_hidden __attribute__ ((__regparm__ (1)));
>
> +/* Since GCC 5 and above can properly spill %ebx with PIC when needed,
> + we can inline syscalls with 6 arguments if GCC 5 or above is used
> + to compile glibc. */
> +
> #if !__GNUC_PREREQ (5,0)
> /* We need some help from the assembler to generate optimal code. We
> define some macros here which later will be used. */