aboutsummaryrefslogtreecommitdiff
path: root/pkgs/development/libraries/libsigsegv
diff options
context:
space:
mode:
authorGaƫl Donval <gdonval+github@gmail.com>2017-08-24 15:34:23 +0100
committerGitHub <noreply@github.com>2017-08-24 15:34:23 +0100
commit3eca1c5500aa2477b078b9764949b1ef4bf0c117 (patch)
tree9d0dbc5b28549d045a1d0ddb493778a6134e3055 /pkgs/development/libraries/libsigsegv
parentf54018cee869d7018f2d2ff7e1759ee1e74fe2a3 (diff)
Add patch to enable SIGBUS capture
Kernels older than 3.18.6 emit SIGBUS signal upon stackoverflow instead of SIGSEGV. This patch enables the capture of SIGBUS (just as it is done on Darwin). Applying it fixes https://github.com/NixOS/nixpkgs/issues/6028 and https://github.com/NixOS/nixpkgs/issues/28464#issuecomment-324255704
Diffstat (limited to 'pkgs/development/libraries/libsigsegv')
-rw-r--r--pkgs/development/libraries/libsigsegv/sigbus_fix.patch8
1 files changed, 8 insertions, 0 deletions
diff --git a/pkgs/development/libraries/libsigsegv/sigbus_fix.patch b/pkgs/development/libraries/libsigsegv/sigbus_fix.patch
new file mode 100644
index 000000000000..6f1c399041dd
--- /dev/null
+++ b/pkgs/development/libraries/libsigsegv/sigbus_fix.patch
@@ -0,0 +1,8 @@
+--- a/src/signals.h 2017-08-23 14:07:05.000000000 +0100
++++ b/src/signals.h 2017-08-23 14:06:53.000000000 +0100
+@@ -18,4 +18,4 @@
+ /* List of signals that are sent when an invalid virtual memory address
+ is accessed, or when the stack overflows. */
+ #define SIGSEGV_FOR_ALL_SIGNALS(var,body) \
+- { int var; var = SIGSEGV; { body } }
++ { int var; var = SIGSEGV; { body } var = SIGBUS; { body } }