patch-2.2.18 linux/arch/i386/math-emu/get_address.c
Next file: linux/arch/i386/math-emu/poly_tan.c
Previous file: linux/arch/i386/lib/delay.c
Back to the patch index
Back to the overall index
- Lines: 29
- Date:
Fri Sep 1 13:15:46 2000
- Orig file:
v2.2.17/arch/i386/math-emu/get_address.c
- Orig date:
Fri Apr 21 12:45:46 2000
diff -u --new-file --recursive --exclude-from /usr/src/exclude v2.2.17/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--;
@@ -172,14 +173,16 @@
/* fs and gs aren't used by the kernel, so they still have their
user-space values. */
case PREFIX_FS_-1:
- /* The cast is needed here to get gcc 2.8.0 to use a 16 bit register
+ /* The extra variable is needed here to get gcc 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
+ /* The extra variable is needed here to get gcc 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)