aboutsummaryrefslogtreecommitdiff
path: root/gdb/fbsd-tdep.c
diff options
context:
space:
mode:
authorMark Wielaard <mark@klomp.org>2023-01-15 01:51:53 +0100
committerAlexandra Hájková <ahajkova@redhat.com>2023-01-23 16:39:26 +0100
commit1a39c1a4a21107fe47b9c45cc3e5da35a3a37c1f (patch)
tree6cc537fac438d32049133908c994b17ec0dcfb84 /gdb/fbsd-tdep.c
parenteb015bf86b6c6764f8acfea01a25a63e9b492dc5 (diff)
downloadgdb-users/ahajkova/try-frob.zip
gdb-users/ahajkova/try-frob.tar.gz
gdb-users/ahajkova/try-frob.tar.bz2
gdb: Ignore some stringop-overflow and restrict warnings on sparcusers/ahajkova/try-frob
For some reason g++ 11.2.1 on s390x produces a spurious warning for stringop-overread and restruct in fsb-tdep.c for some memcpy calls. Add new DIAGNOSTIC_IGNORE_STRINGOP_OVERFLOW and DIAGNOSTIC_IGNORE_RESTRICT macro to suppress these warning. include/ChangeLog: * diagnostics.h (DIAGNOSTIC_IGNORE_STRINGOP_OVERFLOW): New macro. (DIAGNOSTIC_IGNORE_RESTRICT): Likewise. gdb/ChangeLog: * fsb-tdep.c (fbsd_make_note_desc): Use DIAGNOSTIC_IGNORE_STRINGOP_OVERFLOW and DIAGNOSTIC_IGNORE_RESTRICT on sparc.
Diffstat (limited to 'gdb/fbsd-tdep.c')
-rw-r--r--gdb/fbsd-tdep.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/gdb/fbsd-tdep.c b/gdb/fbsd-tdep.c
index 203390d..ee2a4b5 100644
--- a/gdb/fbsd-tdep.c
+++ b/gdb/fbsd-tdep.c
@@ -19,6 +19,7 @@
#include "defs.h"
#include "auxv.h"
+#include "diagnostics.h"
#include "gdbcore.h"
#include "inferior.h"
#include "objfiles.h"
@@ -663,7 +664,16 @@ fbsd_make_note_desc (enum target_object object, uint32_t structsize)
gdb::byte_vector desc (sizeof (structsize) + buf->size ());
memcpy (desc.data (), &structsize, sizeof (structsize));
+#if defined (__sparc__)
+ /* g++ 12.2.1 on sparc seems confused about the vector buf sizes. */
+ DIAGNOSTIC_PUSH
+ DIAGNOSTIC_IGNORE_STRINGOP_OVERFLOW
+ DIAGNOSTIC_IGNORE_RESTRICT
+#endif
memcpy (desc.data () + sizeof (structsize), buf->data (), buf->size ());
+#if defined (__sparc__)
+ DIAGNOSTIC_POP
+#endif
return desc;
}