From 0f558761aa2dee1017b4751e4017205e015a9560 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Wed, 29 Jun 2022 12:04:12 +0100 Subject: gentoo resync : 29.12.2022 --- .../mongodb/files/mongodb-5.0.5-no-force-lld.patch | 49 ++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 dev-db/mongodb/files/mongodb-5.0.5-no-force-lld.patch (limited to 'dev-db/mongodb/files/mongodb-5.0.5-no-force-lld.patch') diff --git a/dev-db/mongodb/files/mongodb-5.0.5-no-force-lld.patch b/dev-db/mongodb/files/mongodb-5.0.5-no-force-lld.patch new file mode 100644 index 000000000000..6ce92778b6bd --- /dev/null +++ b/dev-db/mongodb/files/mongodb-5.0.5-no-force-lld.patch @@ -0,0 +1,49 @@ +Don't automagically force lld > gold > bfd. Leave it up to the user. + +In particular, avoids issues with LTO enabled (via the flag/scons option) +where using GCC as compiler, as lld can't do LTO with GCC. + +https://bugs.gentoo.org/769986 +--- a/SConstruct ++++ b/SConstruct +@@ -2824,40 +2824,6 @@ def doConfigure(myenv): + def AddToSHLINKFLAGSIfSupported(env, flag): + return AddFlagIfSupported(env, 'C', '.c', flag, True, SHLINKFLAGS=[flag]) + +- if myenv.ToolchainIs('gcc', 'clang'): +- # This tells clang/gcc to use the gold linker if it is available - we prefer the gold linker +- # because it is much faster. Don't use it if the user has already configured another linker +- # selection manually. +- if any(flag.startswith('-fuse-ld=') for flag in env['LINKFLAGS']): +- myenv.FatalError(f"Use the '--linker' option instead of modifying the LINKFLAGS directly.") +- +- linker_ld = get_option('linker') +- if linker_ld == 'auto': +- # lld has problems with separate debug info on some platforms. See: +- # - https://bugzilla.mozilla.org/show_bug.cgi?id=1485556 +- # - https://bugzilla.mozilla.org/show_bug.cgi?id=1485556 +- # +- # lld also apparently has problems with symbol resolution +- # in some esoteric configurations that apply for us when +- # using --link-model=dynamic mode, so disable lld there +- # too. See: +- # - https://bugs.llvm.org/show_bug.cgi?id=46676 +- # +- # We should revisit all of these issues the next time we upgrade our clang minimum. +- if get_option('separate-debug') == 'off' and get_option('link-model') != 'dynamic': +- if not AddToLINKFLAGSIfSupported(myenv, '-fuse-ld=lld'): +- AddToLINKFLAGSIfSupported(myenv, '-fuse-ld=gold') +- else: +- AddToLINKFLAGSIfSupported(myenv, '-fuse-ld=gold') +- elif link_model.startswith("dynamic") and linker_ld == 'bfd': +- # BFD is not supported due to issues with it causing warnings from some of +- # the third party libraries that mongodb is linked with: +- # https://jira.mongodb.org/browse/SERVER-49465 +- myenv.FatalError(f"Linker {linker_ld} is not supported with dynamic link model builds.") +- else: +- if not AddToLINKFLAGSIfSupported(myenv, f'-fuse-ld={linker_ld}'): +- myenv.FatalError(f"Linker {linker_ld} could not be configured.") +- + detectCompiler = Configure(myenv, help=False, custom_tests = { + 'CheckForCXXLink': CheckForCXXLink, + }) -- cgit v1.2.3