[PATCH] gdb: workaround sparc memcpy fortify error
Mike Frysinger
vapier@gentoo.org
Fri Mar 19 20:11:00 GMT 2010
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 <vapier@gentoo.org>
---
2010-03-19 Mike Frysinger <vapier@gentoo.org>
* gdb/sparc-tdep.c (sparc32_store_return_value): Change gdb_assert ()
to len <= 8.
gdb/sparc-tdep.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/gdb/sparc-tdep.c b/gdb/sparc-tdep.c
index f129a55..ab45ddd 100644
--- a/gdb/sparc-tdep.c
+++ b/gdb/sparc-tdep.c
@@ -1062,7 +1062,7 @@ sparc32_extract_return_value (struct type *type, struct regcache *regcache,
gdb_byte buf[8];
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))
{
--
1.7.0.2
More information about the Gdb-patches
mailing list