[#62904] [ruby-trunk - Feature #9894] [Open] [RFC] README.EXT: document rb_gc_register_mark_object — normalperson@...
Issue #9894 has been reported by Eric Wong.
3 messages
2014/06/02
[#63321] [ANN] ElixirConf 2014 - Don't Miss Jos辿 Valim and Dave Thomas — Jim Freeze <jimfreeze@...>
Just a few more weeks until ElixirConf 2014!
6 messages
2014/06/24
[ruby-core:63249] [ruby-trunk - Bug #8349] [mingw] adding -mfpmath=sse -msse2 causes segv on Windows 7
From:
nagachika00@...
Date:
2014-06-19 15:16:19 UTC
List:
ruby-core #63249
Issue #8349 has been updated by Tomoyuki Chikanaga.
Backport changed from 1.9.3: UNKNOWN, 2.0.0: UNKNOWN to 1.9.3: UNKNOWN, 2.0.0: DONE
r44539 was already backported into ruby_2_1 at r44993.
----------------------------------------
Bug #8349: [mingw] adding -mfpmath=sse -msse2 causes segv on Windows 7
https://bugs.ruby-lang.org/issues/8349#change-47296
* Author: Hiroshi Shirosaki
* Status: Closed
* Priority: Normal
* Assignee: Yui NARUSE
* Category:
* Target version: 2.1.0
* ruby -v: ruby 2.1.0dev (2013-04-30 trunk 40528) [i386-mingw32]
* Backport: 1.9.3: UNKNOWN, 2.0.0: DONE
----------------------------------------
I tried -mfpmath=sse -msse2 with mingw on Windows 7 and got 2 segv while make test-all.
Here is the detail.
https://gist.github.com/anonymous/5487498
I don't know why these options causes segv, but adding volatile seems to fix this.
Is this ok to commit?
diff --git a/re.c b/re.c
index fe7e390..5c96276 100644
--- a/re.c
+++ b/re.c
@@ -154,7 +154,8 @@ rb_memsearch_qs(const unsigned char *xs, long m, const unsigned char *ys, long n
{
const unsigned char *x = xs, *xe = xs + m;
const unsigned char *y = ys;
- VALUE i, qstable[256];
+ volatile VALUE i;
+ VALUE qstable[256];
/* Preprocessing */
for (i = 0; i < 256; ++i)
diff --git a/regcomp.c b/regcomp.c
index 1373ff2..8c0e2b5 100644
--- a/regcomp.c
+++ b/regcomp.c
@@ -5306,7 +5306,7 @@ set_optimize_exact_info(regex_t* reg, OptExactInfo* e)
static void
set_optimize_map_info(regex_t* reg, OptMapInfo* m)
{
- int i;
+ volatile int i;
for (i = 0; i < ONIG_CHAR_TABLE_SIZE; i++)
reg->map[i] = m->map[i];
--
https://bugs.ruby-lang.org/