linker_script: move .data section to bl_common.ld.h
Move the data section to the common header.

I slightly tweaked some scripts as follows:

[1] bl1.ld.S has ALIGN(16). I added DATA_ALIGN macro, which is 1
    by default, but overridden by bl1.ld.S. Currently, ALIGN(16)
    of the .data section is redundant because commit 412865907699
    ("Fix boot failures on some builds linked with ld.lld.") padded
    out the previous section to work around the issue of LLD version
    <= 10.0. This will be fixed in the future release of LLVM, so
    I am keeping the proper way to align LMA.

[2] bl1.ld.S and bl2_el3.ld.S define __DATA_RAM_{START,END}__ instead
    of __DATA_{START,END}__. I put them out of the .data section.

[3] SORT_BY_ALIGNMENT() is missing tsp.ld.S, sp_min.ld.S, and
    mediatek/mt6795/bl31.ld.S. This commit adds SORT_BY_ALIGNMENT()
    for all images, so the symbol order in those three will change,
    but I do not think it is a big deal.

Change-Id: I215bb23c319f045cd88e6f4e8ee2518c67f03692
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
1 parent a926a9f commit caa3e7e0a4aeb657873bbd2c002c0e33a614eb1d
@Masahiro Yamada Masahiro Yamada authored on 21 Apr 2020
Showing 9 changed files
View
bl1/bl1.ld.S
View
bl2/bl2.ld.S
View
bl2/bl2_el3.ld.S
View
bl2u/bl2u.ld.S
View
bl31/bl31.ld.S
View
bl32/sp_min/sp_min.ld.S
View
bl32/tsp/tsp.ld.S
View
include/common/bl_common.ld.h
View
plat/mediatek/mt6795/bl31.ld.S