Merge "chore(bl): add UNALIGNED symbols for TEXT/RODATA" into integration

This commit is contained in:
Sandrine Bailleux 2023-06-12 14:43:17 +02:00 committed by TrustedFirmware Code Review
commit 7ae96dcebd
9 changed files with 17 additions and 1 deletions

View file

@ -41,6 +41,7 @@ SECTIONS {
*bl1_entrypoint.o(.text*)
*(SORT_BY_ALIGNMENT(.text*))
*(.vectors)
__TEXT_END_UNALIGNED__ = .;
. = ALIGN(PAGE_SIZE);
@ -72,6 +73,7 @@ SECTIONS {
* aligned and lld does not align the LMA to the alignment specified
* on the .data section.
*/
__RODATA_END_UNALIGNED__ = .;
__RODATA_END__ = .;
. = ALIGN(16);

View file

@ -35,6 +35,7 @@ SECTIONS {
*(SORT_BY_ALIGNMENT(.text*))
*(.vectors)
__TEXT_END_UNALIGNED__ = .;
. = ALIGN(PAGE_SIZE);
@ -57,6 +58,7 @@ SECTIONS {
RODATA_COMMON
__RODATA_END_UNALIGNED__ = .;
. = ALIGN(PAGE_SIZE);
__RODATA_END__ = .;

View file

@ -65,6 +65,7 @@ SECTIONS {
*(SORT_BY_ALIGNMENT(.text*))
*(.vectors)
__TEXT_END_UNALIGNED__ = .;
. = ALIGN(PAGE_SIZE);
@ -78,6 +79,7 @@ SECTIONS {
RODATA_COMMON
__RODATA_END_UNALIGNED__ = .;
. = ALIGN(PAGE_SIZE);
__RODATA_END__ = .;

View file

@ -32,6 +32,7 @@ SECTIONS {
*bl2u_entrypoint.o(.text*)
*(SORT_BY_ALIGNMENT(.text*))
*(.vectors)
__TEXT_END_UNALIGNED__ = .;
. = ALIGN(PAGE_SIZE);
@ -53,6 +54,7 @@ SECTIONS {
RODATA_COMMON
__RODATA_END_UNALIGNED__ = .;
. = ALIGN(PAGE_SIZE);
__RODATA_END__ = .;
} >RAM

View file

@ -42,6 +42,7 @@ SECTIONS {
*bl31_entrypoint.o(.text*)
*(SORT_BY_ALIGNMENT(SORT(.text*)))
*(.vectors)
__TEXT_END_UNALIGNED__ = .;
. = ALIGN(PAGE_SIZE);
@ -62,6 +63,7 @@ SECTIONS {
. = ALIGN(8);
# include <lib/el3_runtime/pubsub_events.h>
__RODATA_END_UNALIGNED__ = .;
. = ALIGN(PAGE_SIZE);

View file

@ -34,6 +34,7 @@ SECTIONS {
*entrypoint.o(.text*)
*(SORT_BY_ALIGNMENT(.text*))
*(.vectors)
__TEXT_END_UNALIGNED__ = .;
. = ALIGN(PAGE_SIZE);
@ -58,6 +59,7 @@ SECTIONS {
. = ALIGN(8);
# include <lib/el3_runtime/pubsub_events.h>
__RODATA_END_UNALIGNED__ = .;
. = ALIGN(PAGE_SIZE);

View file

@ -30,6 +30,7 @@ SECTIONS {
*tsp_entrypoint.o(.text*)
*(.text*)
*(.vectors)
__TEXT_END_UNALIGNED__ = .;
. = ALIGN(PAGE_SIZE);
@ -43,6 +44,7 @@ SECTIONS {
RODATA_COMMON
__RODATA_END_UNALIGNED__ = .;
. = ALIGN(PAGE_SIZE);
__RODATA_END__ = .;

View file

@ -1559,8 +1559,10 @@ The following linker symbols are defined for this purpose:
- ``__RO_START__``
- ``__RO_END__``
- ``__TEXT_START__``
- ``__TEXT_END_UNALIGNED__``
- ``__TEXT_END__``
- ``__RODATA_START__``
- ``__RODATA_END_UNALIGNED__``
- ``__RODATA_END__``
BL1's linker symbols

View file

@ -100,7 +100,7 @@ def main(
if symbols:
expr = (
r"(.*)(TEXT|BSS|RODATA|STACKS|_OPS|PMF|XLAT|GOT|FCONF"
r"|R.M)(.*)(START|END)__$"
r"|R.M)(.*)(START|UNALIGNED|END)__$"
)
printer.print_symbol_table(
parser.filter_symbols(parser.symbols, expr), parser.module_names