[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[xen master] xen/arm: Ensure the start *(.proc.info) of is 4-byte aligned



commit 380a8c0c65bfb84dab54ab4641cca1387cc41edb
Author:     Oleksii Kurochko <oleksii.kurochko@xxxxxxxxx>
AuthorDate: Wed Mar 1 18:14:07 2023 +0200
Commit:     Julien Grall <jgrall@xxxxxxxxxx>
CommitDate: Thu Mar 2 14:48:12 2023 +0000

    xen/arm: Ensure the start *(.proc.info) of is 4-byte aligned
    
    The entries in *(.proc.info) are expected to be 4-byte aligned and the
    compiler will access them using 4-byte load instructions. On Arm32, the
    alignment is strictly enforced by the processor and will result to a data
    abort if it is not correct.
    
    However, the linker script doesn't encode this requirement. So we are at
    the mercy of the compiler/linker to have padded the previous sections
    suitably.
    
    This was spotted when trying to use the upcoming generic bug
    infrastructure with the compiler provided by Yocto.
    
    Link: 
https://lore.kernel.org/xen-devel/6735859208c6dcb7320f89664ae298005f70827b.camel@xxxxxxxxx/
    Signed-off-by: Oleksii Kurochko <oleksii.kurochko@xxxxxxxxx>
    Reviewed-by: Julien Grall <jgrall@xxxxxxxxxx>
---
 xen/arch/arm/xen.lds.S | 1 +
 1 file changed, 1 insertion(+)

diff --git a/xen/arch/arm/xen.lds.S b/xen/arch/arm/xen.lds.S
index 3f7ebd19f3..1b392345bc 100644
--- a/xen/arch/arm/xen.lds.S
+++ b/xen/arch/arm/xen.lds.S
@@ -67,6 +67,7 @@ SECTIONS
        *(.data.rel.ro)
        *(.data.rel.ro.*)
 
+       . = ALIGN(4);
        __proc_info_start = .;
        *(.proc.info)
        __proc_info_end = .;
--
generated by git-patchbot for /home/xen/git/xen.git#master



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.