svn commit: r295538 - in stable/10/sys/boot: efi efi/libefi ia64/efi

Steven Hartland smh at FreeBSD.org
Thu Feb 11 17:56:11 UTC 2016


Author: smh
Date: Thu Feb 11 17:56:09 2016
New Revision: 295538
URL: https://svnweb.freebsd.org/changeset/base/295538

Log:
  Fix ia64 build failures in EFI platform
  
  The MFC of the recent EFI work to stable/10 caused build breakage
  under ia64.
  
  It was not apparent that there was EFI code outside the EFI tree as
  this is not the case in HEAD, however in stable/10 there is for ia64.
  
  This change does the following:
  * Re-enables libefi for ia64 under gcc.
  * Adds the ignore for unsupported pragma's when building libefi for ia64.
  * Adds the missing parameter to efi_handle_lookup in the ia64 loader.
  
  This is a direct commit as ia64 is no longer supported after 10.x
  
  Approved by:	re (marius)
  Sponsored by:	Multiplay

Modified:
  stable/10/sys/boot/efi/Makefile
  stable/10/sys/boot/efi/libefi/Makefile
  stable/10/sys/boot/ia64/efi/main.c

Modified: stable/10/sys/boot/efi/Makefile
==============================================================================
--- stable/10/sys/boot/efi/Makefile	Thu Feb 11 17:55:17 2016	(r295537)
+++ stable/10/sys/boot/efi/Makefile	Thu Feb 11 17:56:09 2016	(r295538)
@@ -11,5 +11,9 @@ SUBDIR+=	libefi loader boot1
 
 .endif # ${COMPILER_TYPE} != "gcc"
 
+.if ${MACHINE_CPUARCH} == "ia64"
+SUBDIR+=	libefi
+.endif
+
 .include <bsd.subdir.mk>
 

Modified: stable/10/sys/boot/efi/libefi/Makefile
==============================================================================
--- stable/10/sys/boot/efi/libefi/Makefile	Thu Feb 11 17:55:17 2016	(r295537)
+++ stable/10/sys/boot/efi/libefi/Makefile	Thu Feb 11 17:56:09 2016	(r295538)
@@ -1,5 +1,7 @@
 # $FreeBSD$
 
+.include <bsd.own.mk>
+
 LIB=	efi
 INTERNALLIB=
 WARNS?=	2
@@ -7,6 +9,10 @@ WARNS?=	2
 SRCS=	delay.c efi_console.c efinet.c efipart.c errno.c handles.c \
 	libefi.c time.c
 
+.if ${MACHINE_CPUARCH} == "ia64"
+IGNORE_PRAGMA=	1
+.endif
+
 .if ${MACHINE_ARCH} == "amd64"
 CFLAGS+= -fPIC -mno-red-zone
 .endif

Modified: stable/10/sys/boot/ia64/efi/main.c
==============================================================================
--- stable/10/sys/boot/ia64/efi/main.c	Thu Feb 11 17:55:17 2016	(r295537)
+++ stable/10/sys/boot/ia64/efi/main.c	Thu Feb 11 17:56:09 2016	(r295538)
@@ -179,7 +179,8 @@ main(int argc, CHAR16 *argv[])
 	BS->HandleProtocol(IH, &imgid, (VOID**)&img);
 
 	bzero(&currdev, sizeof(currdev));
-	efi_handle_lookup(img->DeviceHandle, &currdev.d_dev, &currdev.d_unit);
+	efi_handle_lookup(img->DeviceHandle, &currdev.d_dev,
+	    &currdev.d_unit, NULL);
 	currdev.d_type = currdev.d_dev->dv_type;
 
 	env_setenv("loaddev", EV_VOLATILE, ia64_fmtdev(&currdev), env_noset,


More information about the svn-src-all mailing list