From 77857bfc879377dc726b84173ec849c549e5b470 Mon Sep 17 00:00:00 2001 From: naruse Date: Wed, 5 Jun 2013 06:27:43 +0000 Subject: * gc.c (before_gc_sweep): don't optimize it to avoid segv on Ubuntu 10.04 gcc 4.4. http://u32.rubyci.org/~chkbuild/ruby-trunk/log/20130527T190301Z.diff.html.gz git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41083 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 6 ++++++ gc.c | 7 +++++++ 2 files changed, 13 insertions(+) diff --git a/ChangeLog b/ChangeLog index 863e3094ac..e2ef18565c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Wed Jun 5 15:26:10 2013 NARUSE, Yui + + * gc.c (before_gc_sweep): don't optimize it to avoid segv on Ubuntu + 10.04 gcc 4.4. + http://u32.rubyci.org/~chkbuild/ruby-trunk/log/20130527T190301Z.diff.html.gz + Wed Jun 5 09:46:46 2013 NARUSE, Yui * test/fileutils/test_fileutils.rb (TestFileUtils#test_mkdir): add diff --git a/gc.c b/gc.c index f3fb37207b..6e56e11022 100644 --- a/gc.c +++ b/gc.c @@ -2276,6 +2276,10 @@ ready_to_gc(rb_objspace_t *objspace) return TRUE; } +#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ == 4 +# pragma GCC push_options +# pragma GCC optimize ("O0") +#endif static void before_gc_sweep(rb_objspace_t *objspace) { @@ -2297,6 +2301,9 @@ before_gc_sweep(rb_objspace_t *objspace) rb_sweep_method_entry(GET_VM()); } } +#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ == 4 +# pragma GCC pop_options +#endif static void after_gc_sweep(rb_objspace_t *objspace) -- cgit v1.2.3