[PATCH] Use correct type for saved signal handler

Tom Tromey tom@tromey.com
Mon Dec 16 16:14:11 GMT 2024


A user noticed that the sim assigns the result of a call to 'signal'
to a variable like:

  RETSIGTYPE (*prev_sigint) ();

However, it's more correct to use (int) here.

This patch fixes the error.

Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=32466
---
 sim/common/dv-sockser.c | 2 +-
 sim/common/nrun.c       | 2 +-
 sim/ppc/main.c          | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/sim/common/dv-sockser.c b/sim/common/dv-sockser.c
index db81233e25b..e7664254a4e 100644
--- a/sim/common/dv-sockser.c
+++ b/sim/common/dv-sockser.c
@@ -175,7 +175,7 @@ dv_sockser_init (SIM_DESC sd)
      ??? Need a central signal management module.  */
 #ifdef SIGPIPE
   {
-    RETSIGTYPE (*orig) ();
+    RETSIGTYPE (*orig) (int);
     orig = signal (SIGPIPE, SIG_IGN);
     /* If a handler is already set up, don't mess with it.  */
     if (orig != SIG_DFL && orig != SIG_IGN)
diff --git a/sim/common/nrun.c b/sim/common/nrun.c
index 5dd3bc284bd..fc63baeb8a7 100644
--- a/sim/common/nrun.c
+++ b/sim/common/nrun.c
@@ -64,7 +64,7 @@ main (int argc, char **argv)
   enum sim_stop reason;
   int sigrc = 0;
   int single_step = 0;
-  RETSIGTYPE (*prev_sigint) ();
+  RETSIGTYPE (*prev_sigint) (int);
 
   myname = lbasename (argv[0]);
 
diff --git a/sim/ppc/main.c b/sim/ppc/main.c
index aa1c85e0af9..987e89ea32a 100644
--- a/sim/ppc/main.c
+++ b/sim/ppc/main.c
@@ -289,7 +289,7 @@ main(int argc, char * const *argv)
   psim_stack(simulation, argv, environ);
 
   {
-    RETSIGTYPE (*prev) ();
+    RETSIGTYPE (*prev) (int);
     prev = signal(SIGINT, cntrl_c);
     psim_run(simulation);
     signal(SIGINT, prev);
-- 
2.46.1



More information about the Gdb-patches mailing list