From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id cHbjDEzEjmBEJQAAWB0awg (envelope-from ) for ; Sun, 02 May 2021 11:25:00 -0400 Received: by simark.ca (Postfix, from userid 112) id 282381F11C; Sun, 2 May 2021 11:25:00 -0400 (EDT) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-0.7 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,MAILING_LIST_MULTI,RDNS_DYNAMIC,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.2 Received: from sourceware.org (ip-8-43-85-97.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id 2F2CD1E54D for ; Sun, 2 May 2021 11:24:59 -0400 (EDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id B96D73894416; Sun, 2 May 2021 15:24:58 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org B96D73894416 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1619969098; bh=BMKlPafKsW2iQOo4mbvQQCFxI4YngRmW5bqaROAoh8U=; h=To:Subject:Date:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:From; b=Z2d2Yp+2nc+QG5rLB0EAs5OGgCBv4bPaetba5dd0sJM+tfTpqL41CnL44QwUFGMb8 TYTtjH3/7ljXNKV/f3UPW4/kuJH3R+YMryqTOssiUmNPOFoxf8QE+JC9g8rwdkgMyJ ZirUKESgjnAXd2ZlsryOxndAZMz8gOIVAn6SuZAs= Received: from barracuda.ebox.ca (barracuda.ebox.ca [96.127.255.19]) by sourceware.org (Postfix) with ESMTPS id 040BD383303D for ; Sun, 2 May 2021 15:24:56 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 040BD383303D X-ASG-Debug-ID: 1619969095-0c856e6cd511a0430001-fS2M51 Received: from smtp.ebox.ca (smtp.ebox.ca [96.127.255.82]) by barracuda.ebox.ca with ESMTP id SoLphcA9URrEeomS (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Sun, 02 May 2021 11:24:55 -0400 (EDT) X-Barracuda-Envelope-From: simon.marchi@polymtl.ca X-Barracuda-RBL-Trusted-Forwarder: 96.127.255.82 Received: from simark.localdomain (192-222-157-6.qc.cable.ebox.net [192.222.157.6]) by smtp.ebox.ca (Postfix) with ESMTP id E4F3D441B21; Sun, 2 May 2021 11:24:54 -0400 (EDT) X-Barracuda-RBL-IP: 192.222.157.6 X-Barracuda-Effective-Source-IP: 192-222-157-6.qc.cable.ebox.net[192.222.157.6] X-Barracuda-Apparent-Source-IP: 192.222.157.6 To: gdb-patches@sourceware.org Subject: [PATCH] sim: add ATTRIBUTE_PRINTF / ATTRIBUTE_NULL_PRINTF where necessary Date: Sun, 2 May 2021 11:24:54 -0400 X-ASG-Orig-Subj: [PATCH] sim: add ATTRIBUTE_PRINTF / ATTRIBUTE_NULL_PRINTF where necessary Message-Id: <20210502152454.506379-1-simon.marchi@polymtl.ca> X-Mailer: git-send-email 2.30.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Barracuda-Connect: smtp.ebox.ca[96.127.255.82] X-Barracuda-Start-Time: 1619969095 X-Barracuda-Encrypted: DHE-RSA-AES256-SHA X-Barracuda-URL: https://96.127.255.19:443/cgi-mod/mark.cgi X-Barracuda-BRTS-Status: 1 X-Virus-Scanned: by bsmtpd at ebox.ca X-Barracuda-Scan-Msg-Size: 6213 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using global scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=8.0 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.89661 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Simon Marchi via Gdb-patches Reply-To: Simon Marchi Errors-To: gdb-patches-bounces@sourceware.org Sender: "Gdb-patches" I finally got the all-targets sim building with Clang, these are all the instances where an ATTRIBUTE_PRINTF or ATTRIBUTE_NULL_PRINTF attribute needed to be added to avoid errors like: /home/simark/src/binutils-gdb/sim/aarch64/../common/sim-profile.c:464:19: error: format string is not a string literal [-Werror,-Wformat-nonliteral] vfprintf (fp, fmt, ap); ^~~ There are more fixes needed to get everything building, but adding these attributes is trivial enough, so I send them all in a single patch. sim/arm/ChangeLog: * armdefs.h (ARMul_ConsolePrint): Use format attribute. * wrapper.c (op_printf): Likewise. sim/common/ChangeLog: * hw-events.h (hw_event_queue_schedule_tracef): Use format attribute. (hw_event_queue_schedule_vtracef): Likewise. * hw-tree.h (hw_tree_vparse): Likewise. * sim-profile.c (profile_vprintf): Likewise. * sim-trace.c (dis_printf): Likewise. * sim-trace.h (trace_printf): Likewise. (trace_vprintf): Likewise. * sim-utils.h (sim_do_commandf): Likewise. sim/rx/ChangeLog: * trace.c (op_printf): Likewise. Change-Id: I1445115ce57db15bb8e35dca93014555e7555794 --- sim/arm/armdefs.h | 4 +++- sim/arm/wrapper.c | 4 ++-- sim/common/hw-events.h | 4 ++-- sim/common/hw-tree.h | 2 +- sim/common/sim-profile.c | 2 +- sim/common/sim-trace.c | 2 +- sim/common/sim-trace.h | 5 +++-- sim/common/sim-utils.h | 3 ++- sim/rx/trace.c | 2 +- 9 files changed, 16 insertions(+), 12 deletions(-) diff --git a/sim/arm/armdefs.h b/sim/arm/armdefs.h index 2b5ff9b2dfa8..68cf199db6b3 100644 --- a/sim/arm/armdefs.h +++ b/sim/arm/armdefs.h @@ -18,6 +18,7 @@ #include #include #include +#include #define FALSE 0 #define TRUE 1 @@ -415,5 +416,6 @@ extern unsigned ARMul_OSHandleSWI (ARMul_State * state, ARMword number); extern void ARMul_UndefInstr (ARMul_State *, ARMword); extern void ARMul_FixCPSR (ARMul_State *, ARMword, ARMword); extern void ARMul_FixSPSR (ARMul_State *, ARMword, ARMword); -extern void ARMul_ConsolePrint (ARMul_State *, const char *, ...); +extern void ARMul_ConsolePrint (ARMul_State *, const char *, ...) + ATTRIBUTE_PRINTF (2, 3); extern void ARMul_SelectProcessor (ARMul_State *, unsigned); diff --git a/sim/arm/wrapper.c b/sim/arm/wrapper.c index c89efe4ee971..54a04f424284 100644 --- a/sim/arm/wrapper.c +++ b/sim/arm/wrapper.c @@ -62,8 +62,8 @@ int trace_funcs = 0; static struct disassemble_info info; static char opbuf[1000]; -static int -op_printf (char *buf, char *fmt, ...) +static int ATTRIBUTE_PRINTF (2, 3) +op_printf (char *buf, const char *fmt, ...) { int ret; va_list ap; diff --git a/sim/common/hw-events.h b/sim/common/hw-events.h index 901063b73da2..51ca5bdb2f04 100644 --- a/sim/common/hw-events.h +++ b/sim/common/hw-events.h @@ -39,7 +39,7 @@ struct hw_event *hw_event_queue_schedule_tracef hw_event_callback *handler, void *data, const char *fmt, - ...) ATTRIBUTE_PRINTF (5, 6); + ...) ATTRIBUTE_NULL_PRINTF (5, 6); struct hw_event *hw_event_queue_schedule_vtracef (struct hw *me, @@ -47,7 +47,7 @@ struct hw_event *hw_event_queue_schedule_vtracef hw_event_callback *handler, void *data, const char *fmt, - va_list ap); + va_list ap) ATTRIBUTE_NULL_PRINTF (5, 0); void hw_event_queue_deschedule diff --git a/sim/common/hw-tree.h b/sim/common/hw-tree.h index 86ebf1709cad..85c91ad96521 100644 --- a/sim/common/hw-tree.h +++ b/sim/common/hw-tree.h @@ -39,7 +39,7 @@ struct hw *hw_tree_parse struct hw *hw_tree_vparse (struct hw *root, const char *fmt, - va_list ap); + va_list ap) ATTRIBUTE_PRINTF (2, 0); void hw_tree_finish diff --git a/sim/common/sim-profile.c b/sim/common/sim-profile.c index 75bdc70298cc..455e1a246d93 100644 --- a/sim/common/sim-profile.c +++ b/sim/common/sim-profile.c @@ -454,7 +454,7 @@ profile_option_handler (SIM_DESC sd, /* Profiling output hooks. */ -static void +static void ATTRIBUTE_PRINTF (3, 0) profile_vprintf (SIM_DESC sd, sim_cpu *cpu, const char *fmt, va_list ap) { FILE *fp = PROFILE_FILE (CPU_PROFILE_DATA (cpu)); diff --git a/sim/common/sim-trace.c b/sim/common/sim-trace.c index 5f161da630bb..26d9556322cf 100644 --- a/sim/common/sim-trace.c +++ b/sim/common/sim-trace.c @@ -889,7 +889,7 @@ dis_read (bfd_vma memaddr, bfd_byte *myaddr, unsigned int length, return 0; } -static int +static int ATTRIBUTE_PRINTF (2, 3) dis_printf (SIM_CPU *cpu, const char *fmt, ...) { SIM_DESC sd = CPU_STATE (cpu); diff --git a/sim/common/sim-trace.h b/sim/common/sim-trace.h index 7ff7b021b337..c89084e94401 100644 --- a/sim/common/sim-trace.h +++ b/sim/common/sim-trace.h @@ -653,9 +653,10 @@ do { \ extern void trace_printf (SIM_DESC, sim_cpu *, const char *, ...) - ATTRIBUTE_PRINTF (3, 4); + ATTRIBUTE_PRINTF (3, 4); -extern void trace_vprintf (SIM_DESC, sim_cpu *, const char *, va_list); +extern void trace_vprintf (SIM_DESC, sim_cpu *, const char *, va_list) + ATTRIBUTE_PRINTF (3, 0); /* Debug support. This is included here because there isn't enough of it to justify diff --git a/sim/common/sim-utils.h b/sim/common/sim-utils.h index f089245f25e4..9cc19f5567bc 100644 --- a/sim/common/sim-utils.h +++ b/sim/common/sim-utils.h @@ -68,7 +68,8 @@ struct bfd *sim_load_file (SIM_DESC sd, const char *myname, int lma_p, sim_write_fn do_load); /* Internal version of sim_do_command, include formatting */ -void sim_do_commandf (SIM_DESC sd, const char *fmt, ...); +void sim_do_commandf (SIM_DESC sd, const char *fmt, ...) + ATTRIBUTE_PRINTF (2, 3); /* These are defined in callback.c as cover functions to the vprintf diff --git a/sim/rx/trace.c b/sim/rx/trace.c index caa51b794dfc..a005797b4ecb 100644 --- a/sim/rx/trace.c +++ b/sim/rx/trace.c @@ -96,7 +96,7 @@ compare_symbols (const PTR ap, const PTR bp) static char opbuf[1000]; -static int +static int ATTRIBUTE_PRINTF (2, 3) op_printf (char *buf, char *fmt, ...) { int ret; -- 2.30.1