bl32: use SORT_BY_ALIGNMENT macro in sp_min.ld.S
The macro SORT_BY_ALIGNMENT is used for .text* and .rodata*. This allows
reducing the space lost to object alignment. This is an alignment with
the following patch:
ebd6efae67
Some comments are also aligned with other linker scripts.
Change-Id: I2ea59edb445af0ed8c08fd883ffbf56852570d0c
Signed-off-by: Yann Gautier <yann.gautier@st.com>
This commit is contained in:
parent
5ecfd89070
commit
b1f596b68b
|
@ -22,14 +22,14 @@ MEMORY {
|
||||||
SECTIONS
|
SECTIONS
|
||||||
{
|
{
|
||||||
. = BL32_BASE;
|
. = BL32_BASE;
|
||||||
ASSERT(. == ALIGN(PAGE_SIZE),
|
ASSERT(. == ALIGN(PAGE_SIZE),
|
||||||
"BL32_BASE address is not aligned on a page boundary.")
|
"BL32_BASE address is not aligned on a page boundary.")
|
||||||
|
|
||||||
#if SEPARATE_CODE_AND_RODATA
|
#if SEPARATE_CODE_AND_RODATA
|
||||||
.text . : {
|
.text . : {
|
||||||
__TEXT_START__ = .;
|
__TEXT_START__ = .;
|
||||||
*entrypoint.o(.text*)
|
*entrypoint.o(.text*)
|
||||||
*(.text*)
|
*(SORT_BY_ALIGNMENT(.text*))
|
||||||
*(.vectors)
|
*(.vectors)
|
||||||
. = ALIGN(PAGE_SIZE);
|
. = ALIGN(PAGE_SIZE);
|
||||||
__TEXT_END__ = .;
|
__TEXT_END__ = .;
|
||||||
|
@ -46,7 +46,7 @@ SECTIONS
|
||||||
|
|
||||||
.rodata . : {
|
.rodata . : {
|
||||||
__RODATA_START__ = .;
|
__RODATA_START__ = .;
|
||||||
*(.rodata*)
|
*(SORT_BY_ALIGNMENT(.rodata*))
|
||||||
|
|
||||||
RODATA_COMMON
|
RODATA_COMMON
|
||||||
|
|
||||||
|
@ -61,8 +61,8 @@ SECTIONS
|
||||||
ro . : {
|
ro . : {
|
||||||
__RO_START__ = .;
|
__RO_START__ = .;
|
||||||
*entrypoint.o(.text*)
|
*entrypoint.o(.text*)
|
||||||
*(.text*)
|
*(SORT_BY_ALIGNMENT(.text*))
|
||||||
*(.rodata*)
|
*(SORT_BY_ALIGNMENT(.rodata*))
|
||||||
|
|
||||||
RODATA_COMMON
|
RODATA_COMMON
|
||||||
|
|
||||||
|
@ -76,7 +76,7 @@ SECTIONS
|
||||||
/*
|
/*
|
||||||
* Memory page(s) mapped to this section will be marked as
|
* Memory page(s) mapped to this section will be marked as
|
||||||
* read-only, executable. No RW data from the next section must
|
* read-only, executable. No RW data from the next section must
|
||||||
* creep in. Ensure the rest of the current memory block is unused.
|
* creep in. Ensure the rest of the current memory page is unused.
|
||||||
*/
|
*/
|
||||||
. = ALIGN(PAGE_SIZE);
|
. = ALIGN(PAGE_SIZE);
|
||||||
__RO_END__ = .;
|
__RO_END__ = .;
|
||||||
|
@ -134,10 +134,10 @@ SECTIONS
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Define a linker symbol to mark end of the RW memory area for this
|
* Define a linker symbol to mark the end of the RW memory area for this
|
||||||
* image.
|
* image.
|
||||||
*/
|
*/
|
||||||
__RW_END__ = .;
|
__RW_END__ = .;
|
||||||
|
|
||||||
__BL32_END__ = .;
|
__BL32_END__ = .;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue