This is the mail archive of the gdb-cvs@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[binutils-gdb] Avoid "format not a string literal" warnings


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=7f31862a8d9f3eea51fc58bd66abeb70c730feaf

commit 7f31862a8d9f3eea51fc58bd66abeb70c730feaf
Author: Pedro Alves <palves@redhat.com>
Date:   Thu Apr 14 12:58:03 2016 +0100

    Avoid "format not a string literal" warnings
    
    On:
    
     $ uname -a
     NetBSD gcc70.fsffrance.org 5.1 NetBSD 5.1 (GENERIC) #0: Sat Nov  6 13:19:33 UTC 2010  builds@b6.netbsd.org:/home/builds/ab/netbsd-5-1-RELEASE/amd64/201011061943Z-obj/home/builds/ab/netbsd-5-1-RELEASE/src/sys/arch/amd64/compile/GENERIC amd64
    
    With:
    
     $ g++ -v
     Using built-in specs.
     Target: x86_64--netbsd
     Configured with: /usr/src/tools/gcc/../../gnu/dist/gcc4/configure --enable-long-long --disable-multilib --enable-threads --disable-symvers --build=x86_64-unknown-netbsd4.99.72 --host=x86_64--netbsd --target=x86_64--netbsd --enable-__cxa_atexit
     Thread model: posix
     gcc version 4.1.3 20080704 prerelease (NetBSD nb2 20081120)
    
    I saw:
    
     cc1plus: warnings being treated as errors
     ../../src/gdb/ctf.c: In function 'void ctf_save_metadata_header(trace_write_handler*)':
     ../../src/gdb/ctf.c:267: warning: format not a string literal, argument types not checked
     cc1plus: warnings being treated as errors
     ../../src/gdb/cli/cli-cmds.c: In function 'void alias_command(char*, int)':
     ../../src/gdb/cli/cli-cmds.c:1428: warning: format not a string literal and no format arguments
     ../../src/gdb/cli/cli-cmds.c:1457: warning: format not a string literal and no format arguments
    
    gdb/ChangeLog:
    2016-04-14  Pedro Alves  <palves@redhat.com>
    
    	* cli/cli-cmds.c (alias_usage_error): New function.
    	(alias_command): Use it.
    	* ctf.c (ctf_save_metadata_header): Inline metadata_fmt local in
    	ctf_save_write_metadata call.

Diff:
---
 gdb/ChangeLog      |  7 +++++++
 gdb/cli/cli-cmds.c | 13 ++++++++++---
 gdb/ctf.c          | 42 ++++++++++++++++++++----------------------
 3 files changed, 37 insertions(+), 25 deletions(-)

diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index bf7937f..09937a9 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,12 @@
 2016-04-14  Pedro Alves  <palves@redhat.com>
 
+	* cli/cli-cmds.c (alias_usage_error): New function.
+	(alias_command): Use it.
+	* ctf.c (ctf_save_metadata_header): Inline metadata_fmt local in
+	ctf_save_write_metadata call.
+
+2016-04-14  Pedro Alves  <palves@redhat.com>
+
 	* ada-typeprint.c (print_fixed_point_type): Don't pass float as
 	argument to function expecting LONGEST.
 	* value.c (unpack_long): Add casts to LONGEST.
diff --git a/gdb/cli/cli-cmds.c b/gdb/cli/cli-cmds.c
index ede4909..c60b1d3 100644
--- a/gdb/cli/cli-cmds.c
+++ b/gdb/cli/cli-cmds.c
@@ -1410,6 +1410,14 @@ valid_command_p (const char *command)
   return *command == '\0';
 }
 
+/* Called when "alias" was incorrectly used.  */
+
+static void
+alias_usage_error (void)
+{
+  error (_("Usage: alias [-a] [--] ALIAS = COMMAND"));
+}
+
 /* Make an alias of an existing command.  */
 
 static void
@@ -1421,10 +1429,9 @@ alias_command (char *args, int from_tty)
   char **alias_argv, **command_argv;
   dyn_string_t alias_dyn_string, command_dyn_string;
   struct cleanup *cleanup;
-  static const char usage[] = N_("Usage: alias [-a] [--] ALIAS = COMMAND");
 
   if (args == NULL || strchr (args, '=') == NULL)
-    error (_(usage));
+    alias_usage_error ();
 
   args2 = xstrdup (args);
   cleanup = make_cleanup (xfree, args2);
@@ -1453,7 +1460,7 @@ alias_command (char *args, int from_tty)
 
   if (alias_argv[0] == NULL || command_argv[0] == NULL
       || *alias_argv[0] == '\0' || *command_argv[0] == '\0')
-    error (_(usage));
+    alias_usage_error ();
 
   for (i = 0; alias_argv[i] != NULL; ++i)
     {
diff --git a/gdb/ctf.c b/gdb/ctf.c
index 25a4c79..795c365 100644
--- a/gdb/ctf.c
+++ b/gdb/ctf.c
@@ -202,27 +202,6 @@ ctf_save_next_packet (struct trace_write_handler *handler)
 static void
 ctf_save_metadata_header (struct trace_write_handler *handler)
 {
-  const char metadata_fmt[] =
-  "\ntrace {\n"
-  "	major = %u;\n"
-  "	minor = %u;\n"
-  "	byte_order = %s;\n"		/* be or le */
-  "	packet.header := struct {\n"
-  "		uint32_t magic;\n"
-  "	};\n"
-  "};\n"
-  "\n"
-  "stream {\n"
-  "	packet.context := struct {\n"
-  "		uint32_t content_size;\n"
-  "		uint32_t packet_size;\n"
-  "		uint16_t tpnum;\n"
-  "	};\n"
-  "	event.header := struct {\n"
-  "		uint32_t id;\n"
-  "	};\n"
-  "};\n";
-
   ctf_save_write_metadata (handler, "/* CTF %d.%d */\n",
 			   CTF_SAVE_MAJOR, CTF_SAVE_MINOR);
   ctf_save_write_metadata (handler,
@@ -262,7 +241,26 @@ ctf_save_metadata_header (struct trace_write_handler *handler)
 #define HOST_ENDIANNESS "le"
 #endif
 
-  ctf_save_write_metadata (handler, metadata_fmt,
+  ctf_save_write_metadata (handler,
+			   "\ntrace {\n"
+			   "	major = %u;\n"
+			   "	minor = %u;\n"
+			   "	byte_order = %s;\n"
+			   "	packet.header := struct {\n"
+			   "		uint32_t magic;\n"
+			   "	};\n"
+			   "};\n"
+			   "\n"
+			   "stream {\n"
+			   "	packet.context := struct {\n"
+			   "		uint32_t content_size;\n"
+			   "		uint32_t packet_size;\n"
+			   "		uint16_t tpnum;\n"
+			   "	};\n"
+			   "	event.header := struct {\n"
+			   "		uint32_t id;\n"
+			   "	};\n"
+			   "};\n",
 			   CTF_SAVE_MAJOR, CTF_SAVE_MINOR,
 			   HOST_ENDIANNESS);
   ctf_save_write_metadata (handler, "\n");


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]