svn commit: r320547 - in head/sys/boot: arm/uboot efi/boot1 efi/loader
Ed Maste
emaste at FreeBSD.org
Sat Jul 1 18:48:17 UTC 2017
Author: emaste
Date: Sat Jul 1 18:48:15 2017
New Revision: 320547
URL: https://svnweb.freebsd.org/changeset/base/320547
Log:
Link EFI/uboot loaders with -znotext
By default LLD links with relocations disallowed against readonly
sections (e.g., .text), but the 32-bit ARM EFI & uboot boot bits require
such relocations. -znotext is either ignored as an unknown -z option
(in-tree lld 2.17.50) or is already the default (GNU ld or GNU gold from
ports) so we can just add it unconditionally to allow building with LLD.
This is similar to the change in r320179 for the kernel link.
Sponsored by: The FreeBSD Foundation
Modified:
head/sys/boot/arm/uboot/Makefile
head/sys/boot/efi/boot1/Makefile
head/sys/boot/efi/loader/Makefile
Modified: head/sys/boot/arm/uboot/Makefile
==============================================================================
--- head/sys/boot/arm/uboot/Makefile Sat Jul 1 16:42:09 2017 (r320546)
+++ head/sys/boot/arm/uboot/Makefile Sat Jul 1 18:48:15 2017 (r320547)
@@ -100,6 +100,7 @@ CLEANFILES+= loader.help
CFLAGS+= -ffreestanding -msoft-float
LDFLAGS= -nostdlib -static -T ${.CURDIR}/ldscript.${MACHINE_CPUARCH}
+LDFLAGS+= -Wl,-znotext
# Pull in common loader code
.PATH: ${.CURDIR}/../../uboot/common
Modified: head/sys/boot/efi/boot1/Makefile
==============================================================================
--- head/sys/boot/efi/boot1/Makefile Sat Jul 1 16:42:09 2017 (r320546)
+++ head/sys/boot/efi/boot1/Makefile Sat Jul 1 18:48:15 2017 (r320547)
@@ -68,7 +68,7 @@ FILES= boot1.efi boot1.efifat
FILESMODE_boot1.efi= ${BINMODE}
LDSCRIPT= ${.CURDIR}/../loader/arch/${MACHINE}/ldscript.${MACHINE}
-LDFLAGS+= -Wl,-T${LDSCRIPT} -Wl,-Bsymbolic -shared
+LDFLAGS+= -Wl,-T${LDSCRIPT},-Bsymbolic,-znotext -shared
.if ${MACHINE_CPUARCH} == "aarch64"
CFLAGS+= -mgeneral-regs-only
Modified: head/sys/boot/efi/loader/Makefile
==============================================================================
--- head/sys/boot/efi/loader/Makefile Sat Jul 1 16:42:09 2017 (r320546)
+++ head/sys/boot/efi/loader/Makefile Sat Jul 1 18:48:15 2017 (r320547)
@@ -116,7 +116,7 @@ FILES+= loader.efi
FILESMODE_loader.efi= ${BINMODE}
LDSCRIPT= ${.CURDIR}/arch/${MACHINE}/ldscript.${MACHINE}
-LDFLAGS+= -Wl,-T${LDSCRIPT} -Wl,-Bsymbolic -shared
+LDFLAGS+= -Wl,-T${LDSCRIPT},-Bsymbolic,-znotext -shared
CLEANFILES+= loader.efi
More information about the svn-src-head
mailing list