Merge #28536: libsigsegv: add enableSigbusFix option
(It's partially changed version of the PR.)
This commit is contained in:
commit
017b33aaaa
@ -1,4 +1,6 @@
|
||||
{ stdenv, fetchurl }:
|
||||
{ stdenv, fetchurl
|
||||
, enableSigbusFix ? false # required by kernels < 3.18.6
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "libsigsegv-2.5";
|
||||
@ -8,6 +10,8 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "0fvcsq9msi63vrbpvks6mqkrnls5cfy6bzww063sqhk2h49vsyyg";
|
||||
};
|
||||
|
||||
patches = stdenv.lib.optional enableSigbusFix ./sigbus_fix.patch;
|
||||
|
||||
meta = {
|
||||
homepage = http://libsigsegv.sf.net;
|
||||
description = "A library for handling page faults in user mode";
|
||||
|
@ -1,5 +1,6 @@
|
||||
{ stdenv, fetchurl
|
||||
, buildPlatform, hostPlatform
|
||||
, enableSigbusFix ? false # required by kernels < 3.18.6
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
@ -10,6 +11,8 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "063swdvq7mbmc1clv0rnh20grwln1zfc2qnm0sa1hivcxyr2wz6x";
|
||||
};
|
||||
|
||||
patches = if enableSigbusFix then [ ./sigbus_fix.patch ] else null;
|
||||
|
||||
doCheck = hostPlatform == buildPlatform;
|
||||
|
||||
meta = {
|
||||
|
8
pkgs/development/libraries/libsigsegv/sigbus_fix.patch
Normal file
8
pkgs/development/libraries/libsigsegv/sigbus_fix.patch
Normal file
@ -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 } }
|
Loading…
x
Reference in New Issue
Block a user