diff options
author | Jens Remus <jremus@linux.ibm.com> | 2024-03-13 18:03:52 +0100 |
---|---|---|
committer | Jens Remus <jremus@linux.ibm.com> | 2024-05-16 13:32:22 +0200 |
commit | ffeb79ba9748417b2d586232bd44b8f345ec6524 (patch) | |
tree | 9054b4791c3a6934570f10bcc90854d5c1259309 /libsframe/testsuite/lib | |
parent | 4e3cdaa9746d323edc54f87f7b9f3a219735ff6b (diff) | |
download | fsf-binutils-gdb-ffeb79ba9748417b2d586232bd44b8f345ec6524.zip fsf-binutils-gdb-ffeb79ba9748417b2d586232bd44b8f345ec6524.tar.gz fsf-binutils-gdb-ffeb79ba9748417b2d586232bd44b8f345ec6524.tar.bz2 |
sframe: Represent FP without RA on stack
If an architecture uses both SFrame RA and FP tracking SFrame assumes
that the RA offset is the 2nd offset and the FP offset is the 3rd offset
following the SFrame FRE. An architecture does not need to store both on
the stack. SFrame cannot represent a FP without RA on stack, since it
cannot distinguish whether the 2nd offset is the RA or FP offset.
Use an invalid SFrame FRE RA offset value of zero as dummy padding to
represent the FP being saved on the stack when the RA is not saved on
the stack.
include/
* sframe.h (SFRAME_FRE_RA_OFFSET_INVALID): New macro defining
the invalid RA offset value used to represent a dummy padding
offset.
gas/
* gen-sframe.c (get_fre_num_offsets): Accommodate for dummy
padding RA offset if FP without RA on stack.
(sframe_get_fre_offset_size): Likewise.
(output_sframe_row_entry): Write a dummy padding RA offset
if FP without RA needs to be represented.
libsframe/
* sframe-dump.c (dump_sframe_func_with_fres): Treat invalid RA
offsets as if they were undefined. Display them as "u*" to
distinguish them.
Signed-off-by: Jens Remus <jremus@linux.ibm.com>
Diffstat (limited to 'libsframe/testsuite/lib')
0 files changed, 0 insertions, 0 deletions