URL: <https://savannah.gnu.org/support/?111069>
Summary: libtool: patch: Fix dynamic_lookup warnings from new Mac linker Group: GNU Libtool Submitter: dallured Submitted: Fri 24 May 2024 06:01:06 PM UTC Category: None Priority: 5 - Normal Severity: 3 - Normal Status: None Privacy: Public Assigned to: None Originator Email: Open/Closed: Open Discussion Lock: Any Operating System: Mac OS _______________________________________________________ Follow-up Comments: ------------------------------------------------------- Date: Fri 24 May 2024 06:01:06 PM UTC By: Dave Allured <dallured> Apple introduced a new linker with macOS 14/Sonoma. That included new behavior for dynamic lookups. Unpatched Mac builds now encounter this warning, and possible subsequent execution failures: ld: warning: -undefined dynamic_lookup may not work with chained fixups The attached one-line patch for m4/libtool.m4 adds "-no_fixup_chains" which constrains linker to traditional dynamic lookups and safe behavior. This patch targets the 2.4.7 release version of m4/libtool.m4. Caveats. I am not well experienced in linkers or GNU tool systems. This patch is my current best guess as to which libtool file to patch, and what is the simplest remedy for that warning and consequences. The current 2.4.7 version m4/libtool.m4 includes guards for platform and OS version which I think are sufficient for this new flag. I tested this patch in a downstream package only, GNU GSL. I tested this on several OS versions including down level linkers, using Macports CI (github actions). This did not encounter any "unknown option" problems. So I think that new guards are not needed. This patch was inspired by a downstream fix a year ago. Please follow the embedded link to Cpython, for a much more extensive analysis: https://github.com/lcm-proj/lcm/pull/416 I like this: "Compared to using chained fix-ups, the only potential downside for us is a slightly larger dylib" _______________________________________________________ File Attachments: ------------------------------------------------------- Name: patch-libtool.darwin.no_fixup_chains.diff Size: 473B <https://file.savannah.gnu.org/file/patch-libtool.darwin.no_fixup_chains.diff?file_id=56099> AGPL NOTICE These attachments are served by Savane. You can download the corresponding source code of Savane at https://git.savannah.nongnu.org/cgit/administration/savane.git/snapshot/savane-4b48cbb9570c156bf7d681225b664258d7028914.tar.gz _______________________________________________________ Reply to this item at: <https://savannah.gnu.org/support/?111069> _______________________________________________ Message sent via Savannah https://savannah.gnu.org/