[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: need help with ruby-1.8.4



Marius Strobl píše v út 17. 01. 2006 v 00:54 +0100:
> On Mon, Jan 16, 2006 at 03:07:14AM +0100, Pav Lucistnik wrote:
> > Hi,
> > 
> > Kris Kennaway hurled this error log on me:
> > 
> > http://pointyhat.freebsd.org/errorlogs/sparc64-errorlogs/e.5.2005042909/ruby-1.8.4_1,1.log
> > 
> > And I honestly have no clue how to fix it. Any ideas?
> > 
> > Also, is there a working scratchbox for the committers running sparc64?
> 
> 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.

-- 
Pav Lucistnik <pav_(_at_)_oook_(_dot_)_cz>
              <pav_(_at_)_FreeBSD_(_dot_)_org>

Traffic collapse starts at rumors of snow in Nice (french riviera)
according to some of my friends :)
  -- Will at #angband

Attachment: signature.asc
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?=


Visit your host, monkey.org