[dev-db/mongodb] add newer
This commit is contained in:
49
dev-db/mongodb/files/mongodb-5.0.5-no-force-lld.patch
Normal file
49
dev-db/mongodb/files/mongodb-5.0.5-no-force-lld.patch
Normal file
@@ -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,
|
||||
})
|
||||
Reference in New Issue
Block a user