[#3747] constants (or class vriable?) — Wakou Aoyama <wakou@...>
青山です。
原です。
青山です。
まつもと ゆきひろです
In message <199812080034.JAA05946@picachu.netlab.co.jp>
立石です。
まつもと ゆきひろです
[#3773] pack("M")/unpack("M") — shugo@... (MAEDA Shugo)
前田です。
[#3794] port NetBSD/ alpha 1.3I — SHIROYAMA Takayuki <psi@...>
[#3826] ruby 1.1d0 released — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
渡辺哲也です。
ふなばです。
笠原です。
前田です。
[#3851] tkutil patch (for 1.1d0) — ttate@...
立石です。
[#3859] missing/setenv.c in 1.1d0 — Inaba Hiroto <inaba@...>
稲葉です。こんなにパッチがあると、みのがされてしまうかも。
[#3862] 1.1d0 new here document — Wakou Aoyama <wakou@...>
青山です。
まつもと ゆきひろです
青山です。
まつもと ゆきひろです
[#3873] (?: ) does not work? — shugo@... (MAEDA Shugo)
前田です。
まつもと ゆきひろです
前田です。
まつもと ゆきひろです
前田です。
白山@Stellarです。
[#3881] I want to catch all jump — shugo@... (Shugo Maeda)
前田です。
まつもと ゆきひろです
前田です。
まつもと ゆきひろです
[#3894] ruby 1.1d1 released — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
わたなべです.
[#3899] interpreter reinitialization — shugo@... (Shugo Maeda)
前田です。
まつもと ゆきひろです
前田です。
まつもと ゆきひろです
前田です。
まつもと ゆきひろです
前田です。
まつもと ゆきひろです
[#3962] ruby 1.3(!) released — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
[#3966] [BUG] exception in safe level 4 — shugo@... (Shugo Maeda)
前田です。
[#3997] [BUG] "#{}" while 1 — gotoken@... (GOTO Kentaro)
ごとけんです
まつもと ゆきひろです
[#4002] config.guess — Koji Arai <JCA02266@...>
新井です。
まつもと ゆきひろです
新井です。
まつもと ゆきひろです
新井です。
まつもと ゆきひろです
笠原です。
まつもと ゆきひろです
えぐち@エスアンドイー です。
[#4005] [BUG] ruby 1.3(98/12/24) [i686-linux] at rb_gc_mark() — Ryo HAYASAKA <hayasaka@...>
早坂@会津大学といいます。
In message "[ruby-dev:4005] [BUG] ruby 1.3(98/12/24) [i686-linux] at rb_gc_mark()"
早坂@会津大学です。
[#4015] Integer proper methods — gotoken@... (GOTO Kentaro)
ごとけんです
[#4030] module Precision — gotoken@... (GOTO Kentaro)
ごとけんです
ごとけんです
まつもと ゆきひろです
ごとけんです
けいじゅ@日本ラショナルソフトウェアです.
ごとけんです
まつもと ゆきひろです
まつもと ゆきひろです
ごとけんです
まつもと ゆきひろです
ごとけんです
ごとけんです
けいじゅ@日本ラショナルソフトウェアです.
ごとけんです
まつもと ゆきひろです
まつもと ゆきひろです
まつもと ゆきひろです
ごとけんです
ごとけんです
けいじゅ@日本ラショナルソフトウェアです.
ごとけんです
けいじゅ@日本ラショナルソフトウェアです.
ごとけんです
けいじゅ@日本ラショナルソフトウェアです.
ごとけんです
けいじゅ@日本ラショナルソフトウェアです.
最近あんまり建設的でないわたし.
けいじゅ@日本ラショナルソフトウェアです.
ごとけんです
原です。
[#4032] [Req] make-symbol? — shugo@... (Shugo Maeda)
前田です。
[ruby-dev:3794] port NetBSD/ alpha 1.3I
ども、白山@おうちです。
家の方のメールアドレスでは ruby-* MLに参加してないので、
はじかれた時の為にまつもとさんと私の会社のメールアドレス
に Cc: してます。
家に転がっている NetBSD/alpha 1.3I にて、 dynamic load まで
できる ruby-1.1c9 のコンパイルに成功したので報告致します。
まず、環境は
DEC 3000/300
NetBSD/alpha 1.3I
gcc version egcs-2.91.58 19981101 (egcs-1.1.1 pre-release)
というものです。
少なくとも、同マシン上で NetBSD/1.1G とgcc( versionを
忘れました、すみません) の時は (当時最新リリースだった)
ruby-1.1c6 はコンパイルして稼働するものの dynamic load
ができなかったのですが、今回上記の状態で試した所、以下
の部分に修正を加える事によって成功しました。
いづれも dln.c で
・81行目 FUNCNAME_PATTERN を定義している所で、
NetBSD は
# define FUNCNAME_PATTERN "_Init_%.200s"
っとなっているが、実際には _のつかない
# define FUNCNAME_PATTERN "Init_%.200s"
になる。
・1071行目 ヘッダファイルをインクルードしている所で、
NetBSDの場合 dlfcn.h ではなくnlist.h と link.h を
インクルードする様になっているが、dlopen等の
関数は dlfcn.h にあるので、こちらをインクルード
する様に修正
の二つです。
ただ、これだけでは ruby 本体側バイナリで定義されて
いるシンボルをロードされたモジュールが参照できず、
sakura> ./ruby
require "./ext/etc/etc.o"
^D
./ext/etc/etc.so: Undefined PLT symbol "rb_define_module" (reloc type = 26,
symnum = 48)
っと実行時にエラーになってしまいます。
ruby本体のコンパイル時にccへ -export-dynamicというオプ
ションを渡すと、どうやら全てのシンボルを外部のモジュール
から参照できる様にしてくれる模様であり、実際に
・Makefile 16行目 LDFLAGS に -export-dynamic を追加
をおこない、 ruby のリンク時に -export-dynamic オプションを
設定して生成されたものでは、
sakura> ./ruby
require "./ext/etc/etc.o"
p Etc.getlogin
"shiro"
っとうまく実行されます。
以上の、
・FUNCNAME_PATTERN が "_" つきからなしになった事
・-export-dynamicが必要な事
の二点は、全てのアーキテクチャの NetBSDで有効(必要)
なのか、"_"のありなしががいつの版から変わったのか等
は、NetBSDの一ユーザに過ぎない私には分かりません(^^;)
# なので、下のパッチはあくまで「うちの環境じゃこれで
# うごいたもんねー」ってものにすぎず、公式にとりこむ
# には、ちと問題があると思います。
とりいそぎ、ご報告まで
---
SHIROYAMA Takayuki : psi@fortune.nest.or.jp
#
# please use this patch after configure
#
*** ruby-1.1c9/dln.c.original Mon Nov 9 18:11:48 1998
--- ruby-1.1c9/dln.c Sun Dec 13 21:45:14 1998
***************
*** 78,84 ****
#endif
#ifndef FUNCNAME_PATTERN
! # if defined(__hp9000s300) || defined(__NetBSD__) || defined(__BORLANDC__)
|| (defined(__FreeBSD__) && __FreeBSD__ < 3) || defined(NeXT) ||
defined(__WATCOMC__)
# define FUNCNAME_PATTERN "_Init_%.200s"
# else
# define FUNCNAME_PATTERN "Init_%.200s"
--- 78,84 ----
#endif
#ifndef FUNCNAME_PATTERN
! # if defined(__hp9000s300) || ( defined(__NetBSD__) && !
defined(__alpha__) ) || defined(__BORLANDC__) || (defined(__FreeBSD__) &&
__FreeBSD__ < 3) || defined(NeXT) || defined(__WATCOMC__)
# define FUNCNAME_PATTERN "_Init_%.200s"
# else
# define FUNCNAME_PATTERN "Init_%.200s"
***************
*** 1068,1074 ****
#endif /* USE_DLN_A_OUT */
#ifdef USE_DLN_DLOPEN
! # ifdef __NetBSD__
# include <nlist.h>
# include <link.h>
# else
--- 1068,1074 ----
#endif /* USE_DLN_A_OUT */
#ifdef USE_DLN_DLOPEN
! # if defined ( __NetBSD__ ) && ! defined ( __alpha__ )
# include <nlist.h>
# include <link.h>
# else
*** ruby-1.1c9/Makefile.original Sun Dec 13 22:22:07 1998
--- ruby-1.1c9/Makefile Sun Dec 13 22:09:46 1998
***************
*** 13,19 ****
prefix = /usr/local
CFLAGS = -g -O2 -I. -I. -I${prefix}/include
! LDFLAGS = $(CFLAGS)
EXTLIBS =
LIBS = -lcrypt -lm $(EXTLIBS)
MISSING =
--- 13,19 ----
prefix = /usr/local
CFLAGS = -g -O2 -I. -I. -I${prefix}/include
! LDFLAGS = $(CFLAGS) -export-dynamic
EXTLIBS =
LIBS = -lcrypt -lm $(EXTLIBS)
MISSING =