From b94060024db12a343b1e2331e17939a6a806ce96 Mon Sep 17 00:00:00 2001 From: akr Date: Thu, 4 Sep 2008 00:05:30 +0000 Subject: [PATCH] * 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. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19112 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 7 +++++++ file.c | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) 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 + + * 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 * 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;