Debian Bug report logs -
#560105
autoconf: AC_TYPE_INT32_T generates broken test?
Reported by: Pierre Ynard <linkfanel@yahoo.fr>
Date: Tue, 8 Dec 2009 22:45:02 UTC
Severity: normal
Found in version autoconf/2.65-2
Fixed in version autoconf/2.65-3
Done: Ben Pfaff <pfaffben@debian.org>
Bug is archived. No further changes may be made.
Toggle useless messages
Report forwarded
to debian-bugs-dist@lists.debian.org, linkfanel@yahoo.fr, Ben Pfaff <pfaffben@debian.org>:
Bug#560105; Package autoconf.
(Tue, 08 Dec 2009 22:45:05 GMT) (full text, mbox, link).
Acknowledgement sent
to Pierre Ynard <linkfanel@yahoo.fr>:
New Bug report received and forwarded. Copy sent to linkfanel@yahoo.fr, Ben Pfaff <pfaffben@debian.org>.
(Tue, 08 Dec 2009 22:45:05 GMT) (full text, mbox, link).
Message #5 received at submit@bugs.debian.org (full text, mbox, reply):
Package: autoconf
Version: 2.65-2
Severity: normal
AC_TYPE_INT32_T, and also AC_TYPE_INT16_T and AC_TYPE_INT64_T, output C
code that looks like:
int
main ()
{
static int test_array [1 - 2 * !(enum { N = $2 / 2 - 1 };
0 < ($ac_type) ((((($ac_type) 1 << N) << N) - 1) * 2 + 1))];
test_array [0] = 0
;
return 0;
}
which fails to compile with errors like:
conftest.c: In function 'main':
conftest.c:73: error: expected ')' before ';' token
conftest.c:74: error: expected expression before ']' token
Thus, the check always returns no. And then ./configure of project foo
aborts because it can find its int types...
This problem isn't there in autoconf 2.64-4.
-- System Information:
Debian Release: squeeze/sid
APT prefers unstable
APT policy: (500, 'unstable')
Architecture: i386 (i686)
Kernel: Linux 2.6.31.5-grsec
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages autoconf depends on:
ii debianutils 3.2.2 Miscellaneous utilities specific t
ii m4 1.4.13-3 a macro processing language
ii perl 5.10.1-8 Larry Wall's Practical Extraction
Versions of packages autoconf recommends:
ii automake [automaken] 1:1.11-1 A tool for generating GNU Standard
Versions of packages autoconf suggests:
pn autoconf-archive <none> (no description available)
pn autoconf-doc <none> (no description available)
pn autoconf2.13 <none> (no description available)
ii gettext 0.17-8 GNU Internationalization utilities
pn gnu-standards <none> (no description available)
ii libtool 2.2.6a-4 Generic library support script
-- no debconf information
Information forwarded
to debian-bugs-dist@lists.debian.org, Ben Pfaff <pfaffben@debian.org>:
Bug#560105; Package autoconf.
(Tue, 08 Dec 2009 23:03:03 GMT) (full text, mbox, link).
Acknowledgement sent
to Ralf Wildenhues <Ralf.Wildenhues@gmx.de>:
Extra info received and forwarded to list. Copy sent to Ben Pfaff <pfaffben@debian.org>.
(Tue, 08 Dec 2009 23:03:03 GMT) (full text, mbox, link).
Message #10 received at 560105@bugs.debian.org (full text, mbox, reply):
tags upstream forwarded
thanks
[ This is <http://bugs.debian.org/560105> ]
Hello Pierre,
thanks for the bug report.
* Pierre Ynard wrote on Tue, Dec 08, 2009 at 11:42:02PM CET:
> AC_TYPE_INT32_T, and also AC_TYPE_INT16_T and AC_TYPE_INT64_T, output C
> code that looks like:
> static int test_array [1 - 2 * !(enum { N = $2 / 2 - 1 };
> 0 < ($ac_type) ((((($ac_type) 1 << N) << N) - 1) * 2 + 1))];
> test_array [0] = 0
> which fails to compile with errors like:
>
> conftest.c: In function 'main':
> conftest.c:73: error: expected ')' before ';' token
> conftest.c:74: error: expected expression before ']' token
>
> Thus, the check always returns no. And then ./configure of project foo
> aborts because it can find its int types...
>
> This problem isn't there in autoconf 2.64-4.
What an ugly regression. Confirmed. bisect converges at:
15f8838bb6239ebc16beb8472de0217a10de3d5e is the first bad commit
commit 15f8838bb6239ebc16beb8472de0217a10de3d5e
Author: Eric Blake <ebb9@byu.net>
Date: Tue Oct 20 08:30:03 2009 -0600
Fix AC_TYPE_UINT64_T on Tru64 with gcc 3.4.4.
* lib/autoconf/types.m4 (_AC_TYPE_UNSIGNED_INT_BODY)
(_AC_TYPE_INT_BODY): Avoid undefined behavior of attempting shift
wider than type.
* NEWS: Document this.
Reported by Rainer Orth.
I think we need to start comparing test results against tables for at
least a couple of systems, in order to guard against such issues.
Cheers,
Ralf
Information forwarded
to debian-bugs-dist@lists.debian.org, Ben Pfaff <pfaffben@debian.org>:
Bug#560105; Package autoconf.
(Wed, 09 Dec 2009 06:27:05 GMT) (full text, mbox, link).
Acknowledgement sent
to Ralf Wildenhues <Ralf.Wildenhues@gmx.de>:
Extra info received and forwarded to list. Copy sent to Ben Pfaff <pfaffben@debian.org>.
(Wed, 09 Dec 2009 06:27:05 GMT) (full text, mbox, link).
Message #15 received at 560105@bugs.debian.org (full text, mbox, reply):
* Ralf Wildenhues wrote on Tue, Dec 08, 2009 at 11:59:26PM CET:
> * Pierre Ynard wrote on Tue, Dec 08, 2009 at 11:42:02PM CET:
> > AC_TYPE_INT32_T, and also AC_TYPE_INT16_T and AC_TYPE_INT64_T, output C
> > code that looks like:
Patch below. OK to commit and add Pierre to THANKS?
> I think we need to start comparing test results against tables for at
> least a couple of systems, in order to guard against such issues.
My current idea for this is to have a mode in which AT_CHECK_MACRO
records cache values, or we simply run `testsuite -d' and collect cache
values across all tests, maybe weeding out or commenting out those that
are not consistent across the testsuite; then redo the same for an older
release, and compare.
Thanks,
Ralf
Fix 2.64 AC_TYPE_INT*_T macro body text regression.
* lib/autoconf/types.m4 (_AC_TYPE_INT_BODY): Move helper enum
definition to prologue section, to avoid syntax error.
* NEWS, THANKS: Update.
Report by Pierre Ynard.
diff --git a/NEWS b/NEWS
index 97dcab0..c36584c 100644
--- a/NEWS
+++ b/NEWS
@@ -8,6 +8,9 @@ GNU Autoconf NEWS - User visible changes.
** Use of m4_divert without a named diversion now issues a syntax warning,
since it is seldom right to change diversions behind autoconf's back.
+** The macros AC_TYPE_INT8_T, AC_TYPE_INT16_T, AC_TYPE_INT32_T, and
+ AC_TYPE_INT64_T work again. Regression introduced in 2.64.
+
* Major changes in Autoconf 2.65 (2009-11-21) [stable]
Released by Eric Blake, based on git versions 2.64.*.
diff --git a/lib/autoconf/types.m4 b/lib/autoconf/types.m4
index 7a73fc2..3829c4c 100644
--- a/lib/autoconf/types.m4
+++ b/lib/autoconf/types.m4
@@ -635,14 +635,14 @@ m4_define([_AC_TYPE_INT_BODY],
'long long int' 'short int' 'signed char'; do
AC_COMPILE_IFELSE(
[AC_LANG_BOOL_COMPILE_TRY(
- [AC_INCLUDES_DEFAULT],
- [enum { N = $[]2 / 2 - 1 };
- 0 < ($ac_type) ((((($ac_type) 1 << N) << N) - 1) * 2 + 1)])],
+ [AC_INCLUDES_DEFAULT
+ enum { N = $[]2 / 2 - 1 };],
+ [0 < ($ac_type) ((((($ac_type) 1 << N) << N) - 1) * 2 + 1)])],
[AC_COMPILE_IFELSE(
[AC_LANG_BOOL_COMPILE_TRY(
- [AC_INCLUDES_DEFAULT],
- [enum { N = $[]2 / 2 - 1 };
- ($ac_type) ((((($ac_type) 1 << N) << N) - 1) * 2 + 1)
+ [AC_INCLUDES_DEFAULT
+ enum { N = $[]2 / 2 - 1 };],
+ [($ac_type) ((((($ac_type) 1 << N) << N) - 1) * 2 + 1)
< ($ac_type) ((((($ac_type) 1 << N) << N) - 1) * 2 + 2)])],
[],
[AS_CASE([$ac_type], [int$[]2_t],
Information forwarded
to debian-bugs-dist@lists.debian.org, Ben Pfaff <pfaffben@debian.org>:
Bug#560105; Package autoconf.
(Wed, 09 Dec 2009 12:39:03 GMT) (full text, mbox, link).
Acknowledgement sent
to Eric Blake <ebb9@byu.net>:
Extra info received and forwarded to list. Copy sent to Ben Pfaff <pfaffben@debian.org>.
(Wed, 09 Dec 2009 12:39:03 GMT) (full text, mbox, link).
Message #20 received at 560105@bugs.debian.org (full text, mbox, reply):
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
According to Ralf Wildenhues on 12/8/2009 11:25 PM:
> * Ralf Wildenhues wrote on Tue, Dec 08, 2009 at 11:59:26PM CET:
>> * Pierre Ynard wrote on Tue, Dec 08, 2009 at 11:42:02PM CET:
>>> AC_TYPE_INT32_T, and also AC_TYPE_INT16_T and AC_TYPE_INT64_T, output C
>>> code that looks like:
>
> Patch below. OK to commit and add Pierre to THANKS?
Yes, please.
>
>> I think we need to start comparing test results against tables for at
>> least a couple of systems, in order to guard against such issues.
>
> My current idea for this is to have a mode in which AT_CHECK_MACRO
> records cache values, or we simply run `testsuite -d' and collect cache
> values across all tests, maybe weeding out or commenting out those that
> are not consistent across the testsuite; then redo the same for an older
> release, and compare.
Not as part of this patch, but the idea seems like it might be worthwhile.
- --
Don't work too hard, make some time for fun as well!
Eric Blake ebb9@byu.net
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (Cygwin)
Comment: Public key at home.comcast.net/~ericblake/eblake.gpg
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
iEYEARECAAYFAksfmigACgkQ84KuGfSFAYBGYQCZARbU/kagiplAzOdCO7t7vrCX
/LkAnjIfRjNGaeHfcSa7VkH76766hs4k
=kyCF
-----END PGP SIGNATURE-----
Information forwarded
to debian-bugs-dist@lists.debian.org, Ben Pfaff <pfaffben@debian.org>:
Bug#560105; Package autoconf.
(Wed, 09 Dec 2009 18:57:03 GMT) (full text, mbox, link).
Acknowledgement sent
to Ralf Wildenhues <Ralf.Wildenhues@gmx.de>:
Extra info received and forwarded to list. Copy sent to Ben Pfaff <pfaffben@debian.org>.
(Wed, 09 Dec 2009 18:57:03 GMT) (full text, mbox, link).
Message #25 received at 560105@bugs.debian.org (full text, mbox, reply):
* Eric Blake wrote on Wed, Dec 09, 2009 at 01:38:00PM CET:
> According to Ralf Wildenhues on 12/8/2009 11:25 PM:
> > * Ralf Wildenhues wrote on Tue, Dec 08, 2009 at 11:59:26PM CET:
> >> * Pierre Ynard wrote on Tue, Dec 08, 2009 at 11:42:02PM CET:
> >>> AC_TYPE_INT32_T, and also AC_TYPE_INT16_T and AC_TYPE_INT64_T, output C
> >>> code that looks like:
> >
> > Patch below. OK to commit and add Pierre to THANKS?
>
> Yes, please.
Thanks. Pushed, after fixing the description and NEWS entry to mention
2.65 not 2.64.
I also pushed this patch which fixes the other wrong NEWS entry.
Cheers,
Ralf
Fix NEWS description for AC_FUNC_MMAP entry.
* NEWS: Update.
diff --git a/NEWS b/NEWS
index d24db8a..69cca79 100644
--- a/NEWS
+++ b/NEWS
@@ -3,7 +3,7 @@ GNU Autoconf NEWS - User visible changes.
* Major changes in Autoconf 2.65a (????-??-??) [experimental]
Released by ???? ????
-** AC_FUNC_MMAP works in C++ mode again. Regression introduced in 2.64.
+** AC_FUNC_MMAP works in C++ mode again. Regression introduced in 2.65.
** Use of m4_divert without a named diversion now issues a syntax warning,
since it is seldom right to change diversions behind autoconf's back.
Reply sent
to Ben Pfaff <pfaffben@debian.org>:
You have taken responsibility.
(Thu, 10 Dec 2009 04:51:03 GMT) (full text, mbox, link).
Notification sent
to Pierre Ynard <linkfanel@yahoo.fr>:
Bug acknowledged by developer.
(Thu, 10 Dec 2009 04:51:03 GMT) (full text, mbox, link).
Message #30 received at 560105-close@bugs.debian.org (full text, mbox, reply):
Source: autoconf
Source-Version: 2.65-3
We believe that the bug you reported is fixed in the latest version of
autoconf, which is due to be installed in the Debian FTP archive:
autoconf_2.65-3.diff.gz
to main/a/autoconf/autoconf_2.65-3.diff.gz
autoconf_2.65-3.dsc
to main/a/autoconf/autoconf_2.65-3.dsc
autoconf_2.65-3_all.deb
to main/a/autoconf/autoconf_2.65-3_all.deb
A summary of the changes between this version and the previous one is
attached.
Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to 560105@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Ben Pfaff <pfaffben@debian.org> (supplier of updated autoconf package)
(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@debian.org)
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
Format: 1.8
Date: Wed, 09 Dec 2009 19:56:06 -0800
Source: autoconf
Binary: autoconf
Architecture: source all
Version: 2.65-3
Distribution: unstable
Urgency: low
Maintainer: Ben Pfaff <pfaffben@debian.org>
Changed-By: Ben Pfaff <pfaffben@debian.org>
Description:
autoconf - automatic configure script builder
Closes: 560105
Changes:
autoconf (2.65-3) unstable; urgency=low
.
* Apply upstream commit 83ee5bc4 "Fix 2.64 AC_TYPE_INT*_T macro body
text regression" by Ralf Wildenhues to fix bug reported by Pierre
Ynard <linkfanel@yahoo.fr>. Closes: #560105.
Checksums-Sha1:
d188cfa00d3c91e67b557db8f12f3673764addb7 1697 autoconf_2.65-3.dsc
7048c7271309b50652bd393f17bedef80a008483 23979 autoconf_2.65-3.diff.gz
469e938bbd364efd4dd42dbc25a8b44f86ee2d2a 771810 autoconf_2.65-3_all.deb
Checksums-Sha256:
a80f698b480e49f4649fdeb4f96aacf05451f018f3152e3797625c8e593eae58 1697 autoconf_2.65-3.dsc
2bf00fa964e5a266835ac754add705a08e9ad0d10e26594cb807d37c268bbd66 23979 autoconf_2.65-3.diff.gz
e07a467bdbc0b35e23e8623dc82d2e01fef6980993b7382791a5feb643c1aaec 771810 autoconf_2.65-3_all.deb
Files:
029a3ee82651703227641f4b4eeb7e2f 1697 devel optional autoconf_2.65-3.dsc
9867bfe9838bf0f9eaf3875b2a113379 23979 devel optional autoconf_2.65-3.diff.gz
3b04c12780f80e6797f55c938c2a3afd 771810 devel optional autoconf_2.65-3_all.deb
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
iQIcBAEBCAAGBQJLIHHrAAoJEIUZnejGZI6Qe7YP/0a/HRs5skk+Y85rptwl9cHG
D2MqluHHI3TRQ0FnYY2JCUHin/nyT0xVF8+ICePe9hn40mT5IGg2FURAFehssVPj
dlTIDTX6I+VAKW18JryjKx8p9Sjl84HYcdMlj9AR8FriB3tTJxQ/TACYIbOSw0xF
qDIQmOe8CUbkcUNs3asz9AL1iZnJKIeoLzm+3LaglOcgu8w8qFwggGeZEgR87cMn
hYRr8ol0vrZhqwyCowwcAobbQZuw0moLHIm/T14ezlpnmyhGv82jliHbSywh9NCI
fY2Pg2UVq8ANJTbJLM1eFIVkXAsozPUkBKGHPbBhW8D2xGRSx+cqv5ijNl1cbABW
UhMRHq8QNfrOCokdNLQukwEaPNAf3kQOpxnWD605YrDJm4iqjuin6tT4cqWgNjrK
EYLcKmBGygBD2Z7glhKInnx6yA5u8TNjdCZiOMANUPlIo9fYL+hPMa23o2rmZN/H
q/wxTTHfanZk62KWOCSTNxDi9peqQURj2OmGYHoFY8DHKV2A05X3/a/klDx/AsMs
JguMK6EKLGLMMhvjft8O74S2QzX6z4OKjj4aWvpYUJOWlHhctF9Su9vArEIwXZ67
5qatNWezIB9nNf1LzsqnKtcqsDRbHNNlYz+T3/n/dLwLxQPmgpIaoT+7dfhRG+3M
5zCx6LEetYuh2Sw6d8lM
=NtpX
-----END PGP SIGNATURE-----
Bug archived.
Request was from Debbugs Internal Request <owner@bugs.debian.org>
to internal_control@bugs.debian.org.
(Sun, 17 Jan 2010 07:28:26 GMT) (full text, mbox, link).
Send a report that this bug log contains spam.
Debian bug tracking system administrator <owner@bugs.debian.org>.
Last modified:
Sat Dec 23 10:32:09 2023;
Machine Name:
buxtehude
Debian Bug tracking system
Debbugs is free software and licensed under the terms of the GNU
Public License version 2. The current version can be obtained
from https://bugs.debian.org/debbugs-source/.
Copyright © 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson,
2005-2017 Don Armstrong, and many other contributors.