Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 3 additions & 6 deletions tools/link.py
Original file line number Diff line number Diff line change
Expand Up @@ -889,12 +889,9 @@ def phase_linker_setup(linker_args): # ruff: ignore[complex-structure, too-many
# autoconf declares functions without their proper signatures, and STRICT causes that to trip up by passing --fatal-warnings to the linker.
if settings.STRICT:
exit_with_error('autoconfiguring is not compatible with STRICT')
# AC_CHECK_LIB probes for a symbol by declaring it without a prototype
# (`char foo ();`) and then calling it with no arguments. When the symbol
# comes from an object file or an archive lld only warns about the
# resulting signature mismatch and synthesizes a thunk, but when it comes
# from a shared library the mismatch is a hard error. This turns off the
# shared library check.
# autoconf declares functions without their proper signatures, so turn off shared library signature checks
# TODO: Align defaults for signature checking with static and dynamic linking?
# See https://github.com/llvm/llvm-project/issues/214557
linker_args.append('--no-shlib-sigcheck')

if settings.OPT_LEVEL >= 1:
Expand Down