public inbox for gdb-cvs@sourceware.org
help / color / mirror / Atom feed
From: Andrew Burgess <aburgess@sourceware.org>
To: gdb-cvs@sourceware.org
Subject: [binutils-gdb] sim/ppc: fixes for arguments to printf style functions
Date: Wed, 12 Oct 2022 09:37:34 +0000 (GMT)	[thread overview]
Message-ID: <20221012093734.4D7553856DD6@sourceware.org> (raw)

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

commit 182421c9d2eea8c4877d983a2124e591f0aca710
Author: Andrew Burgess <aburgess@redhat.com>
Date:   Tue Oct 11 15:02:08 2022 +0100

    sim/ppc: fixes for arguments to printf style functions
    
    After the recent series of fixes to mark more functions in the
    simulator with ATTRIBUTE_PRINTF, there were some build failures in the
    ppc sim due, in some cases, to bugs with the arguments being passed,
    and in other cases, the issues were (maybe) less serious, with
    arguments being the wrong size, or type, for the printf format being
    used.
    
    This commit fixes all of the issues that I ran into.
    
    In each case I selected the easiest solution to the problem, which is
    usually just casting the argument to the correct type.  If anyone
    later on thinks the print format should change, please feel free to do
    that.  What we have here should keep the simulator basically working
    as it does currently, which is my goal with this commit.

Diff:
---
 sim/ppc/corefile.c    | 4 ++--
 sim/ppc/emul_bugapi.c | 2 +-
 sim/ppc/emul_chirp.c  | 4 +++-
 sim/ppc/interrupts.c  | 2 +-
 sim/ppc/psim.c        | 6 +++---
 5 files changed, 10 insertions(+), 8 deletions(-)

diff --git a/sim/ppc/corefile.c b/sim/ppc/corefile.c
index 1b3eeef8b53..b2faef58c5b 100644
--- a/sim/ppc/corefile.c
+++ b/sim/ppc/corefile.c
@@ -292,8 +292,8 @@ core_map_find_mapping(core_map *map,
     mapping = mapping->next;
   }
   if (abort)
-    error("core_find_mapping() - access to unmaped address, attach a default map to handle this - addr=0x%x nr_bytes=0x%x processor=0x%x cia=0x%x\n",
-	  addr, nr_bytes, processor, cia);
+    error("core_find_mapping() - access to unmaped address, attach a default map to handle this - addr=0x%x nr_bytes=0x%x processor=0x%p cia=0x%x\n",
+	  addr, nr_bytes, (void *) processor, cia);
   return NULL;
 }
 
diff --git a/sim/ppc/emul_bugapi.c b/sim/ppc/emul_bugapi.c
index c3c607b43f0..f4eed443d8b 100644
--- a/sim/ppc/emul_bugapi.c
+++ b/sim/ppc/emul_bugapi.c
@@ -493,7 +493,7 @@ emul_bugapi_instruction_call(cpu *processor,
   switch (call_id) {
   default:
     error("emul-bugapi: unimplemented bugapi %s from address 0x%lx\n",
-	  emul_bugapi_instruction_name (call_id), SRR0);
+	  emul_bugapi_instruction_name (call_id), (unsigned long) SRR0);
     break;
 
   /* read a single character, output r3 = byte */
diff --git a/sim/ppc/emul_chirp.c b/sim/ppc/emul_chirp.c
index 7a585388f63..116f3732ac7 100644
--- a/sim/ppc/emul_chirp.c
+++ b/sim/ppc/emul_chirp.c
@@ -1509,7 +1509,7 @@ map_over_chirp_note(bfd *image,
       return;
     /* check the name field */
     if (head.namesz > sizeof(name)) {
-      error("chirp: note name too long (%d > %d)\n", (int)head.namesz, sizeof(name));
+      error("chirp: note name too long (%d > %d)\n", (int)head.namesz, (int)sizeof(name));
     }
     if (!bfd_get_section_contents(image, sect,
 				  name, sizeof(head), head.namesz)) {
@@ -1971,12 +1971,14 @@ emul_chirp_instruction_call(cpu *processor,
     }
     if (emul_data->n_args > 6) { /* See iee1275 requirements on nr returns */
       error("OpenFirmware service %s called from 0x%lx with args 0x%lx, too many args (%d)\n",
+	    service_name,
 	    (unsigned long)emul_data->return_address,
 	    (unsigned long)emul_data->arguments,
 	    emul_data->n_returns);
     }
     if (emul_data->n_returns > 6) {
       error("OpenFirmware service %s called from 0x%lx with args 0x%lx,  with too many returns (%d)\n",
+	    service_name,
 	    (unsigned long)emul_data->return_address,
 	    (unsigned long)emul_data->arguments,
 	    emul_data->n_args);
diff --git a/sim/ppc/interrupts.c b/sim/ppc/interrupts.c
index 133638fdcaf..a33274aa562 100644
--- a/sim/ppc/interrupts.c
+++ b/sim/ppc/interrupts.c
@@ -234,7 +234,7 @@ instruction_storage_interrupt(cpu *processor,
 	break;
       default:
 	srr1_set = 0;
-	error("internal error - instruction_storage_interrupt - reason %d not implemented");
+	error("internal error - instruction_storage_interrupt - reason %d not implemented", reason);
 	break;
       }
       TRACE(trace_interrupts, ("instruction storage interrupt - cia=0x%lx SRR1|=0x%lx\n",
diff --git a/sim/ppc/psim.c b/sim/ppc/psim.c
index 9f1db675e50..acc40edf8aa 100644
--- a/sim/ppc/psim.c
+++ b/sim/ppc/psim.c
@@ -99,7 +99,7 @@ find_arg(const char *err_msg,
 {
   *ptr_to_argp += 1;
   if (argv[*ptr_to_argp] == NULL)
-    error(err_msg);
+    error("%s", err_msg);
   return argv[*ptr_to_argp];
 }
 
@@ -535,7 +535,7 @@ psim_create(const char *file_name,
   if (ppc_trace[trace_print_device_tree] || ppc_trace[trace_dump_device_tree])
     tree_print(root);
   if (ppc_trace[trace_dump_device_tree])
-    error("");
+    error("%s", "");
 
   return system;
 }
@@ -1186,7 +1186,7 @@ psim_merge_device_file(device *root,
       /* append the next line */
       if (!fgets(device_path + curlen, sizeof(device_path) - curlen, description)) {
 	fclose(description);
-	error("%s:%s: unexpected eof in line continuation - %s",
+	error("%s:%d: unexpected eof in line continuation - %s",
 	      file_name, line_nr, device_path);
       }
       if (strchr(device_path, '\n') == NULL) {

                 reply	other threads:[~2022-10-12  9:37 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20221012093734.4D7553856DD6@sourceware.org \
    --to=aburgess@sourceware.org \
    --cc=gdb-cvs@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).