ARM: Specify aligned address for secure section instead of using attributes
authorChen-Yu Tsai <wens@csie.org>
Thu, 6 Sep 2018 03:56:28 +0000 (11:56 +0800)
committerTom Rini <trini@konsulko.com>
Fri, 7 Sep 2018 13:11:42 +0000 (09:11 -0400)
In commit a1274cc94a20 ("ARM: Page align secure section only when it is
executed in situ"), we used output section attributes (the "ALIGN"
keyword after the colon) to specify the alignment requirements. Using
the constant "COMMONPAGE" there was recently broken in binutils 2.31 [1].

Binutils maintainer Alan Modra suggested the former method would still
work. Since both methods achieve the same result, this patch does just
that. This fixes the "reboot after bootm" issue we've been seeing on
sunxi when booting non-secure.

  [1] https://sourceware.org/bugzilla/show_bug.cgi?id=23571

Suggested-by: Alan Modra <amodra@gmail.com>
Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Reviewed-by: Tom Rini <trini@konsulko.com>
Acked-by: Jagan Teki <jagan@openedev.com>
arch/arm/cpu/u-boot.lds

index 834dc99554c90a1cbcc24432bb4c3d69e1b0e9ce..0eb164d2e694d44e03e1313d41ba2a03435c91a6 100644 (file)
@@ -68,11 +68,11 @@ SECTIONS
 #ifdef CONFIG_ARMV7_NONSEC
 
        /* Align the secure section only if we're going to use it in situ */
-       .__secure_start :
+       .__secure_start
 #ifndef CONFIG_ARMV7_SECURE_BASE
                ALIGN(CONSTANT(COMMONPAGESIZE))
 #endif
-       {
+       {
                KEEP(*(.__secure_start))
        }