diff options
author | Akinori MUSHA <knu@FreeBSD.org> | 2003-07-19 16:11:15 +0000 |
---|---|---|
committer | Akinori MUSHA <knu@FreeBSD.org> | 2003-07-19 16:11:15 +0000 |
commit | 004219de73043eedcfeebc006d6befa747ff91a0 (patch) | |
tree | 2791894b7ece05da949ee3cb701800b688c0f34a /lang/ruby18 | |
parent | Update to 0.3.3. (diff) |
The dl module seems to cause coredump on Pentium4 boxen when compiled
with gcc 3.3 with a -mcpu or -march flag (even -mcpu=pentiumpro, which
is the default CPU cflag that bsd.cpu.mk sets, leads ruby to coredump).
Although currently I'm not sure if gcc 3.3's optimization has a bug or
it is that it just exposed the dl module's hidden bug, disable those
flags to work around the problem for the moment.
Diffstat (limited to 'lang/ruby18')
-rw-r--r-- | lang/ruby18/Makefile | 1 | ||||
-rw-r--r-- | lang/ruby18/files/patch-ext+dl+extconf.rb | 19 |
2 files changed, 20 insertions, 0 deletions
diff --git a/lang/ruby18/Makefile b/lang/ruby18/Makefile index 80d96585f83b..0c5f3af29ad4 100644 --- a/lang/ruby18/Makefile +++ b/lang/ruby18/Makefile @@ -7,6 +7,7 @@ PORTNAME= ruby${RUBY_R} PORTVERSION= ${RUBY_PORTVERSION} +PORTREVISION= 1 CATEGORIES= lang ruby ipv6 MASTER_SITES= ${MASTER_SITE_RUBY} MASTER_SITE_SUBDIR= ${MASTER_SITE_SUBDIR_RUBY} diff --git a/lang/ruby18/files/patch-ext+dl+extconf.rb b/lang/ruby18/files/patch-ext+dl+extconf.rb new file mode 100644 index 000000000000..359d1ee34af3 --- /dev/null +++ b/lang/ruby18/files/patch-ext+dl+extconf.rb @@ -0,0 +1,19 @@ +--- ext/dl/extconf.rb.orig Mon Oct 21 23:52:24 2002 ++++ ext/dl/extconf.rb Sun Jul 20 00:55:25 2003 +@@ -183,6 +183,16 @@ + ] + + create_makefile('dl') ++ ++if (Config::CONFIG['CC'] =~ /gcc/) && (Config::CONFIG['arch'] =~ /i.86/) ++ open('Makefile', 'r+') {|f| ++ s = f.read ++ f.rewind ++ f.print s.gsub(/^(CFLAGS\s*=.*\s)-m(cpu|arch)=\S+/, "\\1") ++ f.truncate f.tell ++ } ++end ++ + rescue SystemExit + # do nothing + end |