Skip to content

build: allow GMP to be statically linked

Daiki Ueno requested to merge dueno/gnutls:wip/dueno/gmp-static into master

Even though we set the custom allocator[1] to zeroize sensitive data, it can be easily invalidated if the application sets its own custom allocator. An approach to prevent that is to link against a static library of GMP, so the use of GMP is privatized and the custom allocator configuration is not shared with other applications.

This patch allows libgnutls to be linked with the static library of GMP. Note that, to this work libgmp.a needs to be compiled with -fPIC and libhogweed in Nettle is also linked to the static library of GMP.

  1. !1554 (merged)

Checklist

  • Commits have Signed-off-by: with name/author being identical to the commit author
  • Code modified for feature
  • Test suite updated with functionality tests
  • Test suite updated with negative tests
  • Documentation updated / NEWS entry present (for non-trivial changes)
  • CI timeout is 2h or higher (see Settings/CICD/General pipelines/Timeout)

Reviewer's checklist:

  • Any issues marked for closing are addressed
  • There is a test suite reasonably covering new functionality or modifications
  • Function naming, parameters, return values, types, etc., are consistent and according to CONTRIBUTION.md
  • This feature/change has adequate documentation added
  • No obvious mistakes in the code

Merge request reports