mirror of
https://github.com/flatcar/scripts.git
synced 2025-08-18 10:27:00 +02:00
sys-devel/autoconf: Sync with Gentoo
It's from Gentoo commit 541ccf270b9b9b5631072a654cd3add5ccd433e7.
This commit is contained in:
parent
c1aa5bf2ec
commit
26e8436314
@ -47,6 +47,7 @@ PATCHES=(
|
|||||||
"${FILESDIR}"/${P}-AC_C_BIGENDIAN-lto.patch
|
"${FILESDIR}"/${P}-AC_C_BIGENDIAN-lto.patch
|
||||||
"${FILESDIR}"/${P}-K-R-decls-clang.patch
|
"${FILESDIR}"/${P}-K-R-decls-clang.patch
|
||||||
"${FILESDIR}"/${P}-make-4.4.patch
|
"${FILESDIR}"/${P}-make-4.4.patch
|
||||||
|
"${FILESDIR}"/${P}-K-R-decls-clang-deux.patch
|
||||||
)
|
)
|
||||||
|
|
||||||
src_prepare() {
|
src_prepare() {
|
@ -1,7 +1,7 @@
|
|||||||
https://bugs.gentoo.org/870412
|
https://bugs.gentoo.org/870412
|
||||||
https://git.savannah.gnu.org/cgit/autoconf.git/commit/?id=8b5e2016c7ed2d67f31b03a3d2e361858ff5299b
|
https://git.savannah.gnu.org/cgit/autoconf.git/commit/?id=8b5e2016c7ed2d67f31b03a3d2e361858ff5299b
|
||||||
|
|
||||||
Backport the K&R decls fix to 2.69 to avoid configure tests
|
Backport the K&R decls fix to 2.13 to avoid configure tests
|
||||||
failing (often "silently", i.e. doesn't fail the build of
|
failing (often "silently", i.e. doesn't fail the build of
|
||||||
the package overall, just leads to wrong results) with
|
the package overall, just leads to wrong results) with
|
||||||
newer compilers like the upcoming Clang 16.
|
newer compilers like the upcoming Clang 16.
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
https://bugs.gentoo.org/870412
|
https://bugs.gentoo.org/870412
|
||||||
https://git.savannah.gnu.org/cgit/autoconf.git/commit/?id=8b5e2016c7ed2d67f31b03a3d2e361858ff5299b
|
https://git.savannah.gnu.org/cgit/autoconf.git/commit/?id=8b5e2016c7ed2d67f31b03a3d2e361858ff5299b
|
||||||
|
(and contains a backport of https://git.savannah.gnu.org/cgit/autoconf.git/commit/?id=bf5a75953b6d504f0405b1ca33b039b8dd39eef4)
|
||||||
|
|
||||||
Backport the K&R decls fix to 2.69 to avoid configure tests
|
Backport the K&R decls fix to 2.69 to avoid configure tests
|
||||||
failing (often "silently", i.e. doesn't fail the build of
|
failing (often "silently", i.e. doesn't fail the build of
|
||||||
@ -363,3 +364,31 @@ Subject: [PATCH] backport K&R decl fixes
|
|||||||
#define mymacro1(arg) arg
|
#define mymacro1(arg) arg
|
||||||
#define mymacro2]])
|
#define mymacro2]])
|
||||||
# The difference in space-before-open-paren is intentional.
|
# The difference in space-before-open-paren is intentional.
|
||||||
|
--- a/lib/autoconf/c.m4
|
||||||
|
+++ b/lib/autoconf/c.m4
|
||||||
|
@@ -1106,9 +1106,7 @@ struct stat;
|
||||||
|
/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
|
||||||
|
struct buf { int x; };
|
||||||
|
FILE * (*rcsopen) (struct buf *, struct stat *, int);
|
||||||
|
-static char *e (p, i)
|
||||||
|
- char **p;
|
||||||
|
- int i;
|
||||||
|
+static char *e (char **p, int i)
|
||||||
|
{
|
||||||
|
return p[i];
|
||||||
|
}
|
||||||
|
--- a/lib/autoconf/specific.m4
|
||||||
|
+++ b/lib/autoconf/specific.m4
|
||||||
|
@@ -251,10 +251,9 @@ AC_INCLUDES_DEFAULT
|
||||||
|
/* Some platforms explicitly require an extern "C" signal handler
|
||||||
|
when using C++. */
|
||||||
|
#ifdef __cplusplus
|
||||||
|
-extern "C" void ucatch (int dummy) { }
|
||||||
|
-#else
|
||||||
|
-void ucatch (dummy) int dummy; { }
|
||||||
|
+extern "C"
|
||||||
|
#endif
|
||||||
|
+void ucatch (int dummy) { }
|
||||||
|
|
||||||
|
int
|
||||||
|
main (void)
|
||||||
|
@ -0,0 +1,94 @@
|
|||||||
|
https://bugs.gentoo.org/870412
|
||||||
|
https://git.savannah.gnu.org/cgit/autoconf.git/commit/?id=bf5a75953b6d504f0405b1ca33b039b8dd39eef4
|
||||||
|
|
||||||
|
Backport the K&R decls fix to 2.71 to avoid configure tests
|
||||||
|
failing (often "silently", i.e. doesn't fail the build of
|
||||||
|
the package overall, just leads to wrong results) with
|
||||||
|
newer compilers like the upcoming Clang 16.
|
||||||
|
|
||||||
|
From bf5a75953b6d504f0405b1ca33b039b8dd39eef4 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Zack Weinberg <zackw@panix.com>
|
||||||
|
Date: Thu, 10 Nov 2022 12:05:30 -0500
|
||||||
|
Subject: More fixes for compilers that reject K&R function definitions.
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
This fixes all of the remaining failures exposed by running the
|
||||||
|
testsuite with GCC 12 and
|
||||||
|
CC='cc -Wimplicit-function-declaration -Wold-style-definition
|
||||||
|
-Wimplicit-int -Werror'
|
||||||
|
.
|
||||||
|
|
||||||
|
* lib/autoconf/c.m4 (_AC_C_C89_TEST_GLOBALS): Don’t use K&R function
|
||||||
|
definitions.
|
||||||
|
* lib/autoconf/specific.m4 (AC_SYS_RESTARTABLE_SYSCALLS): Likewise.
|
||||||
|
(AC_FUNC_MKTIME): Declare functions taking no arguments as ‘fn (void)’
|
||||||
|
not ‘fn ()’.
|
||||||
|
* lib/autoconf/c.m4 (_AC_C_C99_TEST_GLOBALS): Declare free().
|
||||||
|
--- a/lib/autoconf/c.m4
|
||||||
|
+++ b/lib/autoconf/c.m4
|
||||||
|
@@ -1153,9 +1153,7 @@ struct stat;
|
||||||
|
/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */
|
||||||
|
struct buf { int x; };
|
||||||
|
struct buf * (*rcsopen) (struct buf *, struct stat *, int);
|
||||||
|
-static char *e (p, i)
|
||||||
|
- char **p;
|
||||||
|
- int i;
|
||||||
|
+static char *e (char **p, int i)
|
||||||
|
{
|
||||||
|
return p[i];
|
||||||
|
}
|
||||||
|
@@ -1212,6 +1210,7 @@ extern int puts (const char *);
|
||||||
|
extern int printf (const char *, ...);
|
||||||
|
extern int dprintf (int, const char *, ...);
|
||||||
|
extern void *malloc (size_t);
|
||||||
|
+extern void free (void *);
|
||||||
|
|
||||||
|
// Check varargs macros. These examples are taken from C99 6.10.3.5.
|
||||||
|
// dprintf is used instead of fprintf to avoid needing to declare
|
||||||
|
--- a/lib/autoconf/functions.m4
|
||||||
|
+++ b/lib/autoconf/functions.m4
|
||||||
|
@@ -1091,7 +1091,7 @@ static const char *tz_strings[] = {
|
||||||
|
/* Return 0 if mktime fails to convert a date in the spring-forward gap.
|
||||||
|
Based on a problem report from Andreas Jaeger. */
|
||||||
|
static int
|
||||||
|
-spring_forward_gap ()
|
||||||
|
+spring_forward_gap (void)
|
||||||
|
{
|
||||||
|
/* glibc (up to about 1998-10-07) failed this test. */
|
||||||
|
struct tm tm;
|
||||||
|
@@ -1128,7 +1128,7 @@ mktime_test (time_t now)
|
||||||
|
}
|
||||||
|
|
||||||
|
static int
|
||||||
|
-irix_6_4_bug ()
|
||||||
|
+irix_6_4_bug (void)
|
||||||
|
{
|
||||||
|
/* Based on code from Ariel Faigon. */
|
||||||
|
struct tm tm;
|
||||||
|
@@ -1170,7 +1170,7 @@ bigtime_test (int j)
|
||||||
|
}
|
||||||
|
|
||||||
|
static int
|
||||||
|
-year_2050_test ()
|
||||||
|
+year_2050_test (void)
|
||||||
|
{
|
||||||
|
/* The correct answer for 2050-02-01 00:00:00 in Pacific time,
|
||||||
|
ignoring leap seconds. */
|
||||||
|
--- a/lib/autoconf/specific.m4
|
||||||
|
+++ b/lib/autoconf/specific.m4
|
||||||
|
@@ -361,10 +361,9 @@ AC_INCLUDES_DEFAULT
|
||||||
|
/* Some platforms explicitly require an extern "C" signal handler
|
||||||
|
when using C++. */
|
||||||
|
#ifdef __cplusplus
|
||||||
|
-extern "C" void ucatch (int dummy) { }
|
||||||
|
-#else
|
||||||
|
-void ucatch (dummy) int dummy; { }
|
||||||
|
+extern "C"
|
||||||
|
#endif
|
||||||
|
+void ucatch (int dummy) { }
|
||||||
|
|
||||||
|
int
|
||||||
|
main (void)
|
||||||
|
cgit v1.1
|
@ -1,7 +1,7 @@
|
|||||||
https://bugs.gentoo.org/870412
|
https://bugs.gentoo.org/870412
|
||||||
https://git.savannah.gnu.org/cgit/autoconf.git/commit/?id=8b5e2016c7ed2d67f31b03a3d2e361858ff5299b
|
https://git.savannah.gnu.org/cgit/autoconf.git/commit/?id=8b5e2016c7ed2d67f31b03a3d2e361858ff5299b
|
||||||
|
|
||||||
Backport the K&R decls fix to 2.69 to avoid configure tests
|
Backport the K&R decls fix to 2.71 to avoid configure tests
|
||||||
failing (often "silently", i.e. doesn't fail the build of
|
failing (often "silently", i.e. doesn't fail the build of
|
||||||
the package overall, just leads to wrong results) with
|
the package overall, just leads to wrong results) with
|
||||||
newer compilers like the upcoming Clang 16.
|
newer compilers like the upcoming Clang 16.
|
||||||
|
Loading…
Reference in New Issue
Block a user