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/