summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--file.c2
2 files changed, 8 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index b73052fcb0..821012d9e6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+Thu Sep 4 08:59:29 2008 Tanaka Akira <akr@fsij.org>
+
+ * file.c (rb_find_file): fix GC problem on Debian GNU/Linux (IA64)
+ with gcc (GCC) 4.1.2 20061115 (prerelease) (Debian 4.1.1-21).
+ There is no register/memory to contain load_path. A register (r35)
+ contains &RARRAY_PTR(load_path), (char*)load_path + 32.
+
Thu Sep 4 03:10:05 2008 Tanaka Akira <akr@fsij.org>
* include/ruby/io.h (rb_io_t): new fields: encs.ecopts and
diff --git a/file.c b/file.c
index 55b0f617d5..33327a6f96 100644
--- a/file.c
+++ b/file.c
@@ -4595,7 +4595,7 @@ rb_find_file(VALUE path)
rb_raise(rb_eSecurityError, "loading from non-absolute path %s", f);
}
- load_path = rb_get_load_path();
+ RB_GC_GUARD(load_path) = rb_get_load_path();
if (load_path) {
long i;