x86/boot: Align e820 and video data in the boot trampoline
authorAndrew Cooper <andrew.cooper3@citrix.com>
Thu, 11 Aug 2016 16:32:10 +0000 (16:32 +0000)
committerAndrew Cooper <andrew.cooper3@citrix.com>
Fri, 12 Aug 2016 12:51:43 +0000 (13:51 +0100)
The undefined behaviour sanitiser in Clang 3.8 identifies that these are all
misaigned when used in __start_xen().

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
xen/arch/x86/boot/mem.S
xen/arch/x86/boot/video.S

index 820aea94166aa9fda0df52a21e7d66b7a452b54d..602ab2cd6711df22a881df9e51f1b7c6e8475286 100644 (file)
@@ -67,6 +67,7 @@ get_memory_map:
 
         ret
 
+        .align  4
 GLOBAL(e820map)
         .fill   E820MAX*20,1,0
 GLOBAL(e820nr)
index b238bf3af5119204160ed11aaa860bcc2488d9b2..2aafbebfd820efe06ffed325360841a446b76392 100644 (file)
@@ -994,6 +994,7 @@ force_size:     .word   0       # Use this size instead of the one in BIOS vars
 vesa_size:      .word   0,0,0   # width x depth x height
 
 /* If we don't run at all, assume basic video mode 3 at 80x25. */
+        .align  2
 GLOBAL(boot_vid_mode)
         .word   VIDEO_80x25
 GLOBAL(boot_vid_info)