From: Ian Campbell Date: Mon, 21 Jul 2014 13:00:00 +0000 (+0100) Subject: xen: arm: Correctly use GLOBAL/ENTRY in head.S, avoid .global X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~4611 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=c3412c04b1eeb986670d3c74e5c6c481a0ab9efb;p=xen.git xen: arm: Correctly use GLOBAL/ENTRY in head.S, avoid .global Use ENTRY() for function entry points since it ensures correct alignment where GLOBAL() doesn't. The exception is the initial start label which must be at offset 0, so just use GLOBAL() to avoid the possibility of realignment. Since everything happens to already be aligned there should be no difference to the actual binary. objdump agrees. Signed-off-by: Ian Campbell Acked-by: Julien Grall --- diff --git a/xen/arch/arm/arm32/head.S b/xen/arch/arm/arm32/head.S index 2547ce1d6d..ec5797462c 100644 --- a/xen/arch/arm/arm32/head.S +++ b/xen/arch/arm/arm32/head.S @@ -76,8 +76,7 @@ * It should be linked at XEN_VIRT_START, and loaded at any * 4K-aligned address. All of text+data+bss must fit in 2MB, * or the initial pagetable code below will need adjustment. */ - .global start -start: +GLOBAL(start) /* zImage magic header, see: * http://www.simtec.co.uk/products/SWLINUX/files/booting_article.html#d0e309 */ @@ -583,16 +582,15 @@ hex: .ascii "0123456789abcdef" #else /* CONFIG_EARLY_PRINTK */ +ENTRY(early_puts) init_uart: -.global early_puts -early_puts: puts: putn: mov pc, lr #endif /* !CONFIG_EARLY_PRINTK */ /* This provides a C-API version of __lookup_processor_type */ -GLOBAL(lookup_processor_type) +ENTRY(lookup_processor_type) stmfd sp!, {r4, r10, lr} mov r10, #0 /* r10 := offset between virt&phys */ bl __lookup_processor_type diff --git a/xen/arch/arm/arm64/head.S b/xen/arch/arm/arm64/head.S index b71b6f0812..dcb7071494 100644 --- a/xen/arch/arm/arm64/head.S +++ b/xen/arch/arm/arm64/head.S @@ -100,8 +100,7 @@ * or the initial pagetable code below will need adjustment. */ - .global start -start: +GLOBAL(start) /* * DO NOT MODIFY. Image header expected by Linux boot-loaders. */ @@ -604,9 +603,8 @@ hex: .ascii "0123456789abcdef" #else /* CONFIG_EARLY_PRINTK */ +ENTRY(early_puts) init_uart: -.global early_puts -early_puts: puts: putn: ret @@ -615,7 +613,7 @@ putn: ret /* This provides a C-API version of __lookup_processor_type * TODO: For now, the implementation return NULL every time */ -GLOBAL(lookup_processor_type) +ENTRY(lookup_processor_type) mov x0, #0 ret