diff options
author | Matthew Bauer <mjbauer95@gmail.com> | 2018-12-15 12:26:11 -0600 |
---|---|---|
committer | Matthew Bauer <mjbauer95@gmail.com> | 2018-12-15 12:26:11 -0600 |
commit | 0a996c8ef31eb5ffb55d24dc4703fe0fe29589ff (patch) | |
tree | 887293da47acfdef0d6d081234ffef2c3e667ed9 /pkgs/os-specific/darwin/binutils | |
parent | 921d046537f6d7f0fc0db07b7aa46be7e9df030b (diff) | |
download | nixpkgs-0a996c8ef31eb5ffb55d24dc4703fe0fe29589ff.tar nixpkgs-0a996c8ef31eb5ffb55d24dc4703fe0fe29589ff.tar.gz nixpkgs-0a996c8ef31eb5ffb55d24dc4703fe0fe29589ff.tar.bz2 nixpkgs-0a996c8ef31eb5ffb55d24dc4703fe0fe29589ff.tar.lz nixpkgs-0a996c8ef31eb5ffb55d24dc4703fe0fe29589ff.tar.xz nixpkgs-0a996c8ef31eb5ffb55d24dc4703fe0fe29589ff.tar.zst nixpkgs-0a996c8ef31eb5ffb55d24dc4703fe0fe29589ff.zip |
darwin: use llvm’s dsymutil instead of dummy version
We were previously using a dummy wrapper for dsymutil. This meant that debug symbols were not getting generated when dsymutil was otherwise available. This should fix that issue & provide a real dsymutil from llvm. Fixes #52148.
Diffstat (limited to 'pkgs/os-specific/darwin/binutils')
-rw-r--r-- | pkgs/os-specific/darwin/binutils/default.nix | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/pkgs/os-specific/darwin/binutils/default.nix b/pkgs/os-specific/darwin/binutils/default.nix index bd10dde5572..db33b78a4ab 100644 --- a/pkgs/os-specific/darwin/binutils/default.nix +++ b/pkgs/os-specific/darwin/binutils/default.nix @@ -1,5 +1,4 @@ -{ stdenv, binutils-unwrapped, cctools -}: +{ stdenv, binutils-unwrapped, cctools, llvm }: # Make sure both underlying packages claim to have prepended their binaries # with the same targetPrefix. @@ -8,12 +7,12 @@ assert binutils-unwrapped.targetPrefix == cctools.targetPrefix; let inherit (binutils-unwrapped) targetPrefix; cmds = [ - "ar" "ranlib" "as" "dsymutil" "install_name_tool" + "ar" "ranlib" "as" "install_name_tool" "ld" "strip" "otool" "lipo" "nm" "strings" "size" ]; in -# TODO loop over targetPrefixed binaries too +# TODO: loop over targetPrefixed binaries too stdenv.mkDerivation { name = "${targetPrefix}cctools-binutils-darwin"; outputs = [ "out" "info" "man" ]; @@ -25,9 +24,8 @@ stdenv.mkDerivation { # We specifically need: # - ld: binutils doesn't provide it on darwin # - as: as above - # - ar: the binutils one prodices .a files that the cctools ld doesn't like + # - ar: the binutils one produces .a files that the cctools ld doesn't like # - ranlib: for compatibility with ar - # - dsymutil: soon going away once it goes into LLVM (this one is fake anyway) # - otool: we use it for some of our name mangling # - install_name_tool: we use it to rewrite stuff in our bootstrap tools # - strip: the binutils one seems to break mach-o files @@ -37,6 +35,8 @@ stdenv.mkDerivation { ln -sf "${cctools}/bin/$i" "$out/bin/$i" done + ln -s ${llvm}/bin/llvm-dsymutil $out/bin/dsymutil + ln -s ${binutils-unwrapped.out}/share $out/share ln -s ${cctools}/libexec $out/libexec |