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

[Xen-changelog] [xen master] xen: arm: Correctly use GLOBAL/ENTRY in head.S, avoid .global



commit c3412c04b1eeb986670d3c74e5c6c481a0ab9efb
Author:     Ian Campbell <ian.campbell@xxxxxxxxxx>
AuthorDate: Mon Jul 21 14:00:00 2014 +0100
Commit:     Ian Campbell <ian.campbell@xxxxxxxxxx>
CommitDate: Thu Jul 24 16:23:17 2014 +0100

    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 <ian.campbell@xxxxxxxxxx>
    Acked-by: Julien Grall <julien.grall@xxxxxxxxxx>
---
 xen/arch/arm/arm32/head.S |    8 +++-----
 xen/arch/arm/arm64/head.S |    8 +++-----
 2 files changed, 6 insertions(+), 10 deletions(-)

diff --git a/xen/arch/arm/arm32/head.S b/xen/arch/arm/arm32/head.S
index 2547ce1..ec57974 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 b71b6f0..dcb7071 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
 
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

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