From: Tom Tromey Date: Mon, 15 Apr 2024 15:33:21 +0000 (-0600) Subject: Change printf attribute to fix clang build X-Git-Tag: gdb-15-branchpoint~406 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=5cb1d84e595aac021641622028d0e7f1e8ea8adf;p=thirdparty%2Fbinutils-gdb.git Change printf attribute to fix clang build 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. --- 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;