public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
* [PATCH] [sim] Fix build failure in d10v sim
@ 2021-05-10 19:14 Luis Machado
  2021-05-10 22:30 ` Mike Frysinger
  2021-05-11 13:07 ` [PATCH,v2] " Luis Machado
  0 siblings, 2 replies; 7+ messages in thread
From: Luis Machado @ 2021-05-10 19:14 UTC (permalink / raw)
  To: gdb-patches

While building all targets on Ubuntu 20.04/aarch64, I ran into the following
build error:

In file included from /usr/include/string.h:495,
                 from ../../bfd/bfd.h:48,
                 from ../../../../repos/binutils-gdb/sim/d10v/interp.c:4:
In function 'memset',
    inlined from 'sim_create_inferior' at ../../../../repos/binutils-gdb/sim/d10v/interp.c:1146:3:
/usr/include/aarch64-linux-gnu/bits/string_fortified.h:71:10: error: ‘__builtin_memset’ offset [33, 616] from the object at ‘State’ is out of the bounds of referenced subobject ‘regs’ with type ‘reg_t[16]’ {aka ‘short unsigned int[16]’} at offset 0 [-Werror=array-bounds]
   71 |   return __builtin___memset_chk (__dest, __ch, __len, __bos0 (__dest));
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
make[3]: *** [Makefile:558: interp.o] Error 1

I looked at a different sim (cr16), and it zeroes out the entire State, not
just the registers.  It is unclear why we have the casts to uintptr.

The following patch fixes this for me.

OK?

sim/ChangeLog:

YYYY-MM-DD  Luis Machado  <luis.machado@linaro.org>

	d10v/interp.c (sim_create_inferior): Fix memset call.
---
 sim/d10v/interp.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sim/d10v/interp.c b/sim/d10v/interp.c
index 86e566a79fb..a59779810eb 100644
--- a/sim/d10v/interp.c
+++ b/sim/d10v/interp.c
@@ -1143,7 +1143,7 @@ sim_create_inferior (SIM_DESC sd, struct bfd *abfd,
   bfd_vma start_address;
 
   /* reset all state information */
-  memset (&State.regs, 0, (uintptr_t)&State.mem - (uintptr_t)&State.regs);
+  memset (&State, 0, sizeof (State));
 
   /* There was a hack here to copy the values of argc and argv into r0
      and r1.  The values were also saved into some high memory that
-- 
2.25.1


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2021-05-12  3:59 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-10 19:14 [PATCH] [sim] Fix build failure in d10v sim Luis Machado
2021-05-10 22:30 ` Mike Frysinger
2021-05-11  2:01   ` Luis Machado
2021-05-11 20:48     ` Mike Frysinger
2021-05-11 13:07 ` [PATCH,v2] " Luis Machado
2021-05-11 21:54   ` Mike Frysinger
2021-05-12  3:59     ` Luis Machado

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).