GNU logs - #21309, boring messages


Message sent to bug-libtool@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#21309: libtool generates binary data in config.log due to buggy escaping
Resent-From: Vincent Lefevre <vincent@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-libtool@HIDDEN
Resent-Date: Fri, 21 Aug 2015 01:58:02 +0000
Resent-Message-ID: <handler.21309.B.144012222323986 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: report 21309
X-GNU-PR-Package: libtool
X-GNU-PR-Keywords: 
To: 21309 <at> debbugs.gnu.org
X-Debbugs-Original-To: bug-libtool@HIDDEN
Received: via spool by submit <at> debbugs.gnu.org id=B.144012222323986
          (code B ref -1); Fri, 21 Aug 2015 01:58:02 +0000
Received: (at submit) by debbugs.gnu.org; 21 Aug 2015 01:57:03 +0000
Received: from localhost ([127.0.0.1]:34018 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.80)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ZSbZn-0006En-5S
	for submit <at> debbugs.gnu.org; Thu, 20 Aug 2015 21:57:03 -0400
Received: from eggs.gnu.org ([208.118.235.92]:60376)
 by debbugs.gnu.org with esmtp (Exim 4.80)
 (envelope-from <vincent@HIDDEN>) id 1ZSbZl-0006EO-0b
 for submit <at> debbugs.gnu.org; Thu, 20 Aug 2015 21:57:01 -0400
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <vincent@HIDDEN>) id 1ZSbZh-0001re-Hg
 for submit <at> debbugs.gnu.org; Thu, 20 Aug 2015 21:57:00 -0400
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level: 
X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50 autolearn=disabled
 version=3.3.2
Received: from lists.gnu.org ([2001:4830:134:3::11]:35175)
 by eggs.gnu.org with esmtp (Exim 4.71)
 (envelope-from <vincent@HIDDEN>) id 1ZSbZh-0001rX-7t
 for submit <at> debbugs.gnu.org; Thu, 20 Aug 2015 21:56:57 -0400
Received: from eggs.gnu.org ([2001:4830:134:3::10]:54144)
 by lists.gnu.org with esmtp (Exim 4.71)
 (envelope-from <vincent@HIDDEN>) id 1ZSF5S-0007gR-Ul
 for bug-libtool@HIDDEN; Wed, 19 Aug 2015 21:56:15 -0400
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <vincent@HIDDEN>) id 1ZSF5P-0000T0-Dx
 for bug-libtool@HIDDEN; Wed, 19 Aug 2015 21:56:14 -0400
Received: from ioooi.vinc17.net ([92.243.22.117]:51634)
 by eggs.gnu.org with esmtp (Exim 4.71)
 (envelope-from <vincent@HIDDEN>) id 1ZSF5P-0000PS-8W
 for bug-libtool@HIDDEN; Wed, 19 Aug 2015 21:56:11 -0400
Received: from smtp-zira.vinc17.net (128.119.75.86.rev.sfr.net [86.75.119.128])
 by ioooi.vinc17.net (Postfix) with ESMTPSA id 479E812B;
 Thu, 20 Aug 2015 03:56:02 +0200 (CEST)
Received: by zira.vinc17.org (Postfix, from userid 1000)
 id 19EDDC2000A; Thu, 20 Aug 2015 03:56:02 +0200 (CEST)
Date: Thu, 20 Aug 2015 03:56:02 +0200
From: Vincent Lefevre <vincent@HIDDEN>
Message-ID: <20150820015602.GC5882@HIDDEN>
Mail-Followup-To: Vincent Lefevre <vincent@HIDDEN>, bug-libtool@HIDDEN
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
X-Mailer-Info: https://www.vinc17.net/mutt/
User-Agent: Mutt/1.5.23-6482-vl-r81226 (2015-08-17)
Content-Transfer-Encoding: quoted-printable
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x
X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address
 (bad octet value).
X-Received-From: 2001:4830:134:3::11
X-Spam-Score: -5.0 (-----)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -5.0 (-----)

I've reported the following bug in the Debian BTS:

  https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=3D796180

but I can reproduce it with the official libtool 2.4.6.

When I run "./configure" with MPFR, the generated config.log file
contains binary data:

configure:9458: /usr/bin/nm -B conftest.o \| sed -n -e 's/^.*[ ]\([ABCDGI=
RSTW][ABCDGIRSTW]*\)[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$/^A ^B ^B/p' | sed =
'/ __gnu_lto/d' \> conftest.nm

where ^A and ^B are the ASCII characters of code 1 and 2 respectively.
Thus, the "file" utility thinks that this is a binary file, so that
"less" + "lesspipe" mangles the file. Rather annoying!

The generated "libtool" script contains:

global_symbol_pipe=3D"sed -n -e 's/^.*[    ]\\([ABCDGIRSTW][ABCDGIRSTW]*\=
\)[       ][      ]*\\([_A-Za-z][_A-Za-z0-9]*\\)\$/\\1 \\2 \\2/p' | sed '=
/ __gnu_lto/d'"

So, I suppose that the binary data come from the \\1 and \\2.

--=20
Vincent Lef=E8vre <vincent@HIDDEN> - Web: <https://www.vinc17.net/>
100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/>
Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)




Message sent:


Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Mailer: MIME-tools 5.503 (Entity 5.503)
Content-Type: text/plain; charset=utf-8
X-Loop: help-debbugs@HIDDEN
From: help-debbugs@HIDDEN (GNU bug Tracking System)
To: Vincent Lefevre <vincent@HIDDEN>
Subject: bug#21309: Acknowledgement (libtool generates binary data in
 config.log due to buggy escaping)
Message-ID: <handler.21309.B.144012222323986.ack <at> debbugs.gnu.org>
References: <20150820015602.GC5882@HIDDEN>
X-Gnu-PR-Message: ack 21309
X-Gnu-PR-Package: libtool
Reply-To: 21309 <at> debbugs.gnu.org
Date: Fri, 21 Aug 2015 01:58:02 +0000

Thank you for filing a new bug report with debbugs.gnu.org.

This is an automatically generated reply to let you know your message
has been received.

Your message is being forwarded to the package maintainers and other
interested parties for their attention; they will reply in due course.

Your message has been sent to the package maintainer(s):
 bug-libtool@HIDDEN

If you wish to submit further information on this problem, please
send it to 21309 <at> debbugs.gnu.org.

Please do not send mail to help-debbugs@HIDDEN unless you wish
to report a problem with the Bug-tracking system.

--=20
21309: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D21309
GNU Bug Tracking System
Contact help-debbugs@HIDDEN with problems


Message sent to bug-libtool@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#21309: libtool generates binary data in config.log due to buggy escaping
Resent-From: Vincent Lefevre <vincent@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-libtool@HIDDEN
Resent-Date: Mon, 08 Feb 2016 18:00:02 +0000
Resent-Message-ID: <handler.21309.B21309.14549543571043 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 21309
X-GNU-PR-Package: libtool
X-GNU-PR-Keywords: 
To: 21309 <at> debbugs.gnu.org
Received: via spool by 21309-submit <at> debbugs.gnu.org id=B21309.14549543571043
          (code B ref 21309); Mon, 08 Feb 2016 18:00:02 +0000
Received: (at 21309) by debbugs.gnu.org; 8 Feb 2016 17:59:17 +0000
Received: from localhost ([127.0.0.1]:60281 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1aSq5l-0000Gl-FQ
	for submit <at> debbugs.gnu.org; Mon, 08 Feb 2016 12:59:17 -0500
Received: from cventin.lip.ens-lyon.fr ([140.77.13.17]:35288)
 by debbugs.gnu.org with esmtp (Exim 4.84)
 (envelope-from <vincent@HIDDEN>) id 1aSq5k-0000Ge-2m
 for 21309 <at> debbugs.gnu.org; Mon, 08 Feb 2016 12:59:16 -0500
Received: from vlefevre by cventin.lip.ens-lyon.fr with local (Exim 4.86)
 (envelope-from <vincent@HIDDEN>)
 id 1aSovX-000236-EQ; Mon, 08 Feb 2016 17:44:39 +0100
Date: Mon, 8 Feb 2016 17:44:39 +0100
From: Vincent Lefevre <vincent@HIDDEN>
Message-ID: <20160208164439.GA7769@HIDDEN>
References: <20150820015602.GC5882@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20150820015602.GC5882@HIDDEN>
X-Mailer-Info: https://www.vinc17.net/mutt/
User-Agent: Mutt/1.5.24-6554-vl-r83103 (2016-01-26)
X-Spam-Score: 0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: 0.0 (/)

I actually get these binary data with dash (when setting
CONFIG_SHELL=/bin/sh in my environment, where /bin/sh is dash).

On 2015-08-20 03:56:02 +0200, Vincent Lefevre wrote:
> The generated "libtool" script contains:
> 
> global_symbol_pipe="sed -n -e 's/^.*[    ]\\([ABCDGIRSTW][ABCDGIRSTW]*\\)[       ][      ]*\\([_A-Za-z][_A-Za-z0-9]*\\)\$/\\1 \\2 \\2/p' | sed '/ __gnu_lto/d'"
> 
> So, I suppose that the binary data come from the \\1 and \\2.

The problem is that it yields, for instance:

+ echo configure:10030: /usr/bin/nm -B conftest.o \| sed -n -e 's/^.*[ ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p' | sed '/ __gnu_lto/d' \> conftest.nm

With bash:

$ echo '\1' | hd
00000000  5c 31 0a                                          |\1.|
00000003

With dash:

$ echo '\1' | hd
00000000  01 0a                                             |..|
00000002

POSIX[*] says:

  if any of the operands contain a <backslash> character, the results
  are implementation-defined.

So, the above code is not portable.

[*] http://pubs.opengroup.org/onlinepubs/9699919799/utilities/echo.html

-- 
Vincent Lefèvre <vincent@HIDDEN> - Web: <https://www.vinc17.net/>
100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/>
Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)




Message sent to bug-libtool@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#21309: libtool generates binary data in config.log due to buggy escaping
Resent-From: Vincent Lefevre <vincent@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-libtool@HIDDEN
Resent-Date: Tue, 02 Oct 2018 09:13:02 +0000
Resent-Message-ID: <handler.21309.B21309.15384715747179 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 21309
X-GNU-PR-Package: libtool
X-GNU-PR-Keywords: 
To: 21309 <at> debbugs.gnu.org
Received: via spool by 21309-submit <at> debbugs.gnu.org id=B21309.15384715747179
          (code B ref 21309); Tue, 02 Oct 2018 09:13:02 +0000
Received: (at 21309) by debbugs.gnu.org; 2 Oct 2018 09:12:54 +0000
Received: from localhost ([127.0.0.1]:33749 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1g7Gje-0001rj-AY
	for submit <at> debbugs.gnu.org; Tue, 02 Oct 2018 05:12:54 -0400
Received: from cventin.lip.ens-lyon.fr ([140.77.13.17]:38532)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <vincent@HIDDEN>) id 1g7Gjd-0001rc-98
 for 21309 <at> debbugs.gnu.org; Tue, 02 Oct 2018 05:12:53 -0400
Received: from vlefevre by cventin.lip.ens-lyon.fr with local (Exim 4.91)
 (envelope-from <vincent@HIDDEN>)
 id 1g7Gjc-0003K1-8n; Tue, 02 Oct 2018 11:12:52 +0200
Date: Tue, 2 Oct 2018 11:12:52 +0200
From: Vincent Lefevre <vincent@HIDDEN>
Message-ID: <20181002091252.GA15886@HIDDEN>
References: <20150820015602.GC5882@HIDDEN>
 <20160208164439.GA7769@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20160208164439.GA7769@HIDDEN>
X-Mailer-Info: https://www.vinc17.net/mutt/
User-Agent: Mutt/1.10.1+101 (b181996c) vl-108074 (2018-09-27)
X-Spam-Score: 0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

On 2016-02-08 17:44:39 +0100, Vincent Lefevre wrote:
> I actually get these binary data with dash (when setting
> CONFIG_SHELL=/bin/sh in my environment, where /bin/sh is dash).
> 
> On 2015-08-20 03:56:02 +0200, Vincent Lefevre wrote:
> > The generated "libtool" script contains:
> > 
> > global_symbol_pipe="sed -n -e 's/^.*[    ]\\([ABCDGIRSTW][ABCDGIRSTW]*\\)[       ][      ]*\\([_A-Za-z][_A-Za-z0-9]*\\)\$/\\1 \\2 \\2/p' | sed '/ __gnu_lto/d'"
> > 
> > So, I suppose that the binary data come from the \\1 and \\2.
> 
> The problem is that it yields, for instance:
> 
> + echo configure:10030: /usr/bin/nm -B conftest.o \| sed -n -e 's/^.*[ ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p' | sed '/ __gnu_lto/d' \> conftest.nm

More details (with the current MPFR trunk, thus this has changed
a bit):

[...]
+ nlist=conftest.nm
+ eval echo "$as_me":7267: "/usr/bin/nm -B conftest.o \| sed -n -e 's/^.*[ ]\([A
BCDGIRSTW][ABCDGIRSTW]*\)[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p' | sed '/ __gnu_lto/d' \> conftest.nm"
+ echo configure:7267: /usr/bin/nm -B conftest.o \| sed -n -e 's/^.*[ ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p' | sed '/ __gnu_lto/d' \> conftest.nm
[...]

In libtool.m4, this corresponds to:

    nlist=conftest.nm
    if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then

Thus the problem seems to come from AC_TRY_EVAL, i.e. an autoconf bug.

According to https://debbugs.gnu.org/Packages.html, autoconf doesn't
use this bug tracker, so that I'm going to report a separate bug for
autoconf.

-- 
Vincent Lefèvre <vincent@HIDDEN> - Web: <https://www.vinc17.net/>
100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/>
Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)




Message sent to bug-libtool@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#21309: libtool generates binary data in config.log due to buggy escaping
Resent-From: Vincent Lefevre <vincent@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-libtool@HIDDEN
Resent-Date: Tue, 02 Oct 2018 10:59:02 +0000
Resent-Message-ID: <handler.21309.B21309.153847788825588 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 21309
X-GNU-PR-Package: libtool
X-GNU-PR-Keywords: 
To: 21309 <at> debbugs.gnu.org
Received: via spool by 21309-submit <at> debbugs.gnu.org id=B21309.153847788825588
          (code B ref 21309); Tue, 02 Oct 2018 10:59:02 +0000
Received: (at 21309) by debbugs.gnu.org; 2 Oct 2018 10:58:08 +0000
Received: from localhost ([127.0.0.1]:33834 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1g7INU-0006ed-9C
	for submit <at> debbugs.gnu.org; Tue, 02 Oct 2018 06:58:08 -0400
Received: from cventin.lip.ens-lyon.fr ([140.77.13.17]:38914)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <vincent@HIDDEN>)
 id 1g7INR-0006eQ-RI; Tue, 02 Oct 2018 06:58:06 -0400
Received: from vlefevre by cventin.lip.ens-lyon.fr with local (Exim 4.91)
 (envelope-from <vincent@HIDDEN>)
 id 1g7INQ-0007dx-Q5; Tue, 02 Oct 2018 12:58:04 +0200
Date: Tue, 2 Oct 2018 12:58:04 +0200
From: Vincent Lefevre <vincent@HIDDEN>
Message-ID: <20181002105804.GB12353@HIDDEN>
References: <20150820015602.GC5882@HIDDEN>
 <20160208164439.GA7769@HIDDEN>
 <20181002091252.GA15886@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20181002091252.GA15886@HIDDEN>
X-Mailer-Info: https://www.vinc17.net/mutt/
User-Agent: Mutt/1.10.1+101 (b181996c) vl-108074 (2018-09-27)
X-Spam-Score: 0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

retitle 21309 libtool should not use the dangerous, undocumented AC_TRY_EVAL macro, currently broken
thanks

On 2018-10-02 11:12:52 +0200, Vincent Lefevre wrote:
> In libtool.m4, this corresponds to:
> 
>     nlist=conftest.nm
>     if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then
> 
> Thus the problem seems to come from AC_TRY_EVAL, i.e. an autoconf bug.

I've seen in the autoconf source that AC_TRY_EVAL should not be used:

# AC_TRY_EVAL(VARIABLE)
# ---------------------
# Evaluate $VARIABLE, which should be a valid shell command.
# The purpose of this macro is to write "configure:123: command line"
# into config.log for every test run.
#
# The AC_TRY_EVAL and AC_TRY_COMMAND macros are dangerous and
# undocumented, and should not be used.
# They may be removed or their API changed in a future release.
# Autoconf itself no longer uses these two macros; they are present
# only for backward compatibility with previous versions of Autoconf.
# Not every shell command will work due to problems with eval
# and quoting, and the rules for exactly what does work are tricky.
# Worse, due to double-expansion during evaluation, arbitrary unintended
# shell commands could be executed in some situations.

-- 
Vincent Lefèvre <vincent@HIDDEN> - Web: <https://www.vinc17.net/>
100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/>
Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)




Message received at control <at> debbugs.gnu.org:


Received: (at control) by debbugs.gnu.org; 2 Oct 2018 10:58:08 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Oct 02 06:58:08 2018
Received: from localhost ([127.0.0.1]:33836 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1g7INU-0006ef-J6
	for submit <at> debbugs.gnu.org; Tue, 02 Oct 2018 06:58:08 -0400
Received: from cventin.lip.ens-lyon.fr ([140.77.13.17]:38914)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <vincent@HIDDEN>)
 id 1g7INR-0006eQ-RI; Tue, 02 Oct 2018 06:58:06 -0400
Received: from vlefevre by cventin.lip.ens-lyon.fr with local (Exim 4.91)
 (envelope-from <vincent@HIDDEN>)
 id 1g7INQ-0007dx-Q5; Tue, 02 Oct 2018 12:58:04 +0200
Date: Tue, 2 Oct 2018 12:58:04 +0200
From: Vincent Lefevre <vincent@HIDDEN>
To: 21309 <at> debbugs.gnu.org
Subject: Re: libtool generates binary data in config.log due to buggy escaping
Message-ID: <20181002105804.GB12353@HIDDEN>
References: <20150820015602.GC5882@HIDDEN>
 <20160208164439.GA7769@HIDDEN>
 <20181002091252.GA15886@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20181002091252.GA15886@HIDDEN>
X-Mailer-Info: https://www.vinc17.net/mutt/
User-Agent: Mutt/1.10.1+101 (b181996c) vl-108074 (2018-09-27)
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: control
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

retitle 21309 libtool should not use the dangerous, undocumented AC_TRY_EVAL macro, currently broken
thanks

On 2018-10-02 11:12:52 +0200, Vincent Lefevre wrote:
> In libtool.m4, this corresponds to:
> 
>     nlist=conftest.nm
>     if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then
> 
> Thus the problem seems to come from AC_TRY_EVAL, i.e. an autoconf bug.

I've seen in the autoconf source that AC_TRY_EVAL should not be used:

# AC_TRY_EVAL(VARIABLE)
# ---------------------
# Evaluate $VARIABLE, which should be a valid shell command.
# The purpose of this macro is to write "configure:123: command line"
# into config.log for every test run.
#
# The AC_TRY_EVAL and AC_TRY_COMMAND macros are dangerous and
# undocumented, and should not be used.
# They may be removed or their API changed in a future release.
# Autoconf itself no longer uses these two macros; they are present
# only for backward compatibility with previous versions of Autoconf.
# Not every shell command will work due to problems with eval
# and quoting, and the rules for exactly what does work are tricky.
# Worse, due to double-expansion during evaluation, arbitrary unintended
# shell commands could be executed in some situations.

-- 
Vincent Lefèvre <vincent@HIDDEN> - Web: <https://www.vinc17.net/>
100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/>
Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)




Message sent to bug-libtool@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#21309: libtool generates binary data in config.log due to buggy escaping
Resent-From: Vincent Lefevre <vincent@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-libtool@HIDDEN
Resent-Date: Tue, 02 Oct 2018 13:47:01 +0000
Resent-Message-ID: <handler.21309.B21309.153848798525022 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 21309
X-GNU-PR-Package: libtool
X-GNU-PR-Keywords: 
To: 21309 <at> debbugs.gnu.org
Received: via spool by 21309-submit <at> debbugs.gnu.org id=B21309.153848798525022
          (code B ref 21309); Tue, 02 Oct 2018 13:47:01 +0000
Received: (at 21309) by debbugs.gnu.org; 2 Oct 2018 13:46:25 +0000
Received: from localhost ([127.0.0.1]:33923 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1g7L0L-0006VW-1c
	for submit <at> debbugs.gnu.org; Tue, 02 Oct 2018 09:46:25 -0400
Received: from cventin.lip.ens-lyon.fr ([140.77.13.17]:39236)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <vincent@HIDDEN>) id 1g7L0I-0006VM-E6
 for 21309 <at> debbugs.gnu.org; Tue, 02 Oct 2018 09:46:22 -0400
Received: from vlefevre by cventin.lip.ens-lyon.fr with local (Exim 4.91)
 (envelope-from <vincent@HIDDEN>)
 id 1g7L0H-0001oK-Dl; Tue, 02 Oct 2018 15:46:21 +0200
Date: Tue, 2 Oct 2018 15:46:21 +0200
From: Vincent Lefevre <vincent@HIDDEN>
Message-ID: <20181002134621.GA6876@HIDDEN>
References: <20150820015602.GC5882@HIDDEN>
 <20160208164439.GA7769@HIDDEN>
 <20181002091252.GA15886@HIDDEN>
 <20181002105804.GB12353@HIDDEN>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="OXfL5xGRrasGEqWY"
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20181002105804.GB12353@HIDDEN>
X-Mailer-Info: https://www.vinc17.net/mutt/
User-Agent: Mutt/1.10.1+101 (b181996c) vl-108074 (2018-09-27)
X-Spam-Score: 0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)


--OXfL5xGRrasGEqWY
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit

On 2018-10-02 12:58:04 +0200, Vincent Lefevre wrote:
> I've seen in the autoconf source that AC_TRY_EVAL should not be used:
> 
> # AC_TRY_EVAL(VARIABLE)
> # ---------------------
> # Evaluate $VARIABLE, which should be a valid shell command.
> # The purpose of this macro is to write "configure:123: command line"
> # into config.log for every test run.
> #
> # The AC_TRY_EVAL and AC_TRY_COMMAND macros are dangerous and
> # undocumented, and should not be used.
> # They may be removed or their API changed in a future release.
> # Autoconf itself no longer uses these two macros; they are present
> # only for backward compatibility with previous versions of Autoconf.
> # Not every shell command will work due to problems with eval
> # and quoting, and the rules for exactly what does work are tricky.
> # Worse, due to double-expansion during evaluation, arbitrary unintended
> # shell commands could be executed in some situations.

I've attached a patch that replaces the AC_TRY_EVAL occurrence that
generated the binary data. This is a patch against the Debian package
(libtool 2.4.6-4). I've tested it with MPFR and it seems to work fine.

The other AC_TRY_EVAL occurrences do not cause any problem here,
but should also be replaced in the future.

For the reference, my Debian bug report (clone of 796180, which is
now about autoconf):

  https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=910076

-- 
Vincent Lefèvre <vincent@HIDDEN> - Web: <https://www.vinc17.net/>
100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/>
Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)

--OXfL5xGRrasGEqWY
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="libtool-eval-nm.patch"

Description: 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.
Author: Vincent Lefevre <vincent@HIDDEN>
Last-Updated: 2018-10-02

Index: libtool-2.4.6/m4/libtool.m4
===================================================================
--- libtool-2.4.6.orig/m4/libtool.m4
+++ libtool-2.4.6/m4/libtool.m4
@@ -4063,7 +4063,8 @@ _LT_EOF
   if AC_TRY_EVAL(ac_compile); then
     # Now try to grab the symbols.
     nlist=conftest.nm
-    if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then
+    $ECHO "$as_me:$LINENO: $NM conftest.$ac_objext | $lt_cv_sys_global_symbol_pipe > $nlist" >&AS_MESSAGE_LOG_FD
+    if eval "$NM" conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist 2>&AS_MESSAGE_LOG_FD && test -s "$nlist"; then
       # Try sorting and uniquifying the output.
       if sort "$nlist" | uniq > "$nlist"T; then
 	mv -f "$nlist"T "$nlist"

--OXfL5xGRrasGEqWY--





Last modified: Mon, 25 Nov 2019 12:00:02 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.