Package: libtool / 2.4.6-10

Metadata

Package Version Patches format
libtool 2.4.6-10 3.0 (quilt)

Patch series

view the series file
Patch File delta Description
0001 libtool fix GCC linking with specs.patch | (download)

build-aux/ltmain.in | 4 3 + 1 - 0 !
1 file changed, 3 insertions(+), 1 deletion(-)

 [patch 01/20] libtool: fix gcc linking with -specs=*

References:
https://bugzilla.redhat.com/show_bug.cgi?id=985592

* build-aux/ltmain.in (func_mode_link): Pass -specs=*
to the linker, Fedora uses this option for hardening.

Signed-off-by: Pavel Raiskup <praiskup@redhat.com>

0003 libtoolize fix infinite recursion in m4.patch | (download)

bootstrap | 42 27 + 15 - 0 !
1 file changed, 27 insertions(+), 15 deletions(-)

 [patch 03/20] libtoolize: fix infinite recursion in m4

Some projects use this construct in configure.ac:

  m4_define([version], m4_include([version]))
  pkg_version=version

When the m4_include builtin is undefined (as was done in
libtoolize and extract-trace scripts), the call to this 'version'
macro enters an infinite recursion (until ENOMEM).  So rather
re-define all potentially dangerous macros by empty strings,
suggested by Eric Blake.

While we are on it, merge the macro-"blacklist" with similar list
implemented in gettext, except for 'm4_esyscmd'.  It's kept
defined because we already trace AC_INIT macro for package
version, while it is often specified by
m4_esyscmd(git-version-gen).  Similarly to m4_include, m4_esyscmd
might be opt-in-blacklisted in future.

References:
http://lists.gnu.org/archive/html/libtool/2015-09/msg00000.html
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=764580

* gl/build-aux/extract-trace (_G_mini): Redefine trace-breaking
macros to empty strings rather than undefining those.  Use 'dnl'
for comments.
* bootstrap: Likewise, sync with extract-trace.
* NEWS: Document.
* NO-THANKS: Mention Hiroyuki Sato.

Signed-off-by: Pavel Raiskup <praiskup@redhat.com>

0011 libtool optimizing options parser hooks.patch | (download)

bootstrap | 171 122 + 49 - 0 !
build-aux/ltmain.in | 35 27 + 8 - 0 !
build-aux/options-parser | 171 122 + 49 - 0 !
3 files changed, 271 insertions(+), 106 deletions(-)

 [patch] libtool: optimizing options-parser hooks

Its not necessary to (re)func_quote_for_eval in each function in
the hook hierarchy.  Usually it is enough if the leaf function
does func_quote_for_eval and its caller just re-uses the
<CALLEE>_return variable.

This is follow up for the previous commit.

* gl/build-aux/options-parser (func_run_hooks): Propagate
$EXIT_SUCCESS return code down to caller if *any* hook succeeded.
Never re-quote the result -- either the arguments are left
untouched, or the options have already been properly quoted by
succeeding hooks.
(func_parse_options): Quote '$@' and return $EXIT_SUCCESS only if
we changed something.
(func_validate_options): Likewise.
(func_options_prep): Likewise.
(func_options_finish): New hook-caller for 'func_options' hooks.
(func_options): Propagate return value down to top-level caller,
but pay attention we have always set $func_options_result.
* build-aux/ltmain.in (libtool_options_prep): Quote '$@' and
return $EXIT_SUCCESS only if we changed something.
(libtool_parse_options): Likewise.
* bootstrap: Sync gl/build-aux/with option-parser.

0015 syntax check fix sed syntax errors.patch | (download)

cfg.mk | 12 6 + 6 - 0 !
1 file changed, 6 insertions(+), 6 deletions(-)

 [patch 15/20] syntax-check: fix sed syntax errors

Multi-line single-quoted shell arguments defined within makefile
rules end up having the trailing backslash.  This caused problem
in some sc_* rules as GNU sed does not interpret trailing
backslash the same way as SHELL (== appending next line).
Switching to double quotes means that SHELL will remove the
trailing backslash for subsequent sed call.  This silences a lot
of GNU sed warnings seen before like:

  sed: -e expression #1, char 96: unterminated address regex

* cfg.mk (sc_libtool_m4_cc_basename): Use $(SED) instead of sed,
use double quotes for sed's multi-line argument.
(sc_prohibit_set_dummy_without_shift): Likewise.
(sc_prohibit_test_const_follows_var): Likewise.

0020 libtool fix GCC clang linking with fsanitize.patch | (download)

build-aux/ltmain.in | 3 2 + 1 - 0 !
1 file changed, 2 insertions(+), 1 deletion(-)

 [patch 20/20] libtool: fix gcc/clang linking with -fsanitize=*

References:
https://lists.gnu.org/archive/html/libtool/2014-04/msg00026.html

* build-aux/ltmain.in (func_mode_link): Pass -fsanitize=* to the
linker to allow trivial use of the clang address sanitizer.

Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@macports.org>
Copyright-paperwork-exempt: Yes

link_all_deplibs.patch | (download)

build-aux/ltmain.in | 5 4 + 1 - 0 !
m4/libtool.m4 | 7 7 + 0 - 0 !
2 files changed, 11 insertions(+), 1 deletion(-)

---
deplib_binary.patch | (download)

build-aux/ltmain.in | 20 10 + 10 - 0 !
1 file changed, 10 insertions(+), 10 deletions(-)

---
netbsdelf.patch | (download)

m4/libtool.m4 | 20 16 + 4 - 0 !
m4/ltdl.m4 | 2 1 + 1 - 0 !
2 files changed, 17 insertions(+), 5 deletions(-)

---
version_type.patch | (download)

build-aux/ltmain.in | 3 3 + 0 - 0 !
1 file changed, 3 insertions(+)

---
nopic.patch | (download)

tests/demo.at | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

---
deplibs_test_disable.patch | (download)

tests/demo.at | 2 2 + 0 - 0 !
1 file changed, 2 insertions(+)

---
disable link order2.patch | (download)

tests/link-order2.at | 2 2 + 0 - 0 !
1 file changed, 2 insertions(+)

---
deplibs ident.patch | (download)

tests/deplibs-ident.at | 7 0 + 7 - 0 !
1 file changed, 7 deletions(-)

---
man add whatis info.diff | (download)

Makefile.am | 4 2 + 2 - 0 !
1 file changed, 2 insertions(+), 2 deletions(-)

---
no_hostname.patch | (download)

m4/libtool.m4 | 1 0 + 1 - 0 !
1 file changed, 1 deletion(-)

---
bootstrap_options.conf | (download)

bootstrap.conf | 2 0 + 2 - 0 !
1 file changed, 2 deletions(-)

---
version_string.patch | (download)

build-aux/ltmain.in | 2 1 + 1 - 0 !
libtoolize.in | 2 1 + 1 - 0 !
2 files changed, 2 insertions(+), 2 deletions(-)

---
grep spaces.patch | (download)

m4/libtool.m4 | 12 6 + 6 - 0 !
1 file changed, 6 insertions(+), 6 deletions(-)

 add spaces before -l in grep searches
 Current searching for "-L" in link paths is over-greedy and incorrectly handles paths with -L in them
 See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=896861 for example
libtool eval nm.patch | (download)

m4/libtool.m4 | 3 2 + 1 - 0 !
1 file changed, 2 insertions(+), 1 deletion(-)

 avoid a broken ac_try_eval macro
 As said in the Autoconf source, the AC_TRY_EVAL macro is dangerous and
 undocumented, and should not be used.
 In particular, the one related to nm yields binary data in the config.log
 file with dash, where "echo \\1" (echo with the argument \1) produces the
 control character ^A instead of the usual \1 with most shells (POSIX says
 that the result is implementation-defined). See:
   https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=910076
 This patch attempts to replace this AC_TRY_EVAL occurrence by code with
 similar behavior, but using $ECHO instead of echo in order to avoid the
 backslash issue.
0025 libtool pass use ld.patch | (download)

build-aux/ltmain.in | 3 2 + 1 - 0 !
1 file changed, 2 insertions(+), 1 deletion(-)

 libtool: pass through -fuse-ld flags
 Starting with gcc-4.8, there's a -fuse-ld flag that can be used to
 select between bfd & gold.  Make sure we pass it through to the
 linking stage.
0030 flang support.patch | (download)

m4/libtool.m4 | 6 6 + 0 - 0 !
1 file changed, 6 insertions(+)

 support for flang fortran compiler
Last-Updated: 2019-02-18