From 868d5ba485b1d50fe1163fd9f63fe43a34ca402e Mon Sep 17 00:00:00 2001 From: knu Date: Thu, 27 Nov 2003 13:08:27 +0000 Subject: [PATCH] * 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 ] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5039 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 7 +++++++ eval.c | 8 ++++++++ gc.c | 8 ++++++++ 3 files changed, 23 insertions(+) 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*));