[PATCH] gdb passes and returns incorrect values when dealing with small array on Sparc
Jose E. Marchesi
jose.marchesi@oracle.com
Fri May 19 09:44:00 GMT 2017
From: Vladimir Mezentsev <vladimir.mezentsev@oracle.com>
gdb has a special type (TYPE_CODE_ARRAY) to support the gcc extension
(https://gcc.gnu.org/onlinedocs/gcc/Vector-Extensions.html).
TYPE_CODE_ARRAY is handled incorrectly for both (32- and 64-bit) modes on Sparc machines.
Tested on sparc64-linux-gnu and sparc-solaris (32- and 64-bit mode).
No regressions.
gdb/ChangeLog:
2017-05-12 Vladimir Mezentsev <vladimir.mezentsev@oracle.com>
* sparc-tdep.c (sparc_structure_return_p)
(sparc_arg_on_registers_p): New functions.
(sparc32_store_arguments): Use them.
* sparc64-tdep.c (sparc64_16_byte_align_p)
(sparc64_store_floating_fields, sparc64_extract_floating_fields):
Handle TYPE_CODE_ARRAY.
LGTM. Ok for master?
More information about the Gdb-patches
mailing list