Page MenuHomeFreeBSD

Add an UNDEFINED_VERSION option
ClosedPublic

Authored by brooks on Mar 1 2024, 4:52 PM.
Tags
None
Referenced Files
Unknown Object (File)
Oct 3 2024, 6:25 AM
Unknown Object (File)
Oct 2 2024, 1:15 PM
Unknown Object (File)
Oct 2 2024, 11:19 AM
Unknown Object (File)
Oct 1 2024, 2:51 AM
Unknown Object (File)
Oct 1 2024, 12:19 AM
Unknown Object (File)
Sep 30 2024, 1:31 AM
Unknown Object (File)
Sep 20 2024, 5:30 PM
Unknown Object (File)
Sep 19 2024, 7:41 PM
Subscribers

Details

Summary

When enabled (current default) link with --undefined-version to allow
symbol maps to contain symbols not defined by libraries. When disabled,
link with --no-undefined-version to disallow these bugs.

WITHOUT_UNDEFINED_VERSION is currently broken. Once it is fixed it
should be made the default and this option should likely be removed.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

brooks requested review of this revision.Mar 1 2024, 4:52 PM

Is this meant as a transitional tool? Or do we expect to have some sub-Makefiles still set MK_UNDEFINED_VERSION=no because they cannot be fixed?

I'd like it to be a transitional tool.

I've got a set of patches for libc that I'll be posting for review, mostly deleting bogus entries.

share/mk/bsd.lib.mk
263–268

Do all lld and bfd versions of interest support both options? I.e., could we just always pass one or the other?

share/mk/bsd.lib.mk
263–268

Recent bfd linkers support these options. It could be that we could ignore the default value and always pass one.

Drop lld version conditionals and just add the flags

Sure, then I'm totally fine with this. It's better to incrementally fix the problems and then remove this option. Preferably before stable/15 gets branched :)

This revision is now accepted and ready to land.Mar 1 2024, 6:21 PM
This revision was automatically updated to reflect the committed changes.