Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-104316

Enable static link of the libgcc library for AL2 and AL2023

    • Type: Icon: Task Task
    • Resolution: Unresolved
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Build
    • None
    • 0
    • None
    • None
    • None
    • None
    • None
    • None

      Title:
      Enable static link of the libgcc library for AL2 and AL2023.

      Description:
      AL2023/AL2 ship an older version of libgcc_s than our toolchain v5. In this upgraded toolchain, there is some bugfix in libgcc_s that improves performance while doing stack unwinding.

      As part of SERVER-103499, we conducted an investigation on the performance impact of using libgcc_s from toolchain v5 and concluded that there is substantial gains.

      It is also noted that there is a correctness benefit to use the runtime libraries from toolchain v5, as we use those libraries in our correctness tests. Linking statically would make us use the same version in production.

      Here's a document that on top of reproducing a coinbase failure also measured the gains using libgcc_s from the toolchain v5, and our recommendations: PERF-6484 Coinbase load test failure reproduction

      We expect statically linking libgcc from the toolchain v5 will bring the observed improvement in AL2023 and other distribution with an older glibc, which don't contained the bugfixes from the GCC 12 and up toolchain.

      Additional Information:
      We already use the -static-libgcc flag on rhel9 powerpc.

            Assignee:
            daniel.moody@mongodb.com Daniel Moody
            Reporter:
            guillaume.racicot@mongodb.com Guillaume Racicot
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: