[pushed] Fix sim build failure

Message ID 20210423015107.3841223-1-tom@tromey.com
State New
Headers show
Series
  • [pushed] Fix sim build failure
Related show

Commit Message

Tom Tromey April 23, 2021, 1:51 a.m.
On x86-64 Fedora 32, the sim was failing to build.
sim_events_schedule was passing a 'dummy' argument to
sim_events_schedule_vtracef, which caused an error because the format
parameter was NULL.  However, removing this dummy argument caused an
error because too few arguments were being passed -- catch 22.

This patch fixes the build problem by using sim_events_schedule_tracef
instead.

sim/common/ChangeLog
2021-04-22  Tom Tromey  <tom@tromey.com>

	* sim-events.c (sim_events_schedule): Use
	sim_events_schedule_tracef.
---
 sim/common/ChangeLog    | 5 +++++
 sim/common/sim-events.c | 5 +----
 2 files changed, 6 insertions(+), 4 deletions(-)

-- 
2.26.2

Comments

Konstantin Kharlamov via Gdb-patches April 23, 2021, 1:56 a.m. | #1
On 2021-04-22 9:51 p.m., Tom Tromey wrote:
> On x86-64 Fedora 32, the sim was failing to build.

> sim_events_schedule was passing a 'dummy' argument to

> sim_events_schedule_vtracef, which caused an error because the format

> parameter was NULL.  However, removing this dummy argument caused an

> error because too few arguments were being passed -- catch 22.

> 

> This patch fixes the build problem by using sim_events_schedule_tracef

> instead.

> 

> sim/common/ChangeLog

> 2021-04-22  Tom Tromey  <tom@tromey.com>

> 

> 	* sim-events.c (sim_events_schedule): Use

> 	sim_events_schedule_tracef.

> ---

>  sim/common/ChangeLog    | 5 +++++

>  sim/common/sim-events.c | 5 +----

>  2 files changed, 6 insertions(+), 4 deletions(-)

> 

> diff --git a/sim/common/sim-events.c b/sim/common/sim-events.c

> index 207c8674d16..60e4c55a874 100644

> --- a/sim/common/sim-events.c

> +++ b/sim/common/sim-events.c

> @@ -469,10 +469,7 @@ sim_events_schedule (SIM_DESC sd,

>  		     sim_event_handler *handler,

>  		     void *data)

>  {

> -  va_list dummy;

> -  memset (&dummy, 0, sizeof dummy);

> -  return sim_events_schedule_vtracef (sd, delta_time, handler, data,

> -				      NULL, dummy);

> +  return sim_events_schedule_tracef (sd, delta_time, handler, data, NULL);

>  }

>  #endif

>  

> 


Ah, good catch.  Clang doesn't give this warning, and I didn't think of
building my patch with gcc, so I missed it.  Using the tracef variant
looks better anyway.

Simon
Konstantin Kharlamov via Gdb-patches April 23, 2021, 2:16 a.m. | #2
On 22 Apr 2021 19:51, Tom Tromey wrote:
> On x86-64 Fedora 32, the sim was failing to build.

> sim_events_schedule was passing a 'dummy' argument to

> sim_events_schedule_vtracef, which caused an error because the format

> parameter was NULL.  However, removing this dummy argument caused an

> error because too few arguments were being passed -- catch 22.

> 

> This patch fixes the build problem by using sim_events_schedule_tracef

> instead.


thx!
-mike

Patch

diff --git a/sim/common/sim-events.c b/sim/common/sim-events.c
index 207c8674d16..60e4c55a874 100644
--- a/sim/common/sim-events.c
+++ b/sim/common/sim-events.c
@@ -469,10 +469,7 @@  sim_events_schedule (SIM_DESC sd,
 		     sim_event_handler *handler,
 		     void *data)
 {
-  va_list dummy;
-  memset (&dummy, 0, sizeof dummy);
-  return sim_events_schedule_vtracef (sd, delta_time, handler, data,
-				      NULL, dummy);
+  return sim_events_schedule_tracef (sd, delta_time, handler, data, NULL);
 }
 #endif