On Wed, Jan 21, 2015 at 05:44:03PM -0500, David Malcolm wrote: > Don't install signal handlers in toplev.c if we're called from libgccjit, > only install them if we're called from main.c, thus avoiding > touching process-wide state from a shared library (see the PR for > details of how this is currently leading to SIGSEGV on errors in > "make check-jit"). > > Is this one sufficiently obvious to still be applicable in stage 4? > (assuming bootstrap?) > > gcc/ChangeLog: > PR jit/64721 > * main.c (main): Construct toplev instances with init_signals=true. > * toplev.c (general_init): Add param "init_signals", and use it to > conditionalize the calls to signal and host_hooks.extra_signals. > (toplev::toplev): Add param "init_signals". > (toplev::main): When invoking general_init, pass m_init_signals > to control whether signal-handlers are installed. > * toplev.h (toplev::toplev): Add param "init_signals". > (toplev::m_init_signals): New field. > > gcc/jit/ChangeLog: > PR jit/64721 > * jit-playback.c (gcc::jit::playback::context::compile): Construct > toplev instances with init_signals=false.
Ok for stage4. Jakub