ce426f
Allows testing of AVX512 changes in a chroot (normally as root)
ce426f
without build issues.
ce426f
ce426f
commit d7e06450b9d730d7b62ba52f611585810fa902df
ce426f
Author: Carlos O'Donell <carlos@redhat.com>
ce426f
Date:   Tue Jul 16 17:55:43 2013 -0400
ce426f
ce426f
    BZ #15711: Avoid circular dependency for syscall.h
ce426f
    
ce426f
    The generated header is compiled with `-ffreestanding' to avoid any
ce426f
    circular dependencies against the installed implementation headers.
ce426f
    Such a dependency would require the implementation header to be
ce426f
    installed before the generated header could be built (See bug 15711).
ce426f
    In current practice the generated header dependencies do not include
ce426f
    any of the implementation headers removed by the use of `-ffreestanding'.
ce426f
    
ce426f
    ---
ce426f
    
ce426f
    2013-07-15  Carlos O'Donell  <carlos@redhat.com>
ce426f
    
ce426f
        [BZ #15711]
ce426f
        * sysdeps/unix/sysv/linux/Makefile ($(objpfx)bits/syscall%h):
ce426f
        Avoid system header dependency with -ffreestanding.
ce426f
        ($(objpfx)bits/syscall%d): Likewise.
ce426f
ce426f
diff --git a/sysdeps/unix/sysv/linux/Makefile b/sysdeps/unix/sysv/linux/Makefile
ce426f
index f580635..94916a2 100644
ce426f
--- a/sysdeps/unix/sysv/linux/Makefile
ce426f
+++ b/sysdeps/unix/sysv/linux/Makefile
ce426f
@@ -50,6 +50,13 @@ tests += tst-clone
ce426f
 # be the condition for those options to use in a C #if condition.
ce426f
 # abi-includes may be defined to a list of headers to include
ce426f
 # in the generated header, if the default does not suffice.
ce426f
+#
ce426f
+# The generated header is compiled with `-ffreestanding' to avoid any
ce426f
+# circular dependencies against the installed implementation headers.
ce426f
+# Such a dependency would require the implementation header to be
ce426f
+# installed before the generated header could be built (See bug 15711).
ce426f
+# In current practice the generated header dependencies do not include
ce426f
+# any of the implementation headers removed by the use of `-ffreestanding'.
ce426f
 
ce426f
 $(objpfx)bits/syscall%h $(objpfx)bits/syscall%d: ../sysdeps/unix/sysv/linux/sys/syscall.h
ce426f
 	$(make-target-directory)
ce426f
@@ -64,7 +71,7 @@ $(objpfx)bits/syscall%h $(objpfx)bits/syscall%d: ../sysdeps/unix/sysv/linux/sys/
ce426f
 	 echo ''; \
ce426f
 	 $(if $(abi-variants), \
ce426f
 	 $(foreach v,$(abi-variants),\
ce426f
-	 $(CC) -E -MD -MP -MF $(@:.h=.d)-t$(v) -MT '$(@:.d=.h) $(@:.h=.d)' \
ce426f
+	 $(CC) -ffreestanding -E -MD -MP -MF $(@:.h=.d)-t$(v) -MT '$(@:.d=.h) $(@:.h=.d)' \
ce426f
 	       -x c $(sysincludes) $< $(abi-$(v)-options) \
ce426f
 	       -D_LIBC -dM | \
ce426f
 	 sed -n 's@^#define __NR_\([^ ]*\) .*$$@#define SYS_\1 __NR_\1@p' | \
ce426f
@@ -75,7 +82,7 @@ $(objpfx)bits/syscall%h $(objpfx)bits/syscall%d: ../sysdeps/unix/sysv/linux/sys/
ce426f
 	 $(if $(abi-$(v)-condition),echo '#endif';) \
ce426f
 	 rm -f $(@:.d=.h).new$(v); \
ce426f
 	 ), \
ce426f
-	 $(CC) -E -MD -MP -MF $(@:.h=.d)-t$(v) -MT '$(@:.d=.h) $(@:.h=.d)' \
ce426f
+	 $(CC) -ffreestanding -E -MD -MP -MF $(@:.h=.d)-t$(v) -MT '$(@:.d=.h) $(@:.h=.d)' \
ce426f
 	       -x c $(sysincludes) $< \
ce426f
 	       -D_LIBC -dM | \
ce426f
 	 sed -n 's@^#define __NR_\([^ ]*\) .*$$@#define SYS_\1 __NR_\1@p' | \