patch-2.4.0-test2 linux/arch/i386/math-emu/get_address.c

Next file: linux/arch/ia64/Makefile
Previous file: linux/arch/i386/math-emu/fpu_entry.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.4.0-test1/linux/arch/i386/math-emu/get_address.c linux/arch/i386/math-emu/get_address.c
@@ -155,6 +155,7 @@
 { 
   struct desc_struct descriptor;
   unsigned long base_address, limit, address, seg_top;
+  unsigned short selector;
 
   segment--;
 
@@ -174,12 +175,15 @@
     case PREFIX_FS_-1:
       /* The cast is needed here to get gcc 2.8.0 to use a 16 bit register
 	 in the assembler statement. */
-      __asm__("mov %%fs,%0":"=r" ((unsigned short)addr->selector));
+
+      __asm__("mov %%fs,%0":"=r" (selector));
+      addr->selector = selector;
       break;
     case PREFIX_GS_-1:
       /* The cast is needed here to get gcc 2.8.0 to use a 16 bit register
 	 in the assembler statement. */
-      __asm__("mov %%gs,%0":"=r" ((unsigned short)addr->selector));
+      __asm__("mov %%gs,%0":"=r" (selector));
+      addr->selector = selector;
       break;
     default:
       addr->selector = PM_REG_(segment);

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)