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.
This commit is contained in:
Andrew Turner 2015-05-05 11:00:50 +00:00
parent ce0023d851
commit 5031d03e5a
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=282474
3 changed files with 8 additions and 0 deletions

View File

@ -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

View File

@ -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

View File

@ -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