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 834dc99..0eb164d 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))
        }