diff --git a/ChangeLog b/ChangeLog index a8f68fe829..0d95f0a0b6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +Thu Nov 27 22:05:48 2003 Akinori MUSHA + + * eval.c, gc.c: FreeBSD/ia64 currently does not have a way for a + process to get the base address for the RSE backing store, so + hardcode it for the moment. + [submitted by: Marcel Moolenaar ] + Thu Nov 27 17:36:42 2003 Hidetoshi NAGAI * ext/tk/lib/tkafter.rb: bug fix on TkTimer#cancel_on_exception=(mode). diff --git a/eval.c b/eval.c index 9737c7d7ec..217c5c7f49 100644 --- a/eval.c +++ b/eval.c @@ -7841,9 +7841,17 @@ Init_Proc() #ifdef __ia64__ #include +#if defined(__FreeBSD__) +/* + * FreeBSD/ia64 currently does not have a way for a process to get the + * base address for the RSE backing store, so hardcode it. + */ +#define __libc_ia64_register_backing_store_base (4ULL<<61) +#else #pragma weak __libc_ia64_register_backing_store_base extern unsigned long __libc_ia64_register_backing_store_base; #endif +#endif /* Windows SEH refers data on the stack. */ #undef SAVE_WIN32_EXCEPTION_LIST diff --git a/gc.c b/gc.c index 238c551057..7df38d2298 100644 --- a/gc.c +++ b/gc.c @@ -32,9 +32,17 @@ #ifdef __ia64__ #include +#if defined(__FreeBSD__) +/* + * FreeBSD/ia64 currently does not have a way for a process to get the + * base address for the RSE backing store, so hardcode it. + */ +#define __libc_ia64_register_backing_store_base (4ULL<<61) +#else #pragma weak __libc_ia64_register_backing_store_base extern unsigned long __libc_ia64_register_backing_store_base; #endif +#endif void re_free_registers _((struct re_registers*)); void rb_io_fptr_finalize _((struct OpenFile*));