Commit Graph

155 Commits

Author SHA1 Message Date
Mohammad Dashti
077cb322d1 SERVER-56213 Upgrade timelib to 2021.05 or later 2021-04-21 19:02:58 +00:00
Mohammad Dashti
6282628930 SERVER-55725 Upgrade timelib to 2021.02 or later 2021-04-12 18:58:07 +00:00
Daniel Moody
6425c57400 SERVER-30815 Added linter to check for unnecessary PUBLIC libdeps, and added schema versioning. 2020-12-16 07:27:36 +00:00
Ryan Egesdahl
b0120ee8b2 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 remains as it was before, and dynamic runtime must
be enabled in order to use it.
2020-12-09 16:16:17 +00:00
Kaloian Manassiev
710aa34bd1 Revert "SERVER-48291 Ensure runtime is dynamically linked in dynamic builds"
This reverts commit 2a0e76082b.
2020-11-26 17:28:35 +00:00
Ryan Egesdahl
2a0e76082b 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.
2020-11-26 08:56:00 +00:00
Ryan Egesdahl
82ef215122 SERVER-48291 Add global dependency pushdown to libdeps
We sometimes have situations where a dependency applies at a large
scope, such as in the case of tcmalloc, which can apply everywhere. What
we have done previously is to hack these dependencies into the LIBDEPS
environment variable by adding a builder to all nodes that can produce a
compiler result. This is, as stated previously, hackish and hard to
control, and it results in adding a Public dependency to all those
nodes.

What we now do instead is to define LIBDEPS_GLOBAL on the *build
environment* (not the Builder node) listing the targets we would like to
push down to all other nodes below that point. This has the effect of
adding those targets as Private dependencies on all Builder nodes from
that point downward, which means some common Public dependencies can be
converted to a Private dependency that is stated only once.
2020-11-26 08:56:00 +00:00
Mark Benvenuto
fcf154287c SERVER-50357 Add daily no-ssl build to evergreen 2020-10-05 16:17:13 +00:00
Daniel Moody
a81e107047 SERVER-49168 made SYSLIBDEPS_PRIVATE type and switched lzma to use it 2020-08-27 21:35:32 +00:00
Daniel Moody
ad84ed6435 SERVER-49703 Added libdep linter alphabetic rule and update all libdeps list to be alphabetical 2020-08-27 06:21:15 +00:00
Daniel Moody
8f42fecbea SERVER-49760 Added libdep lint rule to enforce no public libdeps. 2020-08-25 22:29:28 +00:00
Daniel Moody
cc68e42e8d SERVER-49761 Added libdeps rule for leaf node no dependencies 2020-08-21 20:17:47 +00:00
Ryan Egesdahl
6161c02d0d SERVER-50167 Upgrade gperftools to v2.8 2020-08-13 23:50:58 +00:00
Daniel Moody
d986854f5e SERVER-48638 Added LibdepsLinter to enforce LIBDEPS rules 2020-07-23 21:52:22 +00:00
Andrew Morrow
5394c832f0 SERVER-49141 Ensure that LIBDEPS for libunwind do not accidentally become public 2020-06-29 18:00:54 +00:00
Tess Avitabile
3ea60282c8 Revert "SERVER-44278 Upgrade timelib to 2018.03"
This reverts commit 22d98e72ac.
2020-06-29 14:07:33 +00:00
Ryan Egesdahl
307c909b4a SERVER-40147 Upgrade third-party variant from 1.3.0 to 1.4.0
We use a third-party implementation of std::variant on platforms that do
not include it. This change simply upgrades the third-party source to
the most recent release and then fixes the way we actually depend on it.
2020-06-26 17:47:49 +00:00
Ryan Egesdahl
22d98e72ac SERVER-44278 Upgrade timelib to 2018.03
This is a third-party source upgrade of timelib to version 2018.03.
2020-06-26 17:02:46 +00:00
Andrew Morrow
78168e2c40 SERVER-48546 Reduce scope of libraries injected via libbase 2020-06-25 19:45:49 +00:00
Ryan Egesdahl
1845ea3114 SERVER-48273 SERVER-48273 Backport yaml-cpp CVE fixes from 0.6.3 to 0.6.2
Backport the following yaml-cpp CVE fixes from version 0.6.3 to version 0.6.2:
  * CVE-2019-6292
  * CVE-2019-6285

Also, backport one fix from 0.6.3 for failing VS2017 builds.

We were previously downloading a source archive for yaml-cpp. To support
easily backporting fixes, it's changed to use git instead.
2020-05-20 20:26:44 +00:00
Ryan Egesdahl
2dc2b30e10 SERVER-40711 Update zstd dependency from version 1.4.3 to 1.4.4
The zstandard library has a new version that is supposed to have an 8%
increase in compression speed. This is a simple dependency version bump.
2020-05-15 16:21:47 +00:00
Billy Donahue
cbfc03979e SERVER-41567 Upgrade google-benchmark to tag mongo-v1.5.0 2020-05-09 17:27:43 +00:00
Andrew Morrow
82cf48411f SERVER-27675 Make all targets depend on the allocator shim to topsort it last 2020-02-21 17:55:11 +00:00
Billy Donahue
c1e1c591e6 SERVER-45677 libunwind on by default where possible
- tcmalloc to not use libunwind API, as it uses slow cursor steps.
  - Remove UNW_LOCAL_ONLY from CXXFLAGS everywhere.
2020-02-14 16:58:34 +00:00
William Schultz
97f3babf78 Revert "SERVER-45677 libunwind on by default where possible"
This reverts commit 969151e9ab.
2020-02-06 02:45:35 +00:00
Billy Donahue
969151e9ab SERVER-45677 libunwind on by default where possible
- SCons configure to probe for libunwind support
    - gracefully handle SIGUSR2 without libunwind
    - integrate libunwind on-by-default (linux-x86_64) into evergreen
2020-02-05 21:00:41 +00:00
Andrew Morrow
93cfea46d9 SERVER-44549 Remove the mobile storage engine
mode change 100644 => 100755 buildscripts/evergreen_task_timeout.py
 delete mode 100644 buildscripts/resmokeconfig/suites/disk_mobile.yml
 delete mode 100644 src/mongo/db/storage/mobile/SConscript
 delete mode 100644 src/mongo/db/storage/mobile/mobile_index.cpp
 delete mode 100644 src/mongo/db/storage/mobile/mobile_index.h
 delete mode 100644 src/mongo/db/storage/mobile/mobile_index_test.cpp
 delete mode 100644 src/mongo/db/storage/mobile/mobile_init.cpp
 delete mode 100644 src/mongo/db/storage/mobile/mobile_kv_engine.cpp
 delete mode 100644 src/mongo/db/storage/mobile/mobile_kv_engine.h
 delete mode 100644 src/mongo/db/storage/mobile/mobile_kv_engine_test.cpp
 delete mode 100644 src/mongo/db/storage/mobile/mobile_options.cpp
 delete mode 100644 src/mongo/db/storage/mobile/mobile_options.h
 delete mode 100644 src/mongo/db/storage/mobile/mobile_options.idl
 delete mode 100644 src/mongo/db/storage/mobile/mobile_options_mongod.cpp
 delete mode 100644 src/mongo/db/storage/mobile/mobile_record_store.cpp
 delete mode 100644 src/mongo/db/storage/mobile/mobile_record_store.h
 delete mode 100644 src/mongo/db/storage/mobile/mobile_record_store_test.cpp
 delete mode 100644 src/mongo/db/storage/mobile/mobile_recovery_unit.cpp
 delete mode 100644 src/mongo/db/storage/mobile/mobile_recovery_unit.h
 delete mode 100644 src/mongo/db/storage/mobile/mobile_session.cpp
 delete mode 100644 src/mongo/db/storage/mobile/mobile_session.h
 delete mode 100644 src/mongo/db/storage/mobile/mobile_session_pool.cpp
 delete mode 100644 src/mongo/db/storage/mobile/mobile_session_pool.h
 delete mode 100644 src/mongo/db/storage/mobile/mobile_sqlite_statement.cpp
 delete mode 100644 src/mongo/db/storage/mobile/mobile_sqlite_statement.h
 delete mode 100644 src/mongo/db/storage/mobile/mobile_util.cpp
 delete mode 100644 src/mongo/db/storage/mobile/mobile_util.h
 delete mode 100755 src/third_party/scripts/sqlite_get_sources.sh
 delete mode 100644 src/third_party/shim_sqlite.cpp
 delete mode 100644 src/third_party/sqlite-amalgamation-3260000/SConscript
 delete mode 100644 src/third_party/sqlite-amalgamation-3260000/patches/gethostuuid.patch
 delete mode 100644 src/third_party/sqlite-amalgamation-3260000/sqlite/shell.c
 delete mode 100644 src/third_party/sqlite-amalgamation-3260000/sqlite/sqlite3.c
 delete mode 100644 src/third_party/sqlite-amalgamation-3260000/sqlite/sqlite3.h
 delete mode 100644 src/third_party/sqlite-amalgamation-3260000/sqlite/sqlite3ext.h
2020-02-03 17:38:53 +00:00
Henrik Edin
5d9ecdd0bc SERVER-43710 Upgrade Zstandard to version 1.4.3 2019-10-09 13:19:40 +00:00
Andrew Morrow
dc1afe419b SERVER-42787 Handle missing third party modifications more gracefully 2019-08-14 18:30:34 +00:00
A. Jesse Jiryu Davis
cbead44094 SERVER-36242 Optionally use libunwind for backtraces 2019-07-17 10:49:15 -04:00
Billy Donahue
3abf0cce9d SERVER-33259 add libunwind to third_party
- revert commit f8c69b3613.
    - clang-format
    - work around ninja module $ASPP assertion
2019-07-15 14:09:45 -04:00
Xiangyu Yao
f8c69b3613 Revert "SERVER-33259 add libunwind to third_party"
This reverts commit d6bd2c5885.
2019-07-15 11:51:42 -04:00
Billy Donahue
d6bd2c5885 SERVER-33259 add libunwind to third_party 2019-07-15 11:32:31 -04:00
Henrik Edin
6c40059b84 SERVER-41685 Add boost log to vendored boost 2019-06-20 11:08:32 -04:00
A. Jesse Jiryu Davis
a587fc4fe1 SERVER-26906 Add constexpr function to convert Durations 2019-05-31 16:04:51 -04:00
Henrik Edin
5c12c52f6f SERVER-40834 Upgrade boost to version 1.70 2019-05-22 09:27:54 -04:00
Mathew Robinson
f0f26c1dfc SERVER-40800 Move -Wno-invalid-offsetof to CXXFLAGS 2019-05-07 11:51:25 -04:00
Shreyas Kalyan
b5c774f90e SERVER-39894 Add support for AWS credentials in the shell 2019-04-15 17:37:30 -04:00
Andrew Morrow
ba963c9a88 SERVER-40375 Remove gperftools 2.5 2019-04-09 12:56:08 -04:00
Billy Donahue
2def9c02b3 SERVER-40389 small tweaks to third_party/fmt & related.
Add an option to scons: --use-system-fmt
    import.sh: use the upstream libfmt github repo.
    StringData fmt interop
    noexcept for to_string_view(StringData) hook
    noexcept for StringData's rawData() and size()
    add fmt to THIRD-PARTY-NOTICES + markdown tweaks
    import the fmt LICENSE.rst
    update fmt lib revision
2019-04-08 10:22:17 -04:00
Billy Donahue
2c246e5860 SERVER-40389 add fmt to third_party 2019-03-29 15:00:32 -04:00
Billy Donahue
5c27bee7ce SERVER-40334 change --allocator=tcmalloc to mean gperftools-2.7 2019-03-28 12:40:41 -04:00
Billy Donahue
c198c2b606 SERVER-39265 refactor gperftools-2.7 import, config, and build.
configured on rhel67-z-dev.maristisv.build.10gen.cc
    configured on rhel71-ppc-dev.pic.build.10gen.cc
    configured on ubuntu1604-arm64-7.linaro.build.10gen.cc
    configured on ec2-52-200-142-75.compute-1.amazonaws.com
2019-03-21 18:36:58 -04:00
Mark Benvenuto
5c5631bcf6 SERVER-39891 Vendor KMS Message Library 2019-03-14 13:38:03 -04:00
Henrik Edin
66430d75e3 SERVER-38176 Compile with /permissive- on MSVC to make the compiler strictly standard conformant. 2019-02-01 17:06:10 -05:00
Gabriel Russell
d80755651c SERVER-29286 import and use mozjs-60 2019-01-30 19:06:17 +00:00
Gabriel Russell
254fff9327 Revert "SERVER-29286 import and use mozjs-60"
This reverts commit a3d232b697.
2019-01-29 23:16:33 +00:00
Gabriel Russell
a3d232b697 SERVER-29286 import and use mozjs-60 2019-01-29 23:06:10 +00:00
Henrik Edin
cb7c8ceba4 SERVER-37996 Add stock gperftools 2.7 as an allocator option activated with --allocator=tcmalloc-experimental 2019-01-25 13:37:26 -05:00
Henrik Edin
d29f140ae0 SERVER-37357 Upgrade SQLite to version 3.26.0 2019-01-16 10:08:15 -05:00