x86, boot: Use .code16 instead of .code16gcc
authorDavid Woodhouse <dwmw2@infradead.org>
Fri, 3 Jan 2014 22:30:42 +0000 (22:30 +0000)
committerH. Peter Anvin <hpa@linux.intel.com>
Sat, 4 Jan 2014 21:59:06 +0000 (13:59 -0800)
This reverts commit 28b48688 ("x86, boot: use .code16gcc instead
of .code16").

Versions of binutils older than 2.16 are already not working, so this
workaround is no longer necessary either.  At the same time, some of
the transformations that .code16gcc does can be *extremely*
counterintuitive to a human programmer.

[ hpa: folded ret -> retl and call -> calll fixes from followup patch ]

Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Link: http://lkml.kernel.org/r/1388788242.2391.75.camel@shinybook.infradead.org
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
arch/x86/boot/bioscall.S
arch/x86/boot/copy.S

index 1dfbf64e52a2b013d19c4551837db384e890d80a..507793739ea58f0e26104bd36d6f734cc60f91e1 100644 (file)
@@ -13,7 +13,7 @@
  * touching registers they shouldn't be.
  */
 
-       .code16gcc
+       .code16
        .text
        .globl  intcall
        .type   intcall, @function
index 11f272c6f5e9e0c2fcf11b030ee6d6df3cf2dd64..1eb7d298b47d5466d39e1f0ae8804dc4ebe172bb 100644 (file)
@@ -14,7 +14,7 @@
  * Memory copy routines
  */
 
-       .code16gcc
+       .code16
        .text
 
 GLOBAL(memcpy)
@@ -30,7 +30,7 @@ GLOBAL(memcpy)
        rep; movsb
        popw    %di
        popw    %si
-       ret
+       retl
 ENDPROC(memcpy)
 
 GLOBAL(memset)
@@ -45,25 +45,25 @@ GLOBAL(memset)
        andw    $3, %cx
        rep; stosb
        popw    %di
-       ret
+       retl
 ENDPROC(memset)
 
 GLOBAL(copy_from_fs)
        pushw   %ds
        pushw   %fs
        popw    %ds
-       call    memcpy
+       calll   memcpy
        popw    %ds
-       ret
+       retl
 ENDPROC(copy_from_fs)
 
 GLOBAL(copy_to_fs)
        pushw   %es
        pushw   %fs
        popw    %es
-       call    memcpy
+       calll   memcpy
        popw    %es
-       ret
+       retl
 ENDPROC(copy_to_fs)
 
 #if 0 /* Not currently used, but can be enabled as needed */
@@ -71,17 +71,17 @@ GLOBAL(copy_from_gs)
        pushw   %ds
        pushw   %gs
        popw    %ds
-       call    memcpy
+       calll   memcpy
        popw    %ds
-       ret
+       retl
 ENDPROC(copy_from_gs)
 
 GLOBAL(copy_to_gs)
        pushw   %es
        pushw   %gs
        popw    %es
-       call    memcpy
+       calll   memcpy
        popw    %es
-       ret
+       retl
 ENDPROC(copy_to_gs)
 #endif
This page took 0.02834 seconds and 5 git commands to generate.