diff options
author | Carl Love <cel@us.ibm.com> | 2022-07-15 15:30:43 +0000 |
---|---|---|
committer | Carl Love <cel@us.ibm.com> | 2022-07-15 15:30:43 +0000 |
commit | ebbac1687d0075c8666b25438fc4f35d3dd1daaa (patch) | |
tree | 4333bffaa64d011e9266c2b4abfaa38674209e33 /libbacktrace/btest.c | |
parent | 72be9d6be7de305b34ac298f1466167b9aba9bc2 (diff) | |
download | gdb-ebbac1687d0075c8666b25438fc4f35d3dd1daaa.zip gdb-ebbac1687d0075c8666b25438fc4f35d3dd1daaa.tar.gz gdb-ebbac1687d0075c8666b25438fc4f35d3dd1daaa.tar.bz2 |
PowerPC: Add support for IEEE 128-bit format.
The test gdb.base/infcall-nested-structs-c.exp fails on a gdb assert
in function ppc64_sysv_abi_return_value in file gdb/ppc-sysv-tdep.c. The
assert is due to the missing IEEE 128-bit support in file
gdb/ppc-sysv-tdep.c.
The IBM long double was the initial float 128-bit support added by IBM
The IEEE 128-bit support, which is similar IBM long double support, was
made the default starting with GCC 12. The floating point format
differences include the number of bits used to encode the exponent
and significand. Also, IBM long double values are passed in a pair of
floating point registers. The IEEE 128-bit value is passed in a single
vector register.
This patch fixes the gdb_assert (ok); in function
ppc64_sysv_abi_return_value in gdb/ppc-sysv-tdep.c by adding IEEE FLOAT
128-bit type support for PowerPC.
The patch has been tested on Power 10, ELFv2. It fixes the following list
of regression failures on Power 10:
gdb.base/infcall-nested-structs-c.exp 192
gdb.base/infcall-nested-structs-c++.exp 76
gdb.base/structs.exp 9
The patch has been tested on Power 8 BE which is ELFv1.
Diffstat (limited to 'libbacktrace/btest.c')
0 files changed, 0 insertions, 0 deletions