git: 4510f2ca9170 - main - Make WITHOUT_UNDEFINED_VERSION the default
Date: Thu, 02 May 2024 17:14:41 UTC
The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=4510f2ca9170927309a423274e03f1eb8e27da27 commit 4510f2ca9170927309a423274e03f1eb8e27da27 Author: Brooks Davis <brooks@FreeBSD.org> AuthorDate: 2024-05-02 17:13:39 +0000 Commit: Brooks Davis <brooks@FreeBSD.org> CommitDate: 2024-05-02 17:13:39 +0000 Make WITHOUT_UNDEFINED_VERSION the default Link with --no-undefined-version by default. Will detect and prevent the accidental removal of symbols from versioned libraries. Reviewed by: arichardson, kib, dim, emaste Differential Revision: https://reviews.freebsd.org/D44216 --- share/man/man5/src.conf.5 | 10 ++++++---- share/mk/bsd.opts.mk | 4 ++-- tools/build/options/WITHOUT_UNDEFINED_VERSION | 2 -- tools/build/options/WITH_UNDEFINED_VERSION | 4 ++++ 4 files changed, 12 insertions(+), 8 deletions(-) diff --git a/share/man/man5/src.conf.5 b/share/man/man5/src.conf.5 index 5301fc488021..53d42321799b 100644 --- a/share/man/man5/src.conf.5 +++ b/share/man/man5/src.conf.5 @@ -1,5 +1,5 @@ .\" DO NOT EDIT-- this file is @generated by tools/build/options/makeman. -.Dd April 23, 2024 +.Dd May 1, 2024 .Dt SRC.CONF 5 .Os .Sh NAME @@ -1716,9 +1716,11 @@ and that the runtime support library is available Do not build .Xr unbound 8 and related programs. -.It Va WITHOUT_UNDEFINED_VERSION -Link libraries with --no-undefined-version to ensure all symbols are -provided. +.It Va WITH_UNDEFINED_VERSION +Link libraries with --undefined-version which permits version maps to +contain symbols that are not present in the library. +If this is necessicary to build a particular configuration, a bug is +present and the configuration should be reported. .It Va WITHOUT_UNIFIED_OBJDIR Use the historical object directory format for .Xr build 7 diff --git a/share/mk/bsd.opts.mk b/share/mk/bsd.opts.mk index 38d53cc6bf30..65ae4f4cfa7c 100644 --- a/share/mk/bsd.opts.mk +++ b/share/mk/bsd.opts.mk @@ -68,7 +68,6 @@ __DEFAULT_YES_OPTIONS = \ SSP \ TESTS \ TOOLCHAIN \ - UNDEFINED_VERSION \ WARNS \ WERROR @@ -81,7 +80,8 @@ __DEFAULT_NO_OPTIONS = \ PROFILE \ RETPOLINE \ STALE_STAGED \ - UBSAN + UBSAN \ + UNDEFINED_VERSION __DEFAULT_DEPENDENT_OPTIONS = \ MAKE_CHECK_USE_SANDBOX/TESTS \ diff --git a/tools/build/options/WITHOUT_UNDEFINED_VERSION b/tools/build/options/WITHOUT_UNDEFINED_VERSION deleted file mode 100644 index 0e58eb00f3c1..000000000000 --- a/tools/build/options/WITHOUT_UNDEFINED_VERSION +++ /dev/null @@ -1,2 +0,0 @@ -Link libraries with --no-undefined-version to ensure all symbols are -provided. diff --git a/tools/build/options/WITH_UNDEFINED_VERSION b/tools/build/options/WITH_UNDEFINED_VERSION new file mode 100644 index 000000000000..71b048349a6f --- /dev/null +++ b/tools/build/options/WITH_UNDEFINED_VERSION @@ -0,0 +1,4 @@ +Link libraries with --undefined-version which permits version maps to +contain symbols that are not present in the library. +If this is necessicary to build a particular configuration, a bug is +present and the configuration should be reported.