summaryrefslogtreecommitdiff
path: root/src/mongo/installer
diff options
context:
space:
mode:
authorRyan Egesdahl <ryan.egesdahl@mongodb.com>2020-11-25 13:05:53 -0800
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2020-11-26 08:56:00 +0000
commit2a0e76082be0f2aca82830bcaf91f6d737b842ac (patch)
tree2e20e7c1376235c49236b20a141b7f55e1e29d58 /src/mongo/installer
parent82ef2151223ec184682e752436ac07916500253f (diff)
downloadmongo-2a0e76082be0f2aca82830bcaf91f6d737b842ac.tar.gz
SERVER-48291 Ensure runtime is dynamically linked in dynamic builds
Prior to this point, a dynamic build might have resulted in some runtime libraries being statically linked into shared objects and executables in cases where "shared" runtime libraries were actually linker scripts that linked static versions. This was the case with the MongoDB toolchain and some distro toolchains, including those installed as updated compiler versions in RHEL. The effect of having runtime libraries statically linked was that symbols from those libraries would end up scattered over the compiled objects, increasing object sizes and slowing down server startup. Now, whenever a dynamic build is selected, the user can choose whether to create "shim" runtime libraries that wrap the static ones. The default behavior on Linux is that dynamic builds will detect whether runtime libraries are linker scripts and create shim libraries if any are found. On Windows, the default is to always use a dynamic runtime library with dynamic builds. For other platforms, the prior behavior remains unchanged.
Diffstat (limited to 'src/mongo/installer')
-rw-r--r--src/mongo/installer/msi/ca/SConscript2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/mongo/installer/msi/ca/SConscript b/src/mongo/installer/msi/ca/SConscript
index 01068b4a3ce..0693c6223e0 100644
--- a/src/mongo/installer/msi/ca/SConscript
+++ b/src/mongo/installer/msi/ca/SConscript
@@ -34,7 +34,7 @@ ca = env.SharedLibrary(
LIBDEPS_GLOBAL=[
dep
for dep in env.get('LIBDEPS_GLOBAL', [])
- if not dep.endswith('shim_allocator')
+ if dep and not dep.endswith('shim_allocator')
],
# TODO: Remove when SERVER-48291 is merged into stable build tools
DISABLE_ALLOCATOR_SHIM_INJECTION=True,