From a9789a6b9df7e25448473dc45c47b64c980f04b5 Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Wed, 21 Apr 2010 20:13:41 +0000 Subject: [PATCH] gdb: workaround sparc memcpy fortify error Building on an x86_64-linux system with --enable-targets=all fails on the sparc code with a fortify error: cc1: warnings being treated as errors In file included from /usr/include/string.h:640, from gnulib/string.h:23, from ../../gdb/gdb_string.h:25, from ../../gdb/vec.h:25, from ../../gdb/memattr.h:24, from ../../gdb/target.h:60, from ../../gdb/exec.h:23, from ../../gdb/gdbcore.h:31, from ../../gdb/sparc-tdep.c:29: In function 'memcpy', inlined from 'sparc32_store_return_value' at ../../gdb/sparc-tdep.c:1112, inlined from 'sparc32_return_value' at ../../gdb/sparc-tdep.c:1170: /usr/include/bits/string3.h:52: error: call to __builtin___memcpy_chk will always overflow destination buffer make: *** [sparc-tdep.o] Error 1 This is due to the gcc optimizer bug PR37060, so tweak the gdb_assert () to avoid the issue. Signed-off-by: Mike Frysinger --- gdb/ChangeLog | 5 +++++ gdb/sparc-tdep.c | 1 + 2 files changed, 6 insertions(+) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 0ea0d8aec3..2ba55a2694 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2010-04-21 Mike Frysinger + + * gdb/sparc-tdep.c (sparc32_store_return_value): Add gdb_assert () + for len <= 8. + 2010-04-21 Chris Moller PR 9167 diff --git a/gdb/sparc-tdep.c b/gdb/sparc-tdep.c index f129a55003..a2bae9f0f5 100644 --- a/gdb/sparc-tdep.c +++ b/gdb/sparc-tdep.c @@ -1105,6 +1105,7 @@ sparc32_store_return_value (struct type *type, struct regcache *regcache, gdb_assert (!sparc_structure_or_union_p (type)); gdb_assert (!(sparc_floating_p (type) && len == 16)); + gdb_assert (len <= 8); if (sparc_floating_p (type)) { -- 2.34.1