https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=206111
Bug ID: 206111 Summary: lang/ruby23: fix setjmp clobbered variables (using clang 3.8.0 and optimizing for 'high' CPUs) Product: Ports & Packages Version: Latest Hardware: Any OS: Any Status: New Severity: Affects Some People Priority: --- Component: Individual Port(s) Assignee: r...@freebsd.org Reporter: d...@freebsd.org Assignee: r...@freebsd.org Flags: maintainer-feedback?(r...@freebsd.org) 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. -- You are receiving this mail because: You are the assignee for the bug. _______________________________________________ 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"