summary refs log tree commit diff
diff options
context:
space:
mode:
authorWill Dietz <w@wdtz.org>2019-01-29 07:12:19 -0600
committerWill Dietz <w@wdtz.org>2019-01-29 07:12:19 -0600
commit82c9b261f457523f408e703956182fd3aa9a5dfc (patch)
tree29bd194f79dab62e8de911dce1dc441c546cf213
parenta98cebbc35278a8c92e0cb6f0c2813d814b25499 (diff)
downloadnixpkgs-82c9b261f457523f408e703956182fd3aa9a5dfc.tar
nixpkgs-82c9b261f457523f408e703956182fd3aa9a5dfc.tar.gz
nixpkgs-82c9b261f457523f408e703956182fd3aa9a5dfc.tar.bz2
nixpkgs-82c9b261f457523f408e703956182fd3aa9a5dfc.tar.lz
nixpkgs-82c9b261f457523f408e703956182fd3aa9a5dfc.tar.xz
nixpkgs-82c9b261f457523f408e703956182fd3aa9a5dfc.tar.zst
nixpkgs-82c9b261f457523f408e703956182fd3aa9a5dfc.zip
chelf: init at 0.2.2
Utility for changing default thread stack size
(via PT_GNU_STACK program header)
as supported by musl 1.1.21+.

patchelf for default thread stack size :).

This makes it possible to use a larger value
without changing the source, which is preferred
but may be awkward or otherwise undesirable in some cases.

The value can also be set via LDFLAGS with some linkers,
such as with GNU ld using "-Wl,-z,stack-size=N".

See:
https://git.musl-libc.org/cgit/musl/commit/?id=7b3348a98c139b4b4238384e52d4b0eb237e4833
-rw-r--r--pkgs/tools/misc/chelf/default.nix25
-rw-r--r--pkgs/top-level/all-packages.nix2
2 files changed, 27 insertions, 0 deletions
diff --git a/pkgs/tools/misc/chelf/default.nix b/pkgs/tools/misc/chelf/default.nix
new file mode 100644
index 00000000000..4c54ab239d2
--- /dev/null
+++ b/pkgs/tools/misc/chelf/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  name = "chelf-${version}";
+  version = "0.2.2";
+
+  src = fetchFromGitHub {
+    owner = "Gottox";
+    repo = "chelf";
+    rev = "v${version}";
+    sha256 = "0xwd84aynyqsi2kcndbff176vmhrak3jmn3lfcwya59653pppjr6";
+  };
+
+  installPhase = ''
+    mkdir -p $out/bin
+    mv chelf $out/bin/chelf
+  '';
+
+  meta = with stdenv.lib; {
+    description = "change or display the stack size of an ELF binary";
+    homepage = https://github.com/Gottox/chelf;
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ dtzWill ];
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 285ed3b7545..15684544fdb 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -1112,6 +1112,8 @@ in
 
   cfdyndns = callPackage ../applications/networking/dyndns/cfdyndns { };
 
+  chelf = callPackage ../tools/misc/chelf { };
+
   cht-sh = callPackage ../tools/misc/cht.sh { };
 
   ckbcomp = callPackage ../tools/X11/ckbcomp { };