diff options
Diffstat (limited to 'winsup/cygwin/dcrt0.cc')
-rw-r--r-- | winsup/cygwin/dcrt0.cc | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/winsup/cygwin/dcrt0.cc b/winsup/cygwin/dcrt0.cc index d348d9bd5..15977aae9 100644 --- a/winsup/cygwin/dcrt0.cc +++ b/winsup/cygwin/dcrt0.cc @@ -655,7 +655,7 @@ child_info_spawn::get_parent_handle () void child_info_spawn::handle_spawn () { - extern void fixup_lockf_after_exec (); + extern void fixup_lockf_after_exec (bool); HANDLE h; if (!dynamically_loaded || get_parent_handle ()) { @@ -706,7 +706,7 @@ child_info_spawn::handle_spawn () } signal_fixup_after_exec (); - fixup_lockf_after_exec (); + fixup_lockf_after_exec (type == _CH_EXEC); } /* Retrieve and store system directory for later use. Note that the @@ -795,6 +795,10 @@ dll_crt0_0 () _main_tls = &_my_tls; +#ifdef __x86_64__ + exception::install_myfault_handler (); +#endif + /* Initialize signal processing here, early, in the hopes that the creation of a thread early in the process will cause more predictability in memory layout for the main thread. */ |