This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [PATCH] gdb passes and returns incorrect values when dealing with small array on Sparc
- From: jose dot marchesi at oracle dot com (Jose E. Marchesi)
- To: vladimir dot mezentsev at oracle dot com
- Cc: gdb-patches at sourceware dot org
- Date: Fri, 19 May 2017 11:44:34 +0200
- Subject: Re: [PATCH] gdb passes and returns incorrect values when dealing with small array on Sparc
- Authentication-results: sourceware.org; auth=none
- References: <1494950959-42849-1-git-send-email-vladimir.mezentsev@oracle.com>
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?