diff --git a/ChangeLog b/ChangeLog index 513a6304da..e5d8408ddb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,11 @@ +Tue Oct 27 12:30:16 2009 Nobuyoshi Nakada + + * gc.h (SET_MACHINE_STACK_END): use __i386__ instead of __i386, + and explicit size qualifiers. + Tue Oct 27 09:40:55 2009 NARUSE, Yui - * gc.c (SET_MACHINE_STACK_END): add x86_64 version by nobu. + * gc.h (SET_MACHINE_STACK_END): add x86_64 version by nobu. Tue Oct 27 09:27:59 2009 NARUSE, Yui diff --git a/gc.h b/gc.h index 42ea4a8356..0bb70c5954 100644 --- a/gc.h +++ b/gc.h @@ -3,9 +3,9 @@ #define RUBY_GC_H 1 #if defined(__x86_64__) && defined(__GNUC__) -#define SET_MACHINE_STACK_END(p) __asm__("mov %%rsp, %0" : "=r" (*p)) -#elif defined(__i386) && defined(__GNUC__) -#define SET_MACHINE_STACK_END(p) __asm__("mov %%esp, %0" : "=r" (*p)) +#define SET_MACHINE_STACK_END(p) __asm__("movq\t%%rsp, %0" : "=r" (*p)) +#elif defined(__i386__) && defined(__GNUC__) +#define SET_MACHINE_STACK_END(p) __asm__("movl\t%%esp, %0" : "=r" (*p)) #else NOINLINE(void rb_gc_set_stack_end(VALUE **stack_end_p)); #define SET_MACHINE_STACK_END(p) rb_gc_set_stack_end(p)