On 3/12/24 04:08, Ilias Apalodimas wrote:
index 33f4624b561d..ccdd1966cfbc 100644
--- a/arch/arm/cpu/armv8/u-boot.lds
+++ b/arch/arm/cpu/armv8/u-boot.lds
@@ -132,7 +132,7 @@ SECTIONS
_end = .;
- .bss ALIGN(8): {
+ .bss : {
__bss_start = .;
*(.bss*)
__bss_end = .;
The code in arch/arm/lib/crt0_64.S assumes __bss_end - __bss_start is a multiple of 8.
But that could probably be replaced by a proper call to memset fairly easily.
diff --git a/arch/arm/cpu/u-boot.lds b/arch/arm/cpu/u-boot.lds
index b6b19a4174fe..a9fcbbf22e96 100644
--- a/arch/arm/cpu/u-boot.lds
+++ b/arch/arm/cpu/u-boot.lds
@@ -155,7 +155,7 @@ SECTIONS
__image_copy_end = .;
- .rel.dyn ALIGN(4) : {
+ .rel.dyn : {
__rel_dyn_start = .;
*(.rel*)
__rel_dyn_end = .;
Because of the overlay, this affects .bss too.
The code in arch/arm/lib/crt0.S may or may not be configured to use memset. When it
isn't, it requires __bss_end - __bss_start to be a multiple of 4. Why does this not
always use memset?
r~