patches/linux/2.6.8/110-linux-2.6.8-allow-gcc-4.0-asm-i386.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sat Jul 26 15:12:33 2008 +0000 (2008-07-26)
branch1.2
changeset 730 823ac8f8e9fd
permissions -rw-r--r--
Backport #849 from trunk:
Remove garbage files left behind by downloads from sourceforge.net.

/branches/1.2/scripts/build/debug/500-strace.sh | 4 4 0 0 ++++
/branches/1.2/scripts/build/debug/200-duma.sh | 5 4 1 0 ++++-
2 files changed, 8 insertions(+), 1 deletion(-)
yann@402
     1
Fixes
yann@402
     2
yann@402
     3
In file included from include/asm/thread_info.h:16,
yann@402
     4
                 from include/linux/thread_info.h:21,
yann@402
     5
                 from include/linux/spinlock.h:12,
yann@402
     6
                 from include/linux/capability.h:45,
yann@402
     7
                 from include/linux/sched.h:7,
yann@402
     8
                 from arch/i386/kernel/asm-offsets.c:7:
yann@402
     9
include/asm/processor.h:87: error: array type has incomplete element type
yann@402
    10
make[1]: *** [arch/i386/kernel/asm-offsets.asm] Error 1
yann@402
    11
yann@402
    12
--- linux-2.6.8/include/asm-i386/processor.h.old	Tue Mar 15 00:14:42 2005
yann@402
    13
+++ linux-2.6.8/include/asm-i386/processor.h	Tue Mar 15 00:18:45 2005
yann@402
    14
@@ -79,6 +79,58 @@
yann@402
    15
 #define X86_VENDOR_UNKNOWN 0xff
yann@402
    16
 
yann@402
    17
 /*
yann@402
    18
+ * Size of io_bitmap.
yann@402
    19
+ */
yann@402
    20
+#define IO_BITMAP_BITS  65536
yann@402
    21
+#define IO_BITMAP_BYTES (IO_BITMAP_BITS/8)
yann@402
    22
+#define IO_BITMAP_LONGS (IO_BITMAP_BYTES/sizeof(long))
yann@402
    23
+#define IO_BITMAP_OFFSET offsetof(struct tss_struct,io_bitmap)
yann@402
    24
+#define INVALID_IO_BITMAP_OFFSET 0x8000
yann@402
    25
+
yann@402
    26
+struct tss_struct {
yann@402
    27
+	unsigned short	back_link,__blh;
yann@402
    28
+	unsigned long	esp0;
yann@402
    29
+	unsigned short	ss0,__ss0h;
yann@402
    30
+	unsigned long	esp1;
yann@402
    31
+	unsigned short	ss1,__ss1h;	/* ss1 is used to cache MSR_IA32_SYSENTER_CS */
yann@402
    32
+	unsigned long	esp2;
yann@402
    33
+	unsigned short	ss2,__ss2h;
yann@402
    34
+	unsigned long	__cr3;
yann@402
    35
+	unsigned long	eip;
yann@402
    36
+	unsigned long	eflags;
yann@402
    37
+	unsigned long	eax,ecx,edx,ebx;
yann@402
    38
+	unsigned long	esp;
yann@402
    39
+	unsigned long	ebp;
yann@402
    40
+	unsigned long	esi;
yann@402
    41
+	unsigned long	edi;
yann@402
    42
+	unsigned short	es, __esh;
yann@402
    43
+	unsigned short	cs, __csh;
yann@402
    44
+	unsigned short	ss, __ssh;
yann@402
    45
+	unsigned short	ds, __dsh;
yann@402
    46
+	unsigned short	fs, __fsh;
yann@402
    47
+	unsigned short	gs, __gsh;
yann@402
    48
+	unsigned short	ldt, __ldth;
yann@402
    49
+	unsigned short	trace, io_bitmap_base;
yann@402
    50
+	/*
yann@402
    51
+	 * The extra 1 is there because the CPU will access an
yann@402
    52
+	 * additional byte beyond the end of the IO permission
yann@402
    53
+	 * bitmap. The extra byte must be all 1 bits, and must
yann@402
    54
+	 * be within the limit.
yann@402
    55
+	 */
yann@402
    56
+	unsigned long	io_bitmap[IO_BITMAP_LONGS + 1];
yann@402
    57
+	/*
yann@402
    58
+	 * pads the TSS to be cacheline-aligned (size is 0x100)
yann@402
    59
+	 */
yann@402
    60
+	unsigned long __cacheline_filler[37];
yann@402
    61
+	/*
yann@402
    62
+	 * .. and then another 0x100 bytes for emergency kernel stack
yann@402
    63
+	 */
yann@402
    64
+	unsigned long stack[64];
yann@402
    65
+} __attribute__((packed));
yann@402
    66
+
yann@402
    67
+#define ARCH_MIN_TASKALIGN	16
yann@402
    68
+
yann@402
    69
+/*
yann@402
    70
  * capabilities of CPUs
yann@402
    71
  */
yann@402
    72
 
yann@402
    73
@@ -296,15 +348,6 @@
yann@402
    74
  */
yann@402
    75
 #define TASK_UNMAPPED_BASE	(PAGE_ALIGN(TASK_SIZE / 3))
yann@402
    76
 
yann@402
    77
-/*
yann@402
    78
- * Size of io_bitmap.
yann@402
    79
- */
yann@402
    80
-#define IO_BITMAP_BITS  65536
yann@402
    81
-#define IO_BITMAP_BYTES (IO_BITMAP_BITS/8)
yann@402
    82
-#define IO_BITMAP_LONGS (IO_BITMAP_BYTES/sizeof(long))
yann@402
    83
-#define IO_BITMAP_OFFSET offsetof(struct tss_struct,io_bitmap)
yann@402
    84
-#define INVALID_IO_BITMAP_OFFSET 0x8000
yann@402
    85
-
yann@402
    86
 struct i387_fsave_struct {
yann@402
    87
 	long	cwd;
yann@402
    88
 	long	swd;
yann@402
    89
@@ -356,49 +399,6 @@
yann@402
    90
 typedef struct {
yann@402
    91
 	unsigned long seg;
yann@402
    92
 } mm_segment_t;
yann@402
    93
-
yann@402
    94
-struct tss_struct {
yann@402
    95
-	unsigned short	back_link,__blh;
yann@402
    96
-	unsigned long	esp0;
yann@402
    97
-	unsigned short	ss0,__ss0h;
yann@402
    98
-	unsigned long	esp1;
yann@402
    99
-	unsigned short	ss1,__ss1h;	/* ss1 is used to cache MSR_IA32_SYSENTER_CS */
yann@402
   100
-	unsigned long	esp2;
yann@402
   101
-	unsigned short	ss2,__ss2h;
yann@402
   102
-	unsigned long	__cr3;
yann@402
   103
-	unsigned long	eip;
yann@402
   104
-	unsigned long	eflags;
yann@402
   105
-	unsigned long	eax,ecx,edx,ebx;
yann@402
   106
-	unsigned long	esp;
yann@402
   107
-	unsigned long	ebp;
yann@402
   108
-	unsigned long	esi;
yann@402
   109
-	unsigned long	edi;
yann@402
   110
-	unsigned short	es, __esh;
yann@402
   111
-	unsigned short	cs, __csh;
yann@402
   112
-	unsigned short	ss, __ssh;
yann@402
   113
-	unsigned short	ds, __dsh;
yann@402
   114
-	unsigned short	fs, __fsh;
yann@402
   115
-	unsigned short	gs, __gsh;
yann@402
   116
-	unsigned short	ldt, __ldth;
yann@402
   117
-	unsigned short	trace, io_bitmap_base;
yann@402
   118
-	/*
yann@402
   119
-	 * The extra 1 is there because the CPU will access an
yann@402
   120
-	 * additional byte beyond the end of the IO permission
yann@402
   121
-	 * bitmap. The extra byte must be all 1 bits, and must
yann@402
   122
-	 * be within the limit.
yann@402
   123
-	 */
yann@402
   124
-	unsigned long	io_bitmap[IO_BITMAP_LONGS + 1];
yann@402
   125
-	/*
yann@402
   126
-	 * pads the TSS to be cacheline-aligned (size is 0x100)
yann@402
   127
-	 */
yann@402
   128
-	unsigned long __cacheline_filler[37];
yann@402
   129
-	/*
yann@402
   130
-	 * .. and then another 0x100 bytes for emergency kernel stack
yann@402
   131
-	 */
yann@402
   132
-	unsigned long stack[64];
yann@402
   133
-} __attribute__((packed));
yann@402
   134
-
yann@402
   135
-#define ARCH_MIN_TASKALIGN	16
yann@402
   136
 
yann@402
   137
 struct thread_struct {
yann@402
   138
 /* cached TLS descriptors. */