This is the mail archive of the
gdb-cvs@sourceware.org
mailing list for the GDB project.
[binutils-gdb] microblaze-tdep: Add ATTRIBUTE_PRINTF to microblaze_debug
- From: Simon Marchi <simark at sourceware dot org>
- To: gdb-cvs at sourceware dot org
- Date: 21 Sep 2017 12:11:07 -0000
- Subject: [binutils-gdb] microblaze-tdep: Add ATTRIBUTE_PRINTF to microblaze_debug
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=ebe48ba0856dcccaa7a60d873c61e6f1f96f5887
commit ebe48ba0856dcccaa7a60d873c61e6f1f96f5887
Author: Simon Marchi <simon.marchi@ericsson.com>
Date: Thu Sep 21 14:09:33 2017 +0200
microblaze-tdep: Add ATTRIBUTE_PRINTF to microblaze_debug
I am getting this warning with clang:
/home/emaisin/src/binutils-gdb/gdb/microblaze-tdep.c:94:28: error: format string is not a string literal [-Werror,-Wformat-nonliteral]
vprintf_unfiltered (fmt, args);
^~~
Adding ATTRIBUTE_PRINTF to microblaze_debug gets rid of it. Strangely,
gcc doesn't warn about non-literal format strings when calling vprintf
(or a vprintf-style function, like vprintf_unfiltered). I filed this
gcc bug:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82206
gdb/ChangeLog:
* microblaze-tdep.c (microblaze_debug): Add ATTRIBUTE_PRINTF.
Diff:
---
gdb/ChangeLog | 4 ++++
gdb/microblaze-tdep.c | 2 +-
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index adafa4c..88e7a6e 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,7 @@
+2017-09-21 Simon Marchi <simon.marchi@ericsson.com>
+
+ * microblaze-tdep.c (microblaze_debug): Add ATTRIBUTE_PRINTF.
+
2017-09-21 Yao Qi <yao.qi@linaro.org>
* configure.tgt (aarch64*-*-freebsd*): Add fbsd-tdep.o solib-svr4.o
diff --git a/gdb/microblaze-tdep.c b/gdb/microblaze-tdep.c
index 7547581..caa7d2f 100644
--- a/gdb/microblaze-tdep.c
+++ b/gdb/microblaze-tdep.c
@@ -82,7 +82,7 @@ static const char *microblaze_register_names[] =
static unsigned int microblaze_debug_flag = 0;
-static void
+static void ATTRIBUTE_PRINTF (1, 2)
microblaze_debug (const char *fmt, ...)
{
if (microblaze_debug_flag)