svn commit: r294029 - in head/sys/boot/efi: . boot1 loader

Steven Hartland smh at FreeBSD.org
Thu Jan 14 18:53:56 UTC 2016


Author: smh
Date: Thu Jan 14 18:53:54 2016
New Revision: 294029
URL: https://svnweb.freebsd.org/changeset/base/294029

Log:
  Only build EFI components on supported compilers
  
  As the in-tree GCC does not support __attribute__((ms_abi)) EFI can only
  be built with Clang.
  
  The EFI loader and boot1 validated this, but unused libefi was still built
  causing issues under GCC after warnings where enabled by r293724.
  
  Disable building all of EFI when the selected compiler is GCC.
  
  MFC after:	2 weeks
  X-MFC-With:	r293268
  Sponsored by:	Multiplay

Modified:
  head/sys/boot/efi/Makefile
  head/sys/boot/efi/boot1/Makefile
  head/sys/boot/efi/loader/Makefile

Modified: head/sys/boot/efi/Makefile
==============================================================================
--- head/sys/boot/efi/Makefile	Thu Jan 14 18:46:57 2016	(r294028)
+++ head/sys/boot/efi/Makefile	Thu Jan 14 18:53:54 2016	(r294029)
@@ -2,7 +2,8 @@
 
 .include <src.opts.mk>
 
-SUBDIR=		libefi
+# In-tree GCC does not support __attribute__((ms_abi)).
+.if ${COMPILER_TYPE} != "gcc"
 
 .if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "arm"
 .if ${MK_FDT} != "no"
@@ -13,7 +14,10 @@ SUBDIR+=	fdt
 .if ${MACHINE_CPUARCH} == "aarch64" || \
     ${MACHINE_CPUARCH} == "amd64" || \
     ${MACHINE_CPUARCH} == "arm"
-SUBDIR+=	loader boot1
+SUBDIR+=	libefi loader boot1
 .endif
 
+.endif # ${COMPILER_TYPE} != "gcc"
+
 .include <bsd.subdir.mk>
+

Modified: head/sys/boot/efi/boot1/Makefile
==============================================================================
--- head/sys/boot/efi/boot1/Makefile	Thu Jan 14 18:46:57 2016	(r294028)
+++ head/sys/boot/efi/boot1/Makefile	Thu Jan 14 18:53:54 2016	(r294029)
@@ -4,9 +4,6 @@ MAN=
 
 .include <bsd.own.mk>
 
-# In-tree GCC does not support __attribute__((ms_abi)).
-.if ${COMPILER_TYPE} != "gcc"
-
 MK_SSP=		no
 
 PROG=		boot1.sym
@@ -96,8 +93,6 @@ boot1.efifat: boot1.efi
 
 CLEANFILES= boot1.efi boot1.efifat
 
-.endif # ${COMPILER_TYPE} != "gcc"
-
 .include <bsd.prog.mk>
 
 beforedepend ${OBJS}: machine

Modified: head/sys/boot/efi/loader/Makefile
==============================================================================
--- head/sys/boot/efi/loader/Makefile	Thu Jan 14 18:46:57 2016	(r294028)
+++ head/sys/boot/efi/loader/Makefile	Thu Jan 14 18:53:54 2016	(r294029)
@@ -4,9 +4,6 @@ MAN=
 
 .include <src.opts.mk>
 
-# In-tree GCC does not support __attribute__((ms_abi)).
-.if ${COMPILER_TYPE} != "gcc"
-
 MK_SSP=		no
 
 PROG=		loader.sym
@@ -113,8 +110,6 @@ DPADD=		${LIBFICL} ${LIBEFI} ${LIBFDT} $
 		${LDSCRIPT}
 LDADD=		${LIBFICL} ${LIBEFI} ${LIBFDT} ${LIBEFI_FDT} ${LIBSTAND}
 
-.endif # ${COMPILER_TYPE} != "gcc"
-
 .include <bsd.prog.mk>
 
 beforedepend ${OBJS}: machine


More information about the svn-src-all mailing list