[pushed] Change printf attribute to fix clang build

Message ID 20240415153648.2270383-1-tromey@adacore.com
State New
Headers
Series [pushed] Change printf attribute to fix clang build |

Checks

Context Check Description
linaro-tcwg-bot/tcwg_gdb_build--master-aarch64 warning Patch is already merged
linaro-tcwg-bot/tcwg_gdb_build--master-arm warning Patch is already merged

Commit Message

Tom Tromey April 15, 2024, 3:36 p.m. UTC
  commit e8cd90f0 ("Rewrite gdb_bfd_error_handler") broke the clang
build.

The problem here is that print_error_callback isn't marked as being
printf-like, but it calls string_file::vprintf, triggering:

../../binutils-gdb/gdb/gdb_bfd.c:1202:18: error: format string is not a string literal [-Werror,-Wformat-nonliteral]

This patch applies the attribute to this function.

It also removes the attribute from gdb_bfd_error_handler, because that
function is no longer really printf-like.
---
 gdb/gdb_bfd.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
  

Patch

diff --git a/gdb/gdb_bfd.c b/gdb/gdb_bfd.c
index 0120dd034fa..1462aaf0f89 100644
--- a/gdb/gdb_bfd.c
+++ b/gdb/gdb_bfd.c
@@ -1192,7 +1192,7 @@  increment_bfd_error_count (const std::string &str)
 
 /* A print callback for bfd_print_error.  */
 
-static int
+static int ATTRIBUTE_PRINTF (2, 0)
 print_error_callback (void *stream, const char *fmt, ...)
 {
   string_file *file = (string_file *) stream;
@@ -1208,7 +1208,7 @@  print_error_callback (void *stream, const char *fmt, ...)
    messages which have been printed once already.  This is done on a
    per-inferior basis.  */
 
-static void ATTRIBUTE_PRINTF (1, 0)
+static void
 gdb_bfd_error_handler (const char *fmt, va_list ap)
 {
   string_file output;