Commit 41286590 authored by Arve Hjønnevåg's avatar Arve Hjønnevåg
Browse files

Fix boot failures on some builds linked with ld.lld.



Pad the .rodata section to 16 bytes as ld.lld does not apply the ALIGN
statement on the .data section to the LMA. Fixes boot failure on builds
where the .rodata section happens to not be 16 bytes aligned.

Change-Id: I4e95678f73d8b326c5fc749dc7d0ce84e2d603f5
Signed-off-by: default avatarArve Hjønnevåg <arve@android.com>
parent 76776c2c
...@@ -65,8 +65,13 @@ SECTIONS ...@@ -65,8 +65,13 @@ SECTIONS
* No need to pad out the .rodata section to a page boundary. Next is * No need to pad out the .rodata section to a page boundary. Next is
* the .data section, which can mapped in ROM with the same memory * the .data section, which can mapped in ROM with the same memory
* attributes as the .rodata section. * attributes as the .rodata section.
*
* Pad out to 16 bytes though as .data section needs to be 16 byte
* aligned and lld does not align the LMA to the aligment specified
* on the .data section.
*/ */
__RODATA_END__ = .; __RODATA_END__ = .;
. = ALIGN(16);
} >ROM } >ROM
#else #else
ro . : { ro . : {
...@@ -92,6 +97,13 @@ SECTIONS ...@@ -92,6 +97,13 @@ SECTIONS
*(.vectors) *(.vectors)
__RO_END__ = .; __RO_END__ = .;
/*
* Pad out to 16 bytes as .data section needs to be 16 byte aligned and
* lld does not align the LMA to the aligment specified on the .data
* section.
*/
. = ALIGN(16);
} >ROM } >ROM
#endif #endif
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment