[#1562] Re: rbdj1227.lzh —
わたなべです.
[#1582] [BUG] Regexp — sinara@...
原です。あけましておめでとうございます。
まつもと ゆきひろです
原です。
まつもと ゆきひろです.
[#1583] jchop — WATANABE Hirofumi <watanabe@...>
わたなべです. おめでとう.
[#1614] [tk] Cannot execute some samples — Eiji-usagi-MATSUmoto <ematsu@...>
まつもと@ぴーえふゆーと申します。はじめまして。
[#1625] matz has back! — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
[#1639] Script for making Index of Ruby Manual — s.suda@...
須田です。
[#1655] [Q] Use of '==', 'eql?' and 'hash' — sinara@...
原です。
[#1667] [Q] Use of Thread and Mutex — sinara@...
原です。
まつもと ゆきひろです.
原です。
原です。
[#1670] [Q] Timeout in Socket (Re: [Q] Use of Thread and Mutex) — sinara@...
原です。
まつもと ゆきひろです.
[#1677] ruby-1.0-970110 available — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです.
[#1682] 組み込みクラスのメソッド .htm — (Dezawa Shin-ichiro) <dezawa@...>
出沢です
[#1688] Ruby 1.0-970110 on NeXTSTEP — SHIROYAMA Takayuki <psi@...>
[#1705] 正規表現 単独の ? — Sinichiro Dezawa <dezawa@...>
出沢です
まつもと ゆきひろです
matz> rubyの使っているGNUの正規表現ルーチンのデフォルトではパター
わたなべです.
まつもと ゆきひろです.
[#1720] ruby 1.0-970116 available — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです.
[#1723] in-place edit on djgpp/win32 — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです.
[#1753] Usage of Menu — Noritugu Nakamura <nnakamur@...>
[#1762] ruby 1.0-970118 available — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
[#1771] rectangle of canvas widget — Noritugu Nakamura <nnakamur@...>
原です。
まつもと ゆきひろです
原です。
まつもと ゆきひろです.
原です。
[#1788] Text of TkCanvas — Noritugu Nakamura <nnakamur@...>
まつもと ゆきひろです.
まつもと ゆきひろです.
まつもと ゆきひろです.
わたなべです.
[#1794] Filetest error on Ruby-DJ — s.suda@...
須田です。
[#1833] GD.c revised — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
[#1865] ruby-1.0-960124 available — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
わたなべです.
まつもと ゆきひろです.
わたなべです.
まつもと ゆきひろです.
まつもと@ぴーえふゆーです。
まつもと ゆきひろです.
まつもと@ぴーえふゆーです。
まつもと ゆきひろです.
まつもと@ぴーえふゆーです。
[#1871] None — (Dezawa Shin-ichiro) <dezawa@...>
でざわです
[#1875] toplevel of Tk — Noritugu Nakamura <nnakamur@...>
[#1899] [Dist] Mutex — keiju@... (Keiju ISHITSUKA)
けいじゅ@SHLジャパンです.
[#1926] [Dist] Mutex module — keiju@... (Keiju ISHITSUKA)
けいじゅ@SHLジャパンです.
まつもと ゆきひろです.
けいじゅ@SHLジャパンです.
まつもと ゆきひろです.
原です。
まつもと ゆきひろです.
けいじゅ@SHLジャパンです.
けいじゅ@SHLジャパンです.
まつもと ゆきひろです.
けいじゅ@SHLジャパンです.
まつもと ゆきひろです.
原です。
まつもと ゆきひろです.
けいじゅ@SHLジャパンです.
原です。
けいじゅ@SHLジャパンです.
まつもと ゆきひろです.
原です。
まつもと ゆきひろです.
原です。
まつもと ゆきひろです.
原です。
まつもと ゆきひろです.
原です。
まつもと ゆきひろです.
原です。
出沢です
まつもと ゆきひろです.
原です。
[#1953] open (file descriptor) — j_kuro@... (Jun Kuroda)
黒田です.
まつもと ゆきひろです.
黒田です.
原です。
まつもと ゆきひろです.
[ruby-list:1688] Ruby 1.0-970110 on NeXTSTEP
ども、白山@fortune.nest.or.jpです。
非常に遅れて申し訳ございません。NeXTSTEP3.3J上での
Ruby-1.0-970110のコンパイル情況をお伝えします。
ええっと、まず dynamic-loadを一切しない、ext/Setupで
nodynamicを選択した場合は、そのままでなんら問題なく
コンパイルできます。従って普通の用途ですと ext/Setupで
nodynamicを設定し、全てをスタティックリンクすればなんら
問題なくrubyで遊ぶことができます(^^;)
問題は、dynamicloadをおこなう場合で・・・・
1. NeXTSTEP3.3Jのrld_load関数の仕様で、ロードするコマンド
側にシンボルがない共有ライブラリの関数はロードされる
オブジェクトから呼び出せない。
つまり、プログラムmasterが オブジェクト obをrld_load関数
によってdynamic loadしようとすると、obが呼び出すであろう
ライブラリ関数のシンボルをmasterは持ってないといけま
せん。(ないと、呼び出せない)
1' この為、rubyのように何を呼び出すか分からない場合は、
libsys_s.shlib(libc)に入っている関数のシンボル全てを
rubyインタプリタ側にひっつけとかないといけない。
2. rld_lookup関数で関数のアドレスを調べる時には、関数名の
頭に _ が必要
3. NeXTではdynamic loadで呼び出されるオブジェクトを作成
するのに、ccに いかなるオプションも必要としない。
その為、逆に-fpicがつくと妙な状態になる。
っという難儀な問題があります。( ここらへん、4.1Jでは解消
されたそうですが・・・私はもってないので知りません(^^;))
問題1'からruby側ではlibsysに入っているものと同じ名前の関数
名は使えなくなります。その為・・・regex.c のre_match関数が
libsysの同名関数とぶつかります。また、 -lmを指定すると libm
とlibcでまた名前がぶつかります。
2.は・・・どうも私の(あの小汚い)コード(^^;)を matzさんが
直されたおりに _ が入らなくなったみたいです。
(あと、非常につまらない事ですが、この関数名の作成をdln.cの
関数init_funcname でおこなうようになった為、dln.c1262行目
の変数len, 1263行目の変数point,1264行目の変数init_nameが
無意味になってます(^^;))
以上が問題点です。そして・・・
1,及び 1'の解決策として、
a. regex.cの関数re_matchはregex.cの内部(の一か所)
でしか呼ばれてないので、関数名をrre_matchと直し名前
の衝突を避ける
b. ruby本体のMakefileのLIBSに入ってる-lm を除去
c. 同Makefileに LDFLAGS = $(CFLAGS) -u libsys_s
っと -u libsys_sを追加。
2.の解決策として
d. rld_lookupの第二引き数(検索する関数名)に _が入るように
小手先の修正をかます。具体的には・・・無意味になってた
変数 len, init_nameを生かして・・・
dln.c: 1261行目
void (*init_fct)();
int len = strlen(buf);
char *point;
char init_name[len +2];
object_files[0] = file;
/* Load object file, if return value ==0 , load failed*/
if(rld_load(NULL, NULL, object_files, NULL) == 0) {
LoadError("Failed to load %.200s", file);
}
/* lookup the initial function */
sprintf(init_name,"_%s",buf);
if(rld_lookup(NULL, init_name, &init_address) == 0) {
LoadError("Failed to lookup Init function %.200s",file);
}
dln.c1277行目
っと修正。
3.の解決策として
e, ext/extmk.rbを検索し、-fpicを添付してた部分を潰して
CFLAGに -fpicが含まれないようにする
(何の事はない、"-fpic"って文字列をさがしだして、そこを
""にしただけです)
の以上五点を直す事により、dynamic loadもうごくようになりました。
さすがにそろそろ気力もつきてきたので(^^;)、a,dに関しては後日
改めて patchにしてお送りします。
b,cに関しては、configureが勝手に作るものなので、私はどうすれば
いいか分かりません。のでNeXTでconfigureした時はLIBSに -lmを含め
ず、そしてLDFLAGには -u libsys_sというオプションが入るよう修正、
お願いします。
同様に eに関しても、現在のOSをみて -fpicを入れないようにする
対策、お願い致します。> matzさま
---
SHIROYAMA-Takayuki: HigashiZyuzyo Kita,Tokyo,Japan.
「 昭乃さん、いま、幸せですか? <Psi@fortune.nest.or.jp>
幸せなら、私も ちょっと幸せ 」
fingerprint 36 81 03 C3 CC 65 24 00 96 07 1F 66 12 FC 8E 18
PS: しかし・・・この修正で喜ぶのって、私だけなのかも・・・
PS/2: 動的にエンディアンを調べるコードまで作成して頂き、
ありがとうございます。そのうち Intelマシンを調達して
チェックしますので、しばしお待ち下さいませ。