ld: Update function prototypes for compilers defaulting to -std=gnu23

Message ID CAMe9rOodWCvXZtAGDWhvB1hMPWiO63QaXfQS5oFA2HKQ1jDH2Q@mail.gmail.com
State New
Headers
Series ld: Update function prototypes for compilers defaulting to -std=gnu23 |

Checks

Context Check Description
linaro-tcwg-bot/tcwg_binutils_build--master-arm success Build passed
linaro-tcwg-bot/tcwg_binutils_build--master-aarch64 success Build passed
linaro-tcwg-bot/tcwg_binutils_check--master-aarch64 fail Patch failed to apply
linaro-tcwg-bot/tcwg_binutils_check--master-arm fail Patch failed to apply

Commit Message

H.J. Lu Jan. 12, 2025, 7:23 a.m. UTC
  Since GCC 15 defaults to -std=gnu23, update function prototypes in linker
tests for compilers defaulting to -std=gnu23.

PR ld/32546
* ld-shared/main.c (shlib_checkfunptr1): Update prototype for
compilers defaulting to -std=gnu23.
(shlib_checkfunptr2): Likewise.
* ld-shared/sh1.c (shlib_checkfunptr1): Likewise.
(shlib_checkfunptr2): Likewise.
* ld-srec/sr1.c (fn1): Likewise.
(fn2): Likewise.
* ld-srec/sr2.c (fn1): Likewise.
(fn2): Likewise.
* ld-vsb/main.c (shlib_checkfunptr1): Likewise.
(shlib_checkfunptr2): Likewise.
* ld-vsb/sh1.c (hlib_checkfunptr1): Likewise.
(shlib_checkfunptr2): Likewise.
  

Comments

Sam James Jan. 12, 2025, 8:35 a.m. UTC | #1
"H.J. Lu" <hjl.tools@gmail.com> writes:

> Since GCC 15 defaults to -std=gnu23, update function prototypes in linker
> tests for compilers defaulting to -std=gnu23.
>
> PR ld/32546
> * ld-shared/main.c (shlib_checkfunptr1): Update prototype for
> compilers defaulting to -std=gnu23.
> (shlib_checkfunptr2): Likewise.
> * ld-shared/sh1.c (shlib_checkfunptr1): Likewise.
> (shlib_checkfunptr2): Likewise.
> * ld-srec/sr1.c (fn1): Likewise.
> (fn2): Likewise.
> * ld-srec/sr2.c (fn1): Likewise.
> (fn2): Likewise.
> * ld-vsb/main.c (shlib_checkfunptr1): Likewise.
> (shlib_checkfunptr2): Likewise.
> * ld-vsb/sh1.c (hlib_checkfunptr1): Likewise.
> (shlib_checkfunptr2): Likewise.

Thanks! LGTM.

                 === ld Summary ===

-# of expected passes            3015
-# of expected failures          27
+# of expected passes            3040
+# of expected failures          60
 # of untested testcases         1
-# of unsupported tests          74
+# of unsupported tests          28
 ./ld-new 2.43.50.20250112
  
H.J. Lu Jan. 12, 2025, 8:45 a.m. UTC | #2
On Sun, Jan 12, 2025 at 4:35 PM Sam James <sam@gentoo.org> wrote:
>
> "H.J. Lu" <hjl.tools@gmail.com> writes:
>
> > Since GCC 15 defaults to -std=gnu23, update function prototypes in linker
> > tests for compilers defaulting to -std=gnu23.
> >
> > PR ld/32546
> > * ld-shared/main.c (shlib_checkfunptr1): Update prototype for
> > compilers defaulting to -std=gnu23.
> > (shlib_checkfunptr2): Likewise.
> > * ld-shared/sh1.c (shlib_checkfunptr1): Likewise.
> > (shlib_checkfunptr2): Likewise.
> > * ld-srec/sr1.c (fn1): Likewise.
> > (fn2): Likewise.
> > * ld-srec/sr2.c (fn1): Likewise.
> > (fn2): Likewise.
> > * ld-vsb/main.c (shlib_checkfunptr1): Likewise.
> > (shlib_checkfunptr2): Likewise.
> > * ld-vsb/sh1.c (hlib_checkfunptr1): Likewise.
> > (shlib_checkfunptr2): Likewise.
>
> Thanks! LGTM.
>
>                  === ld Summary ===
>
> -# of expected passes            3015
> -# of expected failures          27
> +# of expected passes            3040
> +# of expected failures          60
>  # of untested testcases         1
> -# of unsupported tests          74
> +# of unsupported tests          28
>  ./ld-new 2.43.50.20250112

I am checking it in.
  

Patch

From fb6f02672061a2134b543a4e317288339bb179db Mon Sep 17 00:00:00 2001
From: "H.J. Lu" <hjl.tools@gmail.com>
Date: Sun, 12 Jan 2025 15:14:38 +0800
Subject: [PATCH] ld: Update function prototypes for compilers defaulting to
 -std=gnu23

Since GCC 15 defaults to -std=gnu23, update function prototypes in linker
tests for compilers defaulting to -std=gnu23.

	PR ld/32546
	* ld-shared/main.c (shlib_checkfunptr1): Update prototype for
	compilers defaulting to -std=gnu23.
	(shlib_checkfunptr2): Likewise.
	* ld-shared/sh1.c (shlib_checkfunptr1): Likewise.
	(shlib_checkfunptr2): Likewise.
	* ld-srec/sr1.c (fn1): Likewise.
	(fn2): Likewise.
	* ld-srec/sr2.c (fn1): Likewise.
	(fn2): Likewise.
	* ld-vsb/main.c (shlib_checkfunptr1): Likewise.
	(shlib_checkfunptr2): Likewise.
	* ld-vsb/sh1.c (hlib_checkfunptr1): Likewise.
	(shlib_checkfunptr2): Likewise.

Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
---
 ld/testsuite/ld-shared/main.c | 4 ++--
 ld/testsuite/ld-shared/sh1.c  | 6 ++----
 ld/testsuite/ld-srec/sr1.c    | 4 ++--
 ld/testsuite/ld-srec/sr2.c    | 6 ++----
 ld/testsuite/ld-vsb/main.c    | 4 ++--
 ld/testsuite/ld-vsb/sh1.c     | 6 ++----
 6 files changed, 12 insertions(+), 18 deletions(-)

diff --git a/ld/testsuite/ld-shared/main.c b/ld/testsuite/ld-shared/main.c
index b5200f2a094..f377bda2a76 100644
--- a/ld/testsuite/ld-shared/main.c
+++ b/ld/testsuite/ld-shared/main.c
@@ -12,8 +12,8 @@  extern int shlib_shlibvar1 ();
 extern int shlib_shlibvar2 ();
 extern int shlib_shlibcall ();
 extern int shlib_maincall ();
-extern int shlib_checkfunptr1 ();
-extern int shlib_checkfunptr2 ();
+extern int shlib_checkfunptr1 (int (*) ());
+extern int shlib_checkfunptr2 (int (*) ());
 extern int (*shlib_getfunptr1 ()) ();
 extern int (*shlib_getfunptr2 ()) ();
 extern int shlib_check ();
diff --git a/ld/testsuite/ld-shared/sh1.c b/ld/testsuite/ld-shared/sh1.c
index 9acb29e22dc..a10ae39a0c7 100644
--- a/ld/testsuite/ld-shared/sh1.c
+++ b/ld/testsuite/ld-shared/sh1.c
@@ -83,8 +83,7 @@  shlib_maincall ()
    confirms that the pointer compares equally.  */
 
 int 
-shlib_checkfunptr1 (p)
-     int (*p) ();
+shlib_checkfunptr1 (int (*p) ())
 {
   return p == shlib_shlibvar1;
 }
@@ -93,8 +92,7 @@  shlib_checkfunptr1 (p)
    confirms that the pointer compares equally.  */
 
 int
-shlib_checkfunptr2 (p)
-     int (*p) ();
+shlib_checkfunptr2 (int (*p) ())
 {
   return p == main_called;
 }
diff --git a/ld/testsuite/ld-srec/sr1.c b/ld/testsuite/ld-srec/sr1.c
index d7de977412d..706ac277ff2 100644
--- a/ld/testsuite/ld-srec/sr1.c
+++ b/ld/testsuite/ld-srec/sr1.c
@@ -8,8 +8,8 @@  static int k;
 static int l = 1;
 static char ab[] = "This is a string constant";
 
-extern int fn1 ();
-extern int fn2 ();
+extern int fn1 (char *);
+extern int fn2 (char *);
 
 int
 main ()
diff --git a/ld/testsuite/ld-srec/sr2.c b/ld/testsuite/ld-srec/sr2.c
index 5736cfa468d..c753ef7c567 100644
--- a/ld/testsuite/ld-srec/sr2.c
+++ b/ld/testsuite/ld-srec/sr2.c
@@ -4,15 +4,13 @@  int e1;
 int e2 = 1;
 
 int
-fn1 (s)
-     char *s;
+fn1 (char *s)
 {
   return s[e1];
 }
 
 int
-fn2 (s)
-     char *s;
+fn2 (char *s)
 {
   return s[e2];
 }
diff --git a/ld/testsuite/ld-vsb/main.c b/ld/testsuite/ld-vsb/main.c
index b0359c0d815..908a7454a83 100644
--- a/ld/testsuite/ld-vsb/main.c
+++ b/ld/testsuite/ld-vsb/main.c
@@ -29,8 +29,8 @@  extern int shlib_shlibvar1 ();
 extern int shlib_shlibvar2 ();
 extern int shlib_shlibcall ();
 extern int shlib_maincall ();
-extern int shlib_checkfunptr1 ();
-extern int shlib_checkfunptr2 ();
+extern int shlib_checkfunptr1 (int (*) ());
+extern int shlib_checkfunptr2 (int (*) ());
 extern int (*shlib_getfunptr1 ()) ();
 extern int (*shlib_getfunptr2 ()) ();
 extern int shlib_check ();
diff --git a/ld/testsuite/ld-vsb/sh1.c b/ld/testsuite/ld-vsb/sh1.c
index 193eca2943b..42033a3184a 100644
--- a/ld/testsuite/ld-vsb/sh1.c
+++ b/ld/testsuite/ld-vsb/sh1.c
@@ -103,8 +103,7 @@  shlib_maincall ()
    confirms that the pointer compares equally.  */
 
 int 
-shlib_checkfunptr1 (p)
-     int (*p) ();
+shlib_checkfunptr1 (int (*p) ())
 {
   return p == shlib_shlibvar1;
 }
@@ -113,8 +112,7 @@  shlib_checkfunptr1 (p)
    confirms that the pointer compares equally.  */
 
 int
-shlib_checkfunptr2 (p)
-     int (*p) ();
+shlib_checkfunptr2 (int (*p) ())
 {
   return p == main_called;
 }
-- 
2.47.1