| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
This reverts commit 2a0e76082be0f2aca82830bcaf91f6d737b842ac.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
>=10.2
|
| |
|
| |
|
|
|
|
|
| |
- tcmalloc to not use libunwind API, as it uses slow cursor steps.
- Remove UNW_LOCAL_ONLY from CXXFLAGS everywhere.
|
|
|
|
| |
This reverts commit 969151e9ab69dcb53397cf40f810e718421db081.
|
|
|
|
|
|
| |
- SCons configure to probe for libunwind support
- gracefully handle SIGUSR2 without libunwind
- integrate libunwind on-by-default (linux-x86_64) into evergreen
|
| |
|
|
|
|
| |
import to new v1.4-stable-mongo tag
|
| |
|
| |
|
|
|
|
|
|
| |
- revert commit f8c69b361381a396f81c443438436e99c5af4970.
- clang-format
- work around ninja module $ASPP assertion
|
|
|
|
| |
This reverts commit d6bd2c5885215c29d723f02d8607f2c6d662aacc.
|
|
|