patches/linux/2.6.11.3/150-linux-2.6.11-allow-gcc-4.0-asm-x86_64.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Feb 17 22:08:06 2008 +0000 (2008-02-17)
changeset 431 8bde4c6ea47a
permissions -rw-r--r--
Robert P. J. DAY says:

apparently, the patchset for gcc 4.2.1 applies properly to the
source for gcc 4.2.2 and gcc 4.2.3. so, if you want, you can simply
add support for those last two just by augmenting menuconfig and
adding a couple symlinks for those two directories. seems like a
cheap way to add a couple new versions.
yann@402
     1
Fixes:
yann@402
     2
yann@402
     3
In file included from include/linux/spinlock.h:16,
yann@402
     4
                 from include/linux/capability.h:45,
yann@402
     5
                 from include/linux/sched.h:7,
yann@402
     6
                 from arch/x86_64/kernel/asm-offsets.c:7:
yann@402
     7
include/asm/processor.h:79: error: array type has incomplete element type
yann@402
     8
make[1]: *** [arch/x86_64/kernel/asm-offsets.asm] Error 1
yann@402
     9
yann@402
    10
--- linux-2.6.11.3/include/asm-x86_64/processor.h.old	Tue Mar 15 07:05:07 2005
yann@402
    11
+++ linux-2.6.11.3/include/asm-x86_64/processor.h	Tue Mar 15 07:09:53 2005
yann@402
    12
@@ -179,7 +179,6 @@
yann@402
    13
 #define IO_BITMAP_BITS  65536
yann@402
    14
 #define IO_BITMAP_BYTES (IO_BITMAP_BITS/8)
yann@402
    15
 #define IO_BITMAP_LONGS (IO_BITMAP_BYTES/sizeof(long))
yann@402
    16
-#define IO_BITMAP_OFFSET offsetof(struct tss_struct,io_bitmap)
yann@402
    17
 #define INVALID_IO_BITMAP_OFFSET 0x8000
yann@402
    18
 
yann@402
    19
 struct i387_fxsave_struct {
yann@402
    20
@@ -222,6 +221,8 @@
yann@402
    21
 	 */
yann@402
    22
 	unsigned long io_bitmap[IO_BITMAP_LONGS + 1];
yann@402
    23
 } __attribute__((packed)) ____cacheline_aligned;
yann@402
    24
+
yann@402
    25
+#define IO_BITMAP_OFFSET offsetof(struct tss_struct,io_bitmap)
yann@402
    26
 
yann@402
    27
 extern struct cpuinfo_x86 boot_cpu_data;
yann@402
    28
 DECLARE_PER_CPU(struct tss_struct,init_tss);