[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