aboutsummaryrefslogtreecommitdiff
path: root/stand/efi/loader/arch
diff options
context:
space:
mode:
authorKyle Evans <kevans@FreeBSD.org>2018-01-18 22:46:47 +0000
committerKyle Evans <kevans@FreeBSD.org>2018-01-18 22:46:47 +0000
commit62821e572020f44989b669223b73678d6393de75 (patch)
treee050c27823cef206adfb926b3db150dbbc1635c5 /stand/efi/loader/arch
parent4e617d8cb94521a1708a9bd2d4f0e8c8a7f6386d (diff)
downloadsrc-62821e572020f44989b669223b73678d6393de75.tar.gz
src-62821e572020f44989b669223b73678d6393de75.zip
stand: Move sections around to fix stand/ build with ld.lld on armv7
When building loader bits, lld fails with the following error: "ld: error: section: .dynamic is not contiguous with other relro sections" on both ubldr and EFI loader. Move .dynamic up to make ld.lld happy, adjust .got as necessary for ubldr. Tested on: OrangePi One (ld.lld, ubldr) Tested on: Banana Pi-M3 (ld.lld, ubldr) Tested on: qemu-armv7 (ld.lld, EFI) Tested on: qemu-armv7 (ld.bfd, EFI) Tested on: Raspberry Pi 2 (ld.bfd, ubldr) [manu] Tested on: Banana Pi-M2 (ld.bfd, ubldr) [manu] Reviewed by: andrew, emaste, imp Differential Revision: https://reviews.freebsd.org/D13942
Notes
Notes: svn path=/head/; revision=328156
Diffstat (limited to 'stand/efi/loader/arch')
-rw-r--r--stand/efi/loader/arch/arm/ldscript.arm2
1 files changed, 1 insertions, 1 deletions
diff --git a/stand/efi/loader/arch/arm/ldscript.arm b/stand/efi/loader/arch/arm/ldscript.arm
index 9f6e7c29117e..68775a88a9cd 100644
--- a/stand/efi/loader/arch/arm/ldscript.arm
+++ b/stand/efi/loader/arch/arm/ldscript.arm
@@ -35,6 +35,7 @@ SECTIONS
. = ALIGN(4);
PROVIDE (__bss_end = .);
}
+ .dynamic : { *(.dynamic) }
/* We want the small data sections together, so single-instruction offsets
can access them all, and initialized data all before uninitialized, so
we can shorten the on-disk segment size. */
@@ -54,7 +55,6 @@ SECTIONS
}
__gp = .;
.plt : { *(.plt) }
- .dynamic : { *(.dynamic) }
.reloc : { *(.reloc) }
.dynsym : { *(.dynsym) }
.dynstr : { *(.dynstr) }