LWN.net Logo

Advertisement

Front, Kernel, Security, Distributions, Development. See your byline here on LWN.net.

Advertise here

fixes for building kernel using Intel compiler

From:  "Nakajima, Jun" <jun.nakajima@intel.com>
To:  Linus Torvalds <torvalds@transmeta.com>
Subject:  [PATCH] fixes for building kernel using Intel compiler
Date:  Fri, 18 Oct 2002 16:48:34 -0700
Cc:  Linux Kernel Mailing List <linux-kernel@vger.kernel.org>, "Mallick, Asit K" <asit.k.mallick@intel.com>, "Saxena, Sunil" <sunil.saxena@intel.com>

Hi Linus,

Attached is the patch that resolves some of the redundant code and casting
that are required to build the Linux kernel usning Intel compiler. We would
like to get this patch incorporated to allow the kernel built with Intel
Compiler.

Thanks,
Jun Nakajima

============================================================================
=================diff -ur linux-2.5.43.orig/arch/i386/kernel/ioport.c
linux-2.5.43/arch/i386/kern
el/ioport.c
--- linux-2.5.43.orig/arch/i386/kernel/ioport.c Fri Oct 18 15:19:35 2002
+++ linux-2.5.43/arch/i386/kernel/ioport.c      Fri Oct 18 16:10:13 2002
@@ -108,9 +108,8 @@
  * code.
  */

-asmlinkage int sys_iopl(unsigned long unused)
+asmlinkage int sys_iopl(struct pt_regs * regs)
 {
-       struct pt_regs * regs = (struct pt_regs *) &unused;
        unsigned int level = regs->ebx;
        unsigned int old = (regs->eflags >> 12) & 3;

diff -ur linux-2.5.43.orig/drivers/net/wireless/airo.c
linux-2.5.43/drivers/net/
wireless/airo.c
--- linux-2.5.43.orig/drivers/net/wireless/airo.c       Fri Oct 18 15:19:35
2002
+++ linux-2.5.43/drivers/net/wireless/airo.c    Fri Oct 18 15:28:06 2002
@@ -97,12 +97,12 @@
    infront of the label, that statistic will not be included in the list
    of statistics in the /proc filesystem */

-#define IGNLABEL 0&(int)
+#define IGNLABEL (0,)
 static char *statsLabels[] = {
        "RxOverrun",
-       IGNLABEL "RxPlcpCrcErr",
-       IGNLABEL "RxPlcpFormatErr",
-       IGNLABEL "RxPlcpLengthErr",
+       IGNLABEL /* "RxPlcpCrcErr", */
+       IGNLABEL /* "RxPlcpFormatErr", */
+       IGNLABEL /* "RxPlcpLengthErr", */
        "RxMacCrcErr",
        "RxMacCrcOk",
        "RxWepErr",
@@ -146,15 +146,15 @@
        "HostRxBc",
        "HostRxUc",
        "HostRxDiscard",
-       IGNLABEL "HmacTxMc",
-       IGNLABEL "HmacTxBc",
-       IGNLABEL "HmacTxUc",
-       IGNLABEL "HmacTxFail",
-       IGNLABEL "HmacRxMc",
-       IGNLABEL "HmacRxBc",
-       IGNLABEL "HmacRxUc",
-       IGNLABEL "HmacRxDiscard",
-       IGNLABEL "HmacRxAccepted",
+       IGNLABEL /* "HmacTxMc", */
+       IGNLABEL /* "HmacTxBc", */
+       IGNLABEL /* "HmacTxUc", */
+       IGNLABEL /* "HmacTxFail", */
+       IGNLABEL /* "HmacRxMc", */
+       IGNLABEL /* "HmacRxBc", */
+       IGNLABEL /* "HmacRxUc", */
+       IGNLABEL /* "HmacRxDiscard", */
+       IGNLABEL /* "HmacRxAccepted", */
        "SsidMismatch",
        "ApMismatch",
        "RatesMismatch",
@@ -162,26 +162,26 @@
        "AuthTimeout",
        "AssocReject",
        "AssocTimeout",
-       IGNLABEL "ReasonOutsideTable",
-       IGNLABEL "ReasonStatus1",
-       IGNLABEL "ReasonStatus2",
-       IGNLABEL "ReasonStatus3",
-       IGNLABEL "ReasonStatus4",
-       IGNLABEL "ReasonStatus5",
-       IGNLABEL "ReasonStatus6",
-       IGNLABEL "ReasonStatus7",
-       IGNLABEL "ReasonStatus8",
-       IGNLABEL "ReasonStatus9",
-       IGNLABEL "ReasonStatus10",
-       IGNLABEL "ReasonStatus11",
-       IGNLABEL "ReasonStatus12",
-       IGNLABEL "ReasonStatus13",
-       IGNLABEL "ReasonStatus14",
-       IGNLABEL "ReasonStatus15",
-       IGNLABEL "ReasonStatus16",
-       IGNLABEL "ReasonStatus17",
-       IGNLABEL "ReasonStatus18",
-       IGNLABEL "ReasonStatus19",
+       IGNLABEL /* "ReasonOutsideTable", */
+       IGNLABEL /* "ReasonStatus1", */
+       IGNLABEL /* "ReasonStatus2", */
+       IGNLABEL /* "ReasonStatus3", */
+       IGNLABEL /* "ReasonStatus4", */
+       IGNLABEL /* "ReasonStatus5", */
+       IGNLABEL /* "ReasonStatus6", */
+       IGNLABEL /* "ReasonStatus7", */
+       IGNLABEL /* "ReasonStatus8", */
+       IGNLABEL /* "ReasonStatus9", */
+       IGNLABEL /* "ReasonStatus10", */
+       IGNLABEL /* "ReasonStatus11", */
+       IGNLABEL /* "ReasonStatus12", */
+       IGNLABEL /* "ReasonStatus13", */
+       IGNLABEL /* "ReasonStatus14", */
+       IGNLABEL /* "ReasonStatus15", */
+       IGNLABEL /* "ReasonStatus16", */
+       IGNLABEL /* "ReasonStatus17", */
+       IGNLABEL /* "ReasonStatus18", */
+       IGNLABEL /* "ReasonStatus19", */
        "RxMan",
        "TxMan",
        "RxRefresh",
diff -ur linux-2.5.43.orig/include/asm-i386/bugs.h
linux-2.5.43/include/asm-i386
/bugs.h
--- linux-2.5.43.orig/include/asm-i386/bugs.h   Fri Sep 27 14:49:09 2002
+++ linux-2.5.43/include/asm-i386/bugs.h        Fri Oct 18 16:11:56 2002
@@ -76,14 +76,6 @@
                return;
        }

-/* Enable FXSR and company _before_ testing for FP problems. */
-       /*
-        * Verify that the FXSAVE/FXRSTOR data will be 16-byte aligned.
-        */
-       if (offsetof(struct task_struct, thread.i387.fxsave) & 15) {
-               extern void __buggy_fxsr_alignment(void);
-               __buggy_fxsr_alignment();
-       }
        if (cpu_has_fxsr) {
                printk(KERN_INFO "Enabling fast FPU save and restore... ");
                set_in_cr4(X86_CR4_OSFXSR);
diff -ur linux-2.5.43.orig/include/linux/mtd/compatmac.h
linux-2.5.43/include/li
nux/mtd/compatmac.h
--- linux-2.5.43.orig/include/linux/mtd/compatmac.h     Fri Sep 27 14:50:29
2002
+++ linux-2.5.43/include/linux/mtd/compatmac.h  Fri Oct 18 15:28:06 2002
@@ -193,6 +193,7 @@
 #define spin_lock_bh(lock) do {start_bh_atomic();spin_lock(lock);} while(0)
 #define spin_unlock_bh(lock) do {spin_unlock(lock);end_bh_atomic();}
while(0)
 #else
+#include <linux/interrupt.h>
 #include <asm/softirq.h>
 #include <linux/spinlock.h>
 #endif
diff -ur linux-2.5.43.orig/kernel/module.c linux-2.5.43/kernel/module.c
--- linux-2.5.43.orig/kernel/module.c   Fri Sep 27 14:49:13 2002
+++ linux-2.5.43/kernel/module.c        Fri Oct 18 15:28:06 2002
@@ -425,11 +425,11 @@
                printk(KERN_ERR "init_module: mod->deps out of bounds.\n");
                goto err2;
        }
-       if (mod->init && !mod_bound(mod->init, 0, mod)) {
+       if (mod->init && !mod_bound((unsigned long)mod->init, 0, mod)) {
                printk(KERN_ERR "init_module: mod->init out of bounds.\n");
                goto err2;
        }
-       if (mod->cleanup && !mod_bound(mod->cleanup, 0, mod)) {
+       if (mod->cleanup && !mod_bound((unsigned long)mod->cleanup, 0, mod))
{
                printk(KERN_ERR "init_module: mod->cleanup out of
bounds.\n");
                goto err2;
        }
@@ -449,7 +449,7 @@
                goto err2;
        }
        if (mod_member_present(mod, can_unload)
-           && mod->can_unload && !mod_bound(mod->can_unload, 0, mod)) {
+           && mod->can_unload && !mod_bound((unsigned long)mod->can_unload,
0,
mod)) {
              printk(KERN_ERR "init_module: mod->can_unload out of
bounds.\n")
;
                goto err2;
        }




Copyright © 2002, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds