Skip to content

Commit 319ebef

Browse files
committed
Revert "Merge pull request #36948 from dtzWill/fix/glibc-libgcc_s"
This reverts commit 80ff19a, reversing changes made to 43e867a.
1 parent 2b57e9f commit 319ebef

2 files changed

Lines changed: 74 additions & 28 deletions

File tree

pkgs/development/libraries/glibc/default.nix

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,22 @@ callPackage ./common.nix { inherit stdenv; } {
3939
# limit rebuilds by only disabling pie w/musl
4040
++ stdenv.lib.optional stdenv.hostPlatform.isMusl "pie";
4141

42+
# When building glibc from bootstrap-tools, we need libgcc_s at RPATH for
43+
# any program we run, because the gcc will have been placed at a new
44+
# store path than that determined when built (as a source for the
45+
# bootstrap-tools tarball)
46+
# Building from a proper gcc staying in the path where it was installed,
47+
# libgcc_s will not be at {gcc}/lib, and gcc's libgcc will be found without
48+
# any special hack.
49+
preInstall = ''
50+
if [ -f ${stdenv.cc.cc}/lib/libgcc_s.so.1 ]; then
51+
mkdir -p $out/lib
52+
cp ${stdenv.cc.cc}/lib/libgcc_s.so.1 $out/lib/libgcc_s.so.1
53+
# the .so It used to be a symlink, but now it is a script
54+
cp -a ${stdenv.cc.cc}/lib/libgcc_s.so $out/lib/libgcc_s.so
55+
fi
56+
'';
57+
4258
postInstall = ''
4359
echo SUPPORTED-LOCALES=C.UTF-8/UTF-8 > ../glibc-2*/localedata/SUPPORTED
4460
make -j''${NIX_BUILD_CORES:-1} -l''${NIX_BUILD_CORES:-1} localedata/install-locales

pkgs/top-level/all-packages.nix

Lines changed: 58 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -7336,51 +7336,67 @@ in
73367336

73377337
llvmPackages = recurseIntoAttrs llvmPackages_5;
73387338

7339-
llvmPackages_35 = callPackage ../development/compilers/llvm/3.5 {
7339+
llvmPackages_35 = callPackage ../development/compilers/llvm/3.5 ({
73407340
isl = isl_0_14;
7341-
};
7341+
} // stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
7342+
stdenv = overrideCC stdenv buildPackages.gcc6;
7343+
});
73427344

7343-
llvmPackages_37 = callPackage ../development/compilers/llvm/3.7 {
7345+
llvmPackages_37 = callPackage ../development/compilers/llvm/3.7 ({
73447346
inherit (stdenvAdapters) overrideCC;
73457347
buildLlvmTools = buildPackages.llvmPackages_37.tools;
73467348
targetLlvmLibraries = targetPackages.llvmPackages_37.libraries;
7347-
};
7349+
} // stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
7350+
stdenv = overrideCC stdenv buildPackages.gcc6;
7351+
});
73487352

7349-
llvmPackages_38 = callPackage ../development/compilers/llvm/3.8 {
7353+
llvmPackages_38 = callPackage ../development/compilers/llvm/3.8 ({
73507354
inherit (stdenvAdapters) overrideCC;
73517355
buildLlvmTools = buildPackages.llvmPackages_38.tools;
73527356
targetLlvmLibraries = targetPackages.llvmPackages_38.libraries;
7353-
};
7357+
} // stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
7358+
stdenv = overrideCC stdenv buildPackages.gcc6;
7359+
});
73547360

7355-
llvmPackages_39 = callPackage ../development/compilers/llvm/3.9 {
7361+
llvmPackages_39 = callPackage ../development/compilers/llvm/3.9 ({
73567362
inherit (stdenvAdapters) overrideCC;
73577363
buildLlvmTools = buildPackages.llvmPackages_39.tools;
73587364
targetLlvmLibraries = targetPackages.llvmPackages_39.libraries;
7359-
};
7365+
} // stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
7366+
stdenv = overrideCC stdenv buildPackages.gcc6;
7367+
});
73607368

7361-
llvmPackages_4 = callPackage ../development/compilers/llvm/4 {
7369+
llvmPackages_4 = callPackage ../development/compilers/llvm/4 ({
73627370
inherit (stdenvAdapters) overrideCC;
73637371
buildLlvmTools = buildPackages.llvmPackages_4.tools;
73647372
targetLlvmLibraries = targetPackages.llvmPackages_4.libraries;
7365-
};
7373+
} // stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
7374+
stdenv = overrideCC stdenv buildPackages.gcc6;
7375+
});
73667376

7367-
llvmPackages_5 = callPackage ../development/compilers/llvm/5 {
7377+
llvmPackages_5 = callPackage ../development/compilers/llvm/5 ({
73687378
inherit (stdenvAdapters) overrideCC;
73697379
buildLlvmTools = buildPackages.llvmPackages_5.tools;
73707380
targetLlvmLibraries = targetPackages.llvmPackages_5.libraries;
7371-
};
7381+
} // stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
7382+
stdenv = overrideCC stdenv buildPackages.gcc6; # with gcc-7: undefined reference to `__divmoddi4'
7383+
});
73727384

7373-
llvmPackages_6 = callPackage ../development/compilers/llvm/6 {
7385+
llvmPackages_6 = callPackage ../development/compilers/llvm/6 ({
73747386
inherit (stdenvAdapters) overrideCC;
73757387
buildLlvmTools = buildPackages.llvmPackages_6.tools;
73767388
targetLlvmLibraries = targetPackages.llvmPackages_6.libraries;
7377-
};
7389+
} // stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
7390+
stdenv = overrideCC stdenv buildPackages.gcc6; # with gcc-7: undefined reference to `__divmoddi4'
7391+
});
73787392

7379-
llvmPackages_7 = callPackage ../development/compilers/llvm/7 {
7393+
llvmPackages_7 = callPackage ../development/compilers/llvm/7 ({
73807394
inherit (stdenvAdapters) overrideCC;
73817395
buildLlvmTools = buildPackages.llvmPackages_7.tools;
73827396
targetLlvmLibraries = targetPackages.llvmPackages_7.libraries;
7383-
};
7397+
} // stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
7398+
stdenv = overrideCC stdenv buildPackages.gcc6; # with gcc-7: undefined reference to `__divmoddi4'
7399+
});
73847400

73857401
llvmPackages_latest = llvmPackages_7;
73867402

@@ -7499,10 +7515,12 @@ in
74997515
};
75007516

75017517
# For beta and nightly releases use the nixpkgs-mozilla overlay
7502-
rust = callPackage ../development/compilers/rust {
7518+
rust = callPackage ../development/compilers/rust ({
75037519
inherit (darwin.apple_sdk.frameworks) CoreFoundation Security;
75047520
llvm = llvm_7;
7505-
};
7521+
} // stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
7522+
stdenv = overrideCC stdenv gcc6; # with gcc-7: undefined reference to `__divmoddi4'
7523+
});
75067524
inherit (rust) cargo rustc;
75077525

75087526
buildRustCrate = callPackage ../build-support/rust/build-rust-crate { };
@@ -8131,9 +8149,11 @@ in
81318149
spark_22 = callPackage ../applications/networking/cluster/spark { version = "2.2.1"; };
81328150

81338151
spidermonkey_1_8_5 = callPackage ../development/interpreters/spidermonkey/1.8.5.nix { };
8134-
spidermonkey_38 = callPackage ../development/interpreters/spidermonkey/38.nix {
8152+
spidermonkey_38 = callPackage ../development/interpreters/spidermonkey/38.nix ({
81358153
inherit (darwin) libobjc;
8136-
};
8154+
} // (stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
8155+
stdenv = overrideCC stdenv gcc6; # with gcc-7: undefined reference to `__divmoddi4'
8156+
}));
81378157
spidermonkey_52 = callPackage ../development/interpreters/spidermonkey/52.nix { };
81388158
spidermonkey_60 = callPackage ../development/interpreters/spidermonkey/60.nix { };
81398159
spidermonkey = spidermonkey_38;
@@ -10364,18 +10384,28 @@ in
1036410384

1036510385
hyperscan = callPackage ../development/libraries/hyperscan { };
1036610386

10367-
icu58 = callPackage (import ../development/libraries/icu/58.nix fetchurl) {
10387+
icu58 = callPackage (import ../development/libraries/icu/58.nix fetchurl) ({
1036810388
nativeBuildRoot = buildPackages.icu58.override { buildRootOnly = true; };
10369-
};
10370-
icu59 = callPackage ../development/libraries/icu/59.nix {
10389+
} //
10390+
(stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
10391+
stdenv = overrideCC stdenv gcc6; # with gcc-7: undefined reference to `__divmoddi4'
10392+
}));
10393+
icu59 = callPackage ../development/libraries/icu/59.nix ({
1037110394
nativeBuildRoot = buildPackages.icu59.override { buildRootOnly = true; };
10372-
};
10373-
icu60 = callPackage ../development/libraries/icu/60.nix {
10395+
} // (stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
10396+
stdenv = overrideCC stdenv gcc6; # with gcc-7: undefined reference to `__divmoddi4'
10397+
}));
10398+
icu60 = callPackage ../development/libraries/icu/60.nix ({
1037410399
nativeBuildRoot = buildPackages.icu60.override { buildRootOnly = true; };
10375-
};
10376-
icu63 = callPackage ../development/libraries/icu/63.nix {
10400+
} // (stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
10401+
stdenv = overrideCC stdenv gcc6; # with gcc-7: undefined reference to `__divmoddi4'
10402+
}));
10403+
icu63 = callPackage ../development/libraries/icu/63.nix ({
1037710404
nativeBuildRoot = buildPackages.icu63.override { buildRootOnly = true; };
10378-
};
10405+
} // (stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
10406+
stdenv = overrideCC stdenv gcc6; # with gcc-7: undefined reference to `__divmoddi4'
10407+
}));
10408+
1037910409
icu = icu59;
1038010410

1038110411
id3lib = callPackage ../development/libraries/id3lib { };

0 commit comments

Comments
 (0)