diff -ruN java.orig/hotspot/src/os_cpu/linux_i486/vm/atomic_linux_i486.inline.hpp java/hotspot/src/os_cpu/linux_i486/vm/atomic_linux_i486.inline.hpp --- java.orig/hotspot/src/os_cpu/linux_i486/vm/atomic_linux_i486.inline.hpp 2003-09-11 03:40:30.000000000 +0200 +++ java/hotspot/src/os_cpu/linux_i486/vm/atomic_linux_i486.inline.hpp 2003-11-23 18:11:20.000000000 +0100 @@ -49,7 +49,7 @@ jlong old_value; __asm__ volatile ( "pushl %%ebx;mov 4+%1,%%ecx;mov %1,%%ebx;lock;cmpxchg8b (%3);popl %%ebx" : "=A" (old_value) - : "o" (exchange_value), "A" (compare_value), "r" (dest) - : "%ebx", "%ecx", "memory"); + : "m" (exchange_value), "A" (compare_value), "r" (dest) + : "%ecx", "memory"); return old_value; }