From ebe48ba0856dcccaa7a60d873c61e6f1f96f5887 Mon Sep 17 00:00:00 2001 From: Simon Marchi Date: Thu, 21 Sep 2017 14:09:33 +0200 Subject: [PATCH] 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. --- 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 + + * microblaze-tdep.c (microblaze_debug): Add ATTRIBUTE_PRINTF. + 2017-09-21 Yao Qi * 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) -- 2.7.4