Date: Tue, 17 Jan 2006 09:48:33 +0100 From: Pav Lucistnik <pav@FreeBSD.org> To: Marius Strobl <marius@alchemy.franken.de> Cc: freebsd-sparc64@FreeBSD.org Subject: Re: need help with ruby-1.8.4 Message-ID: <1137487713.38904.8.camel@pav.hide.vol.cz> In-Reply-To: <20060117005423.A17774@newtrinity.zeist.de> References: <1137377234.19156.58.camel@localhost> <20060117005423.A17774@newtrinity.zeist.de>
next in thread | previous in thread | raw e-mail | index | archive | help
--=-VZ775Co8V+VlQDd4oMML Content-Type: text/plain; charset=ISO8859-2 Content-Transfer-Encoding: quoted-printable Marius Strobl p=ED=B9e v =FAt 17. 01. 2006 v 00:54 +0100: > On Mon, Jan 16, 2006 at 03:07:14AM +0100, Pav Lucistnik wrote: > > Hi, > >=20 > > Kris Kennaway hurled this error log on me: > >=20 > > http://pointyhat.freebsd.org/errorlogs/sparc64-errorlogs/e.5.2005042909= /ruby-1.8.4_1,1.log > >=20 > > And I honestly have no clue how to fix it. Any ideas? > >=20 > > Also, is there a working scratchbox for the committers running sparc64? >=20 > If I fix that compile problem miniruby still segfaults while > ruby 1.8.4 is built because of exactly the getcontext(3) related > GCC bug that is described in eval.c (the generated code assumes > that %l2 didn't change after calling getcontext(3) in rb_call0() > here). I'd say it's obvious that the workaround implemented in > ruby can't work; we don't want to tell GCC to not make assumptions > regarding input, output and local registers before calling > getcontext(3) but afterwards. In fact when I additionally move > FUNCTION_CALL_MAY_RETURN_TWICE after calling getcontext(3) in > ruby_setjmp() miniruby no longer segfaults. But then it turned out > that the setjmp(3) approach ruby uses on ia64 apparently is also > sufficient to keep GCC from making assumptions regarding the > registers in question on sparc64. Therefore I'd suggest to remove > the inline asm altogether and move FUNCTION_CALL_MAY_RETURN_TWICE > after getcontext(3) (see attached patch). I verified that this > doesn't break building ruby 1.8.4 on ia64 and that `make test` still > succeeds there (and that miniruby segfaults on both architectures > if just remove FUNCTION_CALL_MAY_RETURN_TWICE altogether). > I'd suggest to check back with the ruby committer "ark" who added > this stuff however. First, thank you for your investigation. With this patch, I can no longer compile ruby on my amd64, it dies rather mysteriously with ./ext/extmk.rb:23:in `require': no such file to load -- rbconfig (LoadError= ) from ./ext/extmk.rb:23 *** Error code 1 Can you check on that arch too? It seems to keep going on i386. --=20 Pav Lucistnik <pav@oook.cz> <pav@FreeBSD.org> Traffic collapse starts at rumors of snow in Nice (french riviera) according to some of my friends :) -- Will at #angband --=-VZ775Co8V+VlQDd4oMML Content-Type: application/pgp-signature; name=signature.asc Content-Description: Toto je =?iso-8859-2?Q?digit=E1ln=EC?= =?ISO-8859-1?Q?_podepsan=E1?= =?iso-8859-2?Q?_=E8=E1st?= =?ISO-8859-1?Q?_zpr=E1vy?= -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2 (FreeBSD) iD8DBQBDzK9hntdYP8FOsoIRAjRQAJ9E29Bid7NDs6ePiCwYnuXed/fg9gCcC+wP D+qQ1pisi2w6HrHdTbyze4A= =9ipx -----END PGP SIGNATURE----- --=-VZ775Co8V+VlQDd4oMML--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1137487713.38904.8.camel>