[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1122949: autoconf2.69 on hppa generates incorrect configure in binutils bfd and ld



On 12/14/25 23:26, John David Anglin wrote:
Package: autoconf2.69
Version: 2.69-3.1
Severity: normal
X-Debbugs-Cc: debian-hppa@lists.debian.org
User: debian-hppa@lists.debian.org
Usertags: hppa

Dear Maintainer,

See buildbot output:
https://builder.sourceware.org/buildbot/#/builders/270/builds/8114/steps/3/logs/stdio

Whether or not generated configure file is correct, it's inconsistent with
output generated by vanilla autoconf version 2.69 and it triggers buildbot
failures.

that is
debian/patches/avoid-undefined-behavior-for-32bit-off_t.patch:

the patch is also in Debian's autoconf (2.72) package, apparently never forwarded.


Description: Fix undefined behavior for 32-bit off_t.
 autoconf (2.69-6) unstable; urgency=low
 .
   * lib/autoconf/specific.m4: Use ((off_t) 1 << 31) << 31 in place of
     (off_t) 1 << 62 to avoid undefined behavior when off_t is 32-bit.
     Closes: #742780.  Thanks to Mathieu Malaterre <malat@debian.org> for
     reporting this bug.
Author: Ben Pfaff <pfaffben@debian.org>
Bug-Debian: http://bugs.debian.org/742780
Forwarded: yes

---
Bug: #742780.
Bug-Debian: http://bugs.debian.org/742780
Last-Update: 2014-03-27

--- autoconf-2.69.orig/lib/autoconf/specific.m4
+++ autoconf-2.69/lib/autoconf/specific.m4
@@ -92,7 +92,7 @@ m4_define([_AC_SYS_LARGEFILE_TEST_INCLUD
     We can't simply define LARGE_OFF_T to be 9223372036854775807,
     since some C++ compilers masquerading as C compilers
     incorrectly reject 9223372036854775807.  */
-@%:@define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+@%:@define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
   int off_t_is_large[[(LARGE_OFF_T % 2147483629 == 721
                       && LARGE_OFF_T % 2147483647 == 1)
                      ? 1 : -1]];[]dnl


Reply to: