From: Katsuyuki Komatsu Date: 1999-08-08T18:19:24+09:00 Subject: [ruby-dev:7560] Re: make test failure on sunos 小松です。 In the message of [ruby-dev:7555] Re: make test failure on sunos on 1999/8/7 03:17:13 matz@netlab.co.jp (Yukihiro Matsumoto) wrote: |こんな感じの修正で起きなくなりそうな気がします。 |確認して頂けると嬉しいです。 さすがに、ここまでの変更をdiff -u1ではpatchが失敗して しまいます (泣)。 手動であてたものを、diff -upで取り直したパッチを付けとき ますので、間違いがないか確認してもらえますか? それはともかく、SunOS 4.1.4でegcs-1.1.2のCFLAGS='-g -Wall'と CFLAGS=-O2でのテストは通りました…… が、今度は、Solaris 2.5.1でシェアードライブラリ化していない もののmake testが失敗します。 eval.cのパッチ前は通ってました。 スクリプト (test.rb) の指定の仕方が絶対パスだと失敗して 相対パスだと通るという症状で、 env CFLAGS='-g -Wall' ../configure --with-readline-dir=/usr/local \ --with-make-prog=gmake env CFLAGS=-O2 ../configure --with-readline-dir=/usr/local \ --with-make-prog=gmake --enable-shared で作ったものはmake testが通ります。 % uname -s -r SunOS 5.5.1 % gcc -v Reading specs from /usr/local/lib/gcc-lib/sparc-sun-solaris2.5.1/egcs-2.91.66/specs gcc version egcs-2.91.66 19990314 (egcs-1.1.2 release) % env CFLAGS=-O2 ../configure --with-readline-dir=/usr/local --with-make-prog=gmake …… % make …… % ./ruby -v ruby 1.3.7 (1999-08-06) [sparc-solaris2.5.1] % make test not ok string & char 21 -- /home/atropos/src/ruby-1.3.7/sample/test.rb:618 test failed % ./ruby ../sample/test.rb …… end of test(test: 290) % ./ruby /home/atropos/src/ruby-1.3.7/sample/test.rb …… not ok string & char 21 -- /home/atropos/src/ruby-1.3.7/sample/test.rb:618 …… test: 290 failed 1 % 念のため、SunOS 4.1.4でのパッチ前のeval.cでの変数の情報も 付けときます。 (gdb) frame 9 #9 0xef72ee84 in rb_gc_mark_frame (frame=0xeffff0f0) at ../gc.c:851 851 rb_gc_mark(frame->cbase); (gdb) p top_frame $1 = (struct FRAME *) 0x0 (gdb) p *top_frame Cannot access memory at address 0x0. (gdb) p ruby_frame $2 = (struct FRAME *) 0x0 (gdb) p *ruby_frame Cannot access memory at address 0x0. (gdb) p *(struct FRAME*)0xeffff0f0 $3 = {self = 4017169776, argc = 0, argv = 0x0, last_func = 0, last_class = 7, cbase = 4017860700, prev = 0xef71c5b0, tmp = 0x4a1b0, file = 0xffffffff
, line = 2, iter = -268438664} (gdb) p nodetype(((struct FRAME*)0xeffff0f0)->cbase) You can't do that without a process to debug. (gdb) begin 644 eval.c.diff.gz M'XL("'HEJS<``V5V86PN8RYD:69F`+U7;6_:2!#^;'[%MB=5!MLIKPD)NEQ3 M2N^E)-!`*E4Z:67,DJ(8C&Q#557Y[S>69V[7D> M$SL_/`E.YLLDM=['2W:UO6?LE#4Z%^WN1:/.&N?GYQ7'<92B-?%3J7/&ZJV+ M1E/KO'G#O':][9XR!_^=,5A(4C]=!O`OW@8IF_1'XP&KI=&&)T&T$;T*PQ]? MQ/Y*G"Q3$;/?6;R=?>/X[%WBWY[U;T$KF/F)R-1HR;NDM;*B']\'H%?O619( MG*)DETMH3VX-!*_D4X^D%?;;7"R6:\'&HS%_?WMU/;"KC-%6S+C9;#0A5P?^ MMUR``M;B&4>L[$2$"Y>MH[FHHAWY"S#\F]&[`2#5CB M[P[G5W%(2V%)D;`LY%JN#GI*4V:;KC8%*4$$`@2(Z M!S/0R68&EPMF(_U$E?US=RV]R7?4P#AFL?`?5`K=]IG;:$(.W4[#;70PB54T MWX:")R+=;FSYHG/!'Q:1U=@N"H'CH2`1F/XNI^HXAY76Y;;BD6R M#5-@Z>L:&WU@M==2&'SQ8U9;8$3*41)MXT#@2B^/+41*%Q1P12E,`2^L\J`_ M14XXS[+I23(YTAB$![Y#%GBQ6.@P$2WOXUCWO2*[]J$P%8NF5_O!J,J$569YGN/8LU3*FI;$?"+[8KH,J,L`*_##D M^:+]4JSG+UT$`J)#I%U6=PM>0S])21,6=4'#J:W1.:B\ MAY)6EQAU6LTV'MP./)R[S;IQ;=E%RWF%S<('B%@(&^$]V%@HH,GO[ MS/"0X3$S/%G)-ES!VEC)3M=M4<]C\:#6WSCNL6GF50M)T)(T*2>W]'LUA/+Q M&]LLILL:%-GUX+H__HR.769L=]F^LH?FS-0,TW2*NZRH$&C42NL$&I4:@_\I MJ[@QC]WKDN$A:C M635&AS89>N!%Q0[%D5&],)JYRM1EUS'Y;9LYDM6:E-;VYH!^S=#/9T8^X<`S M%B,;GQ0YS,\EW?*BM:"#IZIZ];3E=J%5V_6Z/)GVU*B^N`H^WD'?\VO_0?`) MA6S#%T;P%F3+];U;:#ML^)4?/[C9V'9I3"FZ](?PV0)GQMW81LLN>5(R50)4 M=UD4+^\/-C1JEN?5?HEQ>XG27LE'L1-*&_*Z'["4GQ#$\5>&-;K0ZI-9"O`K M6HZVXC!4N,AJ=,_=1@/+T>SD7[$+/I,09Q61IJ59#(RG7X!66"#0EL\\V,:Q M6*?ZWI`'(=46]''OIU',-_:/L\ER,:_*^;`V@=07Z-('%FH;UVL].(XL9?GT M^F$IR??3P^Z`O9\J6?OTC!JH4V_*!H)[9L`3OA9?[0?(-OD5]