svn commit: r282474 - in head/sys/boot/efi: boot1 libefi loader/arch/arm64

Andrew Turner andrew at FreeBSD.org
Tue May 5 11:00:52 UTC 2015


Author: andrew
Date: Tue May  5 11:00:50 2015
New Revision: 282474
URL: https://svnweb.freebsd.org/changeset/base/282474

Log:
  Disable the use of floating-point and vector registers in the loader. They
  need the vfp unit to be enabled which may not be the case.

Modified:
  head/sys/boot/efi/boot1/Makefile
  head/sys/boot/efi/libefi/Makefile
  head/sys/boot/efi/loader/arch/arm64/Makefile.inc

Modified: head/sys/boot/efi/boot1/Makefile
==============================================================================
--- head/sys/boot/efi/boot1/Makefile	Tue May  5 10:56:16 2015	(r282473)
+++ head/sys/boot/efi/boot1/Makefile	Tue May  5 11:00:50 2015	(r282474)
@@ -33,6 +33,9 @@ FILESMODE_boot1.efi=	${BINMODE}
 LDSCRIPT=	${.CURDIR}/../loader/arch/${MACHINE}/ldscript.${MACHINE}
 LDFLAGS=	-Wl,-T${LDSCRIPT} -Wl,-Bsymbolic -shared
 
+.if ${MACHINE_CPUARCH} == "aarch64"
+CFLAGS+=	-msoft-float -mgeneral-regs-only
+.endif
 .if ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "i386"
 CFLAGS+=	-fPIC
 LDFLAGS+=	-Wl,-znocombreloc

Modified: head/sys/boot/efi/libefi/Makefile
==============================================================================
--- head/sys/boot/efi/libefi/Makefile	Tue May  5 10:56:16 2015	(r282473)
+++ head/sys/boot/efi/libefi/Makefile	Tue May  5 11:00:50 2015	(r282474)
@@ -6,6 +6,9 @@ INTERNALLIB=
 SRCS=	delay.c efi_console.c efinet.c efipart.c errno.c handles.c \
 	libefi.c time.c
 
+.if ${MACHINE_CPUARCH} == "aarch64"
+CFLAGS+=	-msoft-float -mgeneral-regs-only
+.endif
 .if ${MACHINE_ARCH} == "amd64"
 CFLAGS+= -fPIC -mno-red-zone
 .endif

Modified: head/sys/boot/efi/loader/arch/arm64/Makefile.inc
==============================================================================
--- head/sys/boot/efi/loader/arch/arm64/Makefile.inc	Tue May  5 10:56:16 2015	(r282473)
+++ head/sys/boot/efi/loader/arch/arm64/Makefile.inc	Tue May  5 11:00:50 2015	(r282474)
@@ -7,3 +7,5 @@ SRCS+=	exec.c \
 .PATH:	${.CURDIR}/../../arm64/libarm64
 CFLAGS+=-I${.CURDIR}/../../arm64/libarm64
 SRCS+=	cache.c
+
+CFLAGS+=	-msoft-float -mgeneral-regs-only


More information about the svn-src-all mailing list