--- 25-akpm/arch/x86_64/kernel/kgdb_stub.c | 7 ++++--- 1 files changed, 4 insertions(+), 3 deletions(-) diff -puN arch/x86_64/kernel/kgdb_stub.c~kgdb-x86_64-warning-fixes arch/x86_64/kernel/kgdb_stub.c --- 25/arch/x86_64/kernel/kgdb_stub.c~kgdb-x86_64-warning-fixes 2004-04-10 01:34:39.160425264 -0700 +++ 25-akpm/arch/x86_64/kernel/kgdb_stub.c 2004-04-10 01:34:39.167424200 -0700 @@ -1500,7 +1500,7 @@ kgdb_handle_exception(int exceptionVecto printk ("kgdb : %d cpus, but watchdog not active\n" "proceeding without locking down other cpus\n", - num_online_cpus()); + (int)num_online_cpus()); entry_state = NO_NMI; } } @@ -2545,7 +2545,8 @@ void kgdb_tstamp(int line, char *source, int data0, int data1) { static spinlock_t ts_spin = SPIN_LOCK_UNLOCKED; - int flags; + unsigned long flags; + local_irq_save(flags); spin_lock(&ts_spin); rdtscll(kgdb_and_then->at_time); @@ -2556,7 +2557,7 @@ kgdb_tstamp(int line, char *source, int kgdb_and_then->from_ln = line; kgdb_and_then->in_src = source; kgdb_and_then->from = __builtin_return_address(0); - kgdb_and_then->with_shpf = (int *) (((flags & IF_BIT) >> 9) | + kgdb_and_then->with_shpf = (int *)(long)(((flags & IF_BIT) >> 9) | (preempt_count() << 8)); kgdb_and_then->data0 = data0; kgdb_and_then->data1 = data1; _