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/


Reply via email to