[PATCH, V2 8/9] NEWS: sframe: mention new semantics for SFrame FDE function start addr
Indu Bhagat
indu.bhagat@oracle.com
Sat Jun 7 05:41:53 GMT 2025
On 6/6/25 3:23 AM, Jan Beulich wrote:
> On 04.06.2025 09:08, Indu Bhagat via Binutils wrote:
>> The SFrame FDE's function start address is always emitted as follows by
>> GAS and ld: it is the offset of the start PC of the respective function
>> from the FDE field itself.
>>
>> GAS and ld will emit a flag SFRAME_F_FDE_FUNC_START_ADDR_PCREL set to 1
>> when emitting the field in this encoding.
>
> With this, ...
>
>> binutils/
>> * NEWS: Announce the change of encoding for SFrame FDE func
>> start addr field.
>
> ... why is it binutils/NEWS where the entry is added? I think this ought to
> go into gas/NEWS (the producer) and maybe also ld/NEWS (the main affected
> [internal] consumer).
>
As the changes were across a range of entities, e.g., gas, ld,
libsframe, and most importantly SFrame format itself adding a new flag,
I thought it was easier to word them in a combined way here in
binutils/NEWS and avoid repetition. Also, later (closer to 2.45
release) I may add an entry in binutils/NEWS for libsframe too (which
will announce version bump with key changes, likely pointing to one of
the changes being addition of APIS to support the new
SFRAME_F_FDE_FUNC_START_ADDR_PCREL flag).
That said, if you think it is better to include in gas/NEWS and ld/NEWS,
how about something like this (some repetition is unavoidable I think):
ld/NEWS:
* All SFrame sections generated by the linker have the header flag
SFRAME_F_FDE_FUNC_START_ADDR_PCREL set to indicate the new encoding for
sfde_func_start_address field in the SFrame section. Relocatable SFrame
links are now fixed.
gas/NEWS:
* All SFrame sections generated by gas have the header flag
SFRAME_F_FDE_FUNC_START_ADDR_PCREL set. gas was already emitting SFrame
sections with the applicable encoding. Setting the flag is necessary for
fixing relocatable SFrame links.
binutils/NEWS:
* For SFrame stack trace format, the function start address in each SFrame
FDE has a changed encoding: The 32-bit signed integer now holds the
offset
of the start PC of the associated function from the
sfde_func_start_address
field itself (instead of the earlier where it was the offset from the
start
of the SFrame section itself). All SFrame sections generated by gas
and ld
generate the new encoding by default, with the (new)
SFRAME_F_FDE_FUNC_START_ADDR_PCREL flag set.
Relocatable SFrame links are now fixed.
More information about the Binutils
mailing list