Re: -no_fixup_chains patch

Ileana Dumitrescu <[email protected]> Fri, 5 Jul 2024 18:05:44 +0300
Newsgroups gmane.comp.gnu.libtool.general
Message-ID <[email protected]>
On 04/07/2024 20:55, Gary V. Vaughan wrote:
> 
> 
>> On Jul 2, 2024, at 12:01 PM, Václav Haisman <[email protected]> wrote:
>>
>> On 28. 06. 24 0:41, Ozkan Sezer wrote:
>>> [Sorry, I seem to have deleted the mailing list message from my inbox]
>>> Regarding -no_fixup_chains patch i.e.
>>>  http://git.savannah.gnu.org/gitweb/?p=libtool.git;a=commitdiff;h=3d1baeeef90a6b9e16c545babe833f28dca155a7
>>> Is '+=' universally supported?? Maybe change to something like the 
>>> following??
>>
>> Is there a reason not to use AS_VAR_APPEND? 
>> (https://www.gnu.org/software/autoconf/manual/autoconf-2.69/html_node/Polymorphic-Variables.html)
>>
>>> diff --git a/m4/libtool.m4 b/m4/libtool.m4
>>> index 381d4cb..31f1be0 100644
>>> --- a/m4/libtool.m4
>>> +++ b/m4/libtool.m4
>>> @@ -1032,3 +1032,3 @@
>>>        [ save_LDFLAGS=$LDFLAGS
>>> -        LDFLAGS+=" -Wl,-no_fixup_chains"
>>> +        LDFLAGS="$LDFLAGS -Wl,-no_fixup_chains"
>>>          AC_LINK_IFELSE(
>>> @@ -1093,3 +1093,3 @@ _LT_EOF
>>>            if test yes = "$lt_cv_support_no_fixup_chains"; then
>>> -            _lt_dar_allow_undefined+=' $wl-no_fixup_chains'
>>> +            _lt_dar_allow_undefined='$_lt_dar_allow_undefined
>>> $wl-no_fixup_chains'
>>>            fi
> 
> AS_VAR_APPEND goes through a lot of setup at Libtool build-time, and 
> eventually ends up calling a shell function as_fn_append at runtime 
> anyway.   Since Libtool includes funclib.sh, it would be simpler to use 
> func_append in this case: 
> https://github.com/gnulib-modules/bootstrap/blob/master/build-aux/funclib.sh#L532-L549 <https://github.com/gnulib-modules/bootstrap/blob/master/build-aux/funclib.sh#L532-L549>

It is simpler than AS_VAR_APPEND, and it still includes the ability
to utilize the '+=' extension, which I do prefer. I have attached a 
proposed patch for this implementation. Unless there is an issue with
including the functionality of funclib.sh in libtool.m4, I will apply
this patch early next week.

The actual issue with appending the '-no_fixup_chains' option should
be fixed at this point, so I will close that [1].

[1] https://savannah.gnu.org/support/index.php?111069

-- 
Ileana Dumitrescu

GPG Public Key: FA26 CA78 4BE1 8892 7F22 B99F 6570 EA01 146F 7354
0001-m4-Utilize-bootstrap-s-func_append.patch (text/x-patch, 1.4 KB)
From f3028d64b899acef3056a477dbc9bc64320adcb0 Mon Sep 17 00:00:00 2001
From: Ileana Dumitrescu <[email protected]>
Date: Fri, 5 Jul 2024 17:44:55 +0300
Subject: [PATCH] m4: Utilize bootstrap's func_append

* m4/libtool.m4: Instead of a conditional for using -no_fixup_chains,
  func_append will handle appending the option to the variable, which
  allows the '+=' extension to be used by shells that provide this
  capability for more efficient scaling.
---
 m4/libtool.m4 | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/m4/libtool.m4 b/m4/libtool.m4
index e9eef32f..0b00154a 100644
--- a/m4/libtool.m4
+++ b/m4/libtool.m4
@@ -1089,10 +1089,11 @@ _LT_EOF
         10.[[012]],*|,*powerpc*-darwin[[5-8]]*)
           _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
         *)
+          _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup'
           if test yes = "$lt_cv_support_no_fixup_chains"; then
-            _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup $wl-no_fixup_chains'
-          else
-            _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup'
+            # Include functionality from bootstrap script funclib.sh
+            . $ac_aux_dir/funclib.sh
+            func_append _lt_dar_allow_undefined ' $wl-no_fixup_chains'
           fi
         ;;
       esac
-- 
2.45.1
OpenPGP_0x6570EA01146F7354.asc (application/pgp-keys, 6.3 KB)
-----BEGIN PGP PUBLIC KEY BLOCK-----

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
=fGTx
-----END PGP PUBLIC KEY BLOCK-----
OpenPGP_signature.asc (application/pgp-signature, 840 B)
-----BEGIN PGP SIGNATURE-----

wsF5BAABCAAjFiEE+ibKeEvhiJJ/IrmfZXDqARRvc1QFAmaIC8kFAwAAAAAACgkQZXDqARRvc1Sr
Kw/+J7GIlUksIuCdeTnQ+JJ+BK52ZYb1vZYCezegb92tYI2x44aIqmBoqpWNZSQHpmXUTrqwzy8W
cbMHIinCe60rLK1HuAI2nW8nFOTkz0h3i5WSO7L2Z6aAKPtqeAxQKCDUfZhePDj2YzK6VuoC+jk5
VPKxqHjYVOA5H45rK+9b7b4ZylW8eHut3cWUoNdS49zlts3OQXPF7+pGeJUEvJAcAU+IDP3e/kXk
TlTN2W96zHAGMK3sJIIrdbIzxXOdtPl2768I6Aw67RjLke8oUqDvFxgnMxQACPczMW4T8CXAy+/i
QVTqaBQexvgjYMhUqkAhU3rgUcnkpmnwcGY0DexWCc0+KP7tDg2wBVe/FIAskqkvH36imPcjaG3P
NkRRWO778vubOGlKTW9Qt07PLZDUdzLoy0wxHsCw2TmgXFjv42Zm7lTuWUdakeSnfZLEi/XP/5XF
67vbtVOohCMMqF/tgXqO4S0yahJ6bodlGYyrLWUJHFgIK9V+WXmQeWz4M+Z9AREKUx2n2o0dWJxB
OIuz/AKKbcmn4PqyHPNjhufss/ASL+gepO1bAeyHDPNHHbQzsNDfcc+uMXNzq4w+rWPFyTl2Cjpv
MDxCveBK1oSjpI1nlk+3YDQ9XvTuwDHgu4xuGSO99bfbBFWtgJ6IaIB0gt+NCwGt7hCas4SaOfW0
J0U=
=p+CP
-----END PGP SIGNATURE-----