diff options
author | Matthew Pickering <matthewtpickering@gmail.com> | 2023-01-07 11:11:15 +0000 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2023-01-07 12:15:15 -0500 |
commit | 8c0ea25fb4a27d4729aabf73f4c00b912bb0c58d (patch) | |
tree | aa2042d3f66e0f9559113848910b930821d40f44 /docs/users_guide/utils.py | |
parent | 734847108420cf826a807c30ad54651659cf3a08 (diff) | |
download | haskell-8c0ea25fb4a27d4729aabf73f4c00b912bb0c58d.tar.gz |
Pass -Wl,-no_fixup_chains to ld64 when appropiate
Recent versions of MacOS use a version of ld where `-fixup_chains` is on by default.
This is incompatible with our usage of `-undefined dynamic_lookup`. Therefore we
explicitly disable `fixup-chains` by passing `-no_fixup_chains` to the linker on
darwin. This results in a warning of the form:
ld: warning: -undefined dynamic_lookup may not work with chained fixups
The manual explains the incompatible nature of these two flags:
-undefined treatment
Specifies how undefined symbols are to be treated. Options are: error, warning,
suppress, or dynamic_lookup. The default is error. Note: dynamic_lookup that
depends on lazy binding will not work with chained fixups.
A relevant ticket is #22429
Here are also a few other links which are relevant to the issue:
Official comment: https://developer.apple.com/forums/thread/719961
More relevant links:
https://openradar.appspot.com/radar?id=5536824084660224
https://github.com/python/cpython/issues/97524
Note in release notes: https://developer.apple.com/documentation/xcode-release-notes/xcode-13-releas e-notes
Diffstat (limited to 'docs/users_guide/utils.py')
0 files changed, 0 insertions, 0 deletions