summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoremaste <emaste@FreeBSD.org>2017-07-16 17:04:56 +0000
committerLuiz Souza <luiz@netgate.com>2017-07-17 14:18:03 -0500
commit963c98e7cd5f5ea2f9ae1304c1fb4b3cf6457d9a (patch)
treecee011981dfef28288fb8d82505e594a664b0265
parent0efdda663a97f006b8d82842576bdb0f9ae372a6 (diff)
downloadFreeBSD-src-963c98e7cd5f5ea2f9ae1304c1fb4b3cf6457d9a.zip
FreeBSD-src-963c98e7cd5f5ea2f9ae1304c1fb4b3cf6457d9a.tar.gz
MFC r320056: arm: set appropriate section flags for .init_pagetable
The arm kernel linker scripts place the .init_pagetable section in .bss, but .init_pagetable had no section flags set, and so did not match the expected flags for .bss. GNU ld silently ignores this case, but lld reports an error: ld: error: incompatible section flags for .bss >>> locore.o:(.init_pagetable): 0x0 >>> output section .bss: 0x3 PR: 220055 Sponsored by: The FreeBSD Foundation (cherry picked from commit 59f2914bf48137dbeb3227ff659c9aca14bc8c63)
-rw-r--r--sys/arm/arm/locore-v4.S2
-rw-r--r--sys/arm/arm/locore-v6.S2
2 files changed, 2 insertions, 2 deletions
diff --git a/sys/arm/arm/locore-v4.S b/sys/arm/arm/locore-v4.S
index afba08e..6759f4f 100644
--- a/sys/arm/arm/locore-v4.S
+++ b/sys/arm/arm/locore-v4.S
@@ -355,7 +355,7 @@ svcstk:
* Memory for the initial pagetable. We are unable to place this in
* the bss as this will be cleared after the table is loaded.
*/
- .section ".init_pagetable"
+ .section ".init_pagetable", "aw", %nobits
.align 14 /* 16KiB aligned */
pagetable:
.space L1_TABLE_SIZE
diff --git a/sys/arm/arm/locore-v6.S b/sys/arm/arm/locore-v6.S
index fabe450..10aaace 100644
--- a/sys/arm/arm/locore-v6.S
+++ b/sys/arm/arm/locore-v6.S
@@ -429,7 +429,7 @@ svcstk:
* Memory for the initial pagetable. We are unable to place this in
* the bss as this will be cleared after the table is loaded.
*/
- .section ".init_pagetable"
+ .section ".init_pagetable", "aw", %nobits
.align 14 /* 16KiB aligned */
.globl boot_pt1
boot_pt1:
OpenPOWER on IntegriCloud