diff -urN linux-2.4.24/arch/i386/Makefile linux-2.4.24-new/arch/i386/Makefile
--- linux-2.4.24/arch/i386/Makefile 2003-06-13 07:51:29.000000000 -0700
+++ linux-2.4.24-new/arch/i386/Makefile 2004-05-04 12:20:40.583841872 -0700
@@ -94,6 +94,8 @@
CFLAGS += $(call check_gcc,-march=c3-2,-march=i686)
endif
+CFLAGS += $(call check_gcc,-fno-unit-at-a-time,)
+
HEAD := arch/i386/kernel/head.o arch/i386/kernel/init_task.o
SUBDIRS += arch/i386/kernel arch/i386/mm arch/i386/lib
diff -urN linux-2.4.24/arch/i386/boot/compressed/misc.c linux-2.4.24-new/arch/i386/boot/compressed/misc.c
--- linux-2.4.24/arch/i386/boot/compressed/misc.c 2003-08-25 04:44:39.000000000 -0700
+++ linux-2.4.24-new/arch/i386/boot/compressed/misc.c 2004-05-04 12:20:40.583841872 -0700
@@ -104,7 +104,7 @@
static void *malloc(int size);
static void free(void *where);
-static void puts(const char *);
+static void putstr(const char *);
extern int end;
static long free_mem_ptr = (long)&end;
@@ -165,7 +165,7 @@
vidmem[i] = ' ';
}
-static void puts(const char *s)
+static void putstr(const char *s)
{
int x,y,pos;
char c;
@@ -283,9 +283,9 @@
static void error(char *x)
{
- puts("\n\n");
- puts(x);
- puts("\n\n -- System halted");
+ putstr("\n\n");
+ putstr(x);
+ putstr("\n\n -- System halted");
while(1); /* Halt */
}
@@ -369,9 +369,9 @@
else setup_output_buffer_if_we_run_high(mv);
makecrc();
- puts("Uncompressing Linux... ");
+ putstr("Uncompressing Linux... ");
gunzip();
- puts("Ok, booting the kernel.\n");
+ putstr("Ok, booting the kernel.\n");
if (high_loaded) close_output_buffer_if_we_run_high(mv);
return high_loaded;
}
diff -urN linux-2.4.24/arch/i386/kernel/io_apic.c linux-2.4.24-new/arch/i386/kernel/io_apic.c
--- linux-2.4.24/arch/i386/kernel/io_apic.c 2003-11-28 11:26:19.000000000 -0700
+++ linux-2.4.24-new/arch/i386/kernel/io_apic.c 2004-05-04 12:20:40.584841720 -0700
@@ -1349,7 +1349,7 @@
#ifndef CONFIG_SMP
-void send_IPI_self(int vector)
+void fastcall send_IPI_self(int vector)
{
unsigned int cfg;
diff -urN linux-2.4.24/arch/i386/kernel/pci-pc.c linux-2.4.24-new/arch/i386/kernel/pci-pc.c
--- linux-2.4.24/arch/i386/kernel/pci-pc.c 2003-11-28 11:26:19.000000000 -0700
+++ linux-2.4.24-new/arch/i386/kernel/pci-pc.c 2004-05-04 12:20:40.585841568 -0700
@@ -1017,11 +1017,13 @@
"1:"
: "=a" (ret),
"=b" (map),
- "+m" (opt)
+ "=m" (opt)
: "0" (PCIBIOS_GET_ROUTING_OPTIONS),
"1" (0),
"D" ((long) &opt),
- "S" (&pci_indirect));
+ "S" (&pci_indirect),
+ "m" (opt)
+ : "memory");
DBG("OK ret=%d, size=%d, map=%x\n", ret, opt.size, map);
if (ret & 0xff00)
printk(KERN_ERR "PCI: Error %02x when fetching IRQ routing table.\n", (ret >> 8) & 0xff);
diff -urN linux-2.4.24/arch/i386/kernel/process.c linux-2.4.24-new/arch/i386/kernel/process.c
--- linux-2.4.24/arch/i386/kernel/process.c 2003-11-28 11:26:19.000000000 -0700
+++ linux-2.4.24-new/arch/i386/kernel/process.c 2004-05-04 12:20:40.585841568 -0700
@@ -687,7 +687,7 @@
* More important, however, is the fact that this allows us much
* more flexibility.
*/
-void __switch_to(struct task_struct *prev_p, struct task_struct *next_p)
+void fastcall __switch_to(struct task_struct *prev_p, struct task_struct *next_p)
{
struct thread_struct *prev = &prev_p->thread,
*next = &next_p->thread;
diff -urN linux-2.4.24/arch/i386/kernel/signal.c linux-2.4.24-new/arch/i386/kernel/signal.c
--- linux-2.4.24/arch/i386/kernel/signal.c 2002-08-02 17:39:42.000000000 -0700
+++ linux-2.4.24-new/arch/i386/kernel/signal.c 2004-05-04 12:20:40.585841568 -0700
@@ -581,7 +581,7 @@
* want to handle. Thus you cannot kill init even with a SIGKILL even by
* mistake.
*/
-int do_signal(struct pt_regs *regs, sigset_t *oldset)
+int fastcall do_signal(struct pt_regs *regs, sigset_t *oldset)
{
siginfo_t info;
struct k_sigaction *ka;
diff -urN linux-2.4.24/arch/i386/kernel/smp.c linux-2.4.24-new/arch/i386/kernel/smp.c
--- linux-2.4.24/arch/i386/kernel/smp.c 2003-06-13 07:51:29.00000
|