diff options
author | Vladimir Mezentsev <vladimir.mezentsev@oracle.com> | 2017-05-19 03:06:19 -0700 |
---|---|---|
committer | Jose E. Marchesi <jose.marchesi@oracle.com> | 2017-05-19 03:06:19 -0700 |
commit | 1933fd8ee01ad2e74a9c6341bc40f54962a8f889 (patch) | |
tree | 4fa1d4f8a0b9c540d3efcc87c6fe499534ecdde3 /sim | |
parent | eb026f09eb6fcb96a5de1e655cdde041ba44affb (diff) | |
download | fsf-binutils-gdb-1933fd8ee01ad2e74a9c6341bc40f54962a8f889.zip fsf-binutils-gdb-1933fd8ee01ad2e74a9c6341bc40f54962a8f889.tar.gz fsf-binutils-gdb-1933fd8ee01ad2e74a9c6341bc40f54962a8f889.tar.bz2 |
gdb: fix TYPE_CODE_ARRAY handling in sparc targets
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).
6 tests ( from gdb/testsuite/gdb.base/gnu_vector.exp) failed on
sparc64-Linux and on sparc-Solaris in 32- and 64-bit mode. Now all
these tests passed. gdb/testsuite/gdb.base/gnu_vector.exp has 117
different cases for small (and not small) arrays and structures.
No regressions.
gdb/ChangeLog:
2017-05-19 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.
Diffstat (limited to 'sim')
0 files changed, 0 insertions, 0 deletions