diff --git a/pkgs/development/compilers/gcc-4.5/default.nix b/pkgs/development/compilers/gcc-4.5/default.nix index 644626ee168..39232c4988e 100644 --- a/pkgs/development/compilers/gcc-4.5/default.nix +++ b/pkgs/development/compilers/gcc-4.5/default.nix @@ -283,7 +283,7 @@ stdenv.mkDerivation ({ if cross != null && libcCross != null then "-B${libcCross}/lib -Wl,-L${libcCross}/lib" + (optionalString (libpthreadCross != null) - " -L${libpthreadCross}/lib ${libpthreadCross.TARGET_LDFLAGS}") + " -L${libpthreadCross}/lib -Wl,${libpthreadCross.TARGET_LDFLAGS}") else null; passthru = { inherit langC langCC langAda langFortran langTreelang langVhdl diff --git a/pkgs/os-specific/gnu/libpthread/default.nix b/pkgs/os-specific/gnu/libpthread/default.nix index 87ad5f2b631..6f978b0c76d 100644 --- a/pkgs/os-specific/gnu/libpthread/default.nix +++ b/pkgs/os-specific/gnu/libpthread/default.nix @@ -56,10 +56,12 @@ stdenv.mkDerivation ({ passthru = { # Extra target LDFLAGS to allow the cross-linker to find the # dependencies of the cross libpthread.so, namely libihash.so. + # Note: these are raw `ld' flags, so `-Wl,' must be prepended when using + # `gcc'. # # This is actually only useful while building the final cross-gcc, since # afterwards gcc-cross-wrapper should add the relevant flags. - TARGET_LDFLAGS = "-Wl,-rpath-link=${hurd}/lib"; + TARGET_LDFLAGS = "-rpath-link=${hurd}/lib"; }; } else { }))