Dimitry Andric <d...@freebsd.org> has reassigned Bugzilla Automation
<bugzi...@freebsd.org>'s request for maintainer-feedback to r...@freebsd.org:
Bug 206111: lang/ruby23: fix setjmp clobbered variables (using clang 3.8.0 and
optimizing for 'high' CPUs)
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=206111



--- Description ---
Created attachment 165371
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=165371&action=edit
Mark several variables volatile so they won't have undefined state after
setjmp()

During my preparations for bug 206074 (exp-run for clang 3.8.0), I noticed that
lang/ruby23 would sometimes crash during the build.  Specifically, on i386,
with CPUTYPE=ivybridge, you would get segfaults in miniruby.

It turns out these are because there are several places in ruby where setjmp()
is used, and where not all variables accessed after setjmp() are marked
volatile.  This can cause them to have undefined state.

Fix this by marking several variables in different functions volatile.

These patches were obtained from NetBSD pkgsrc, thanks to Jörg Sonnenberger for
the hint.
_______________________________________________
freebsd-ruby@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-ruby
To unsubscribe, send any mail to "freebsd-ruby-unsubscr...@freebsd.org"

Reply via email to