[binutils-gdb] NEWS: sframe: mention new semantics for SFrame FDE function start addr

Indu Bhagat ibhagat@sourceware.org
Sun Jul 6 19:54:54 GMT 2025


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=54f153a345bc7dbab1e6ccddf604e900571119ca

commit 54f153a345bc7dbab1e6ccddf604e900571119ca
Author: Indu Bhagat <indu.bhagat@oracle.com>
Date:   Sun Jul 6 12:47:31 2025 -0700

    NEWS: sframe: mention new semantics for SFrame FDE function start addr
    
    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_PCREL set to 1
    when emitting the field in this encoding.
    
            * binutils/NEWS: Announce the change of encoding for SFrame FDE
              func start addr field.
            * gas/NEWS: Announce the emission of new flag
              SFRAME_F_FDE_FUNC_START_PCREL.
            * ld/NEWS: Likewise.  Relocatable links are now fixed.

Diff:
---
 binutils/NEWS | 10 ++++++++++
 gas/NEWS      |  5 +++++
 ld/NEWS       |  5 +++++
 3 files changed, 20 insertions(+)

diff --git a/binutils/NEWS b/binutils/NEWS
index a62410607a3..1a746f1f097 100644
--- a/binutils/NEWS
+++ b/binutils/NEWS
@@ -1,5 +1,15 @@
 -*- text -*-
 
+* 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
+  now default to this new encoding, setting the (new)
+  SFRAME_F_FDE_FUNC_START_PCREL flag.
+
+  Relocatable SFrame links are now fixed.
+
 * Readelf now recognizes RISC-V GNU_PROPERTY_RISCV_FEATURE_1_CFI_SS and
   GNU_PROPERTY_RISCV_FEATURE_1_CFI_LP_UNLABELED for zicfiss and zicfilp
   extensions.
diff --git a/gas/NEWS b/gas/NEWS
index 4e93e3cf089..66a9a7a30df 100644
--- a/gas/NEWS
+++ b/gas/NEWS
@@ -1,5 +1,10 @@
 -*- text -*-
 
+* All SFrame sections generated by gas have the header flag
+  SFRAME_F_FDE_FUNC_START_PCREL set.  gas was already emitting SFrame sections
+  with the applicable encoding.  Setting the flag ensures compliance with the
+  updated SFrame V2 specification.
+
 * Add .errif and .warnif directives, permitting user-controlled diagnostics
   with conditionals that are evaluated only at the end of assembly.
 
diff --git a/ld/NEWS b/ld/NEWS
index b101dec4ed5..74abb54254d 100644
--- a/ld/NEWS
+++ b/ld/NEWS
@@ -1,5 +1,10 @@
 -*- text -*-
 
+* All SFrame sections generated by the linker have the header flag
+  SFRAME_F_FDE_FUNC_START_PCREL set to indicate the new encoding for
+  sfde_func_start_address field in the SFrame section.  Relocatable SFrame
+  links are now fixed.
+
 * On RISC-V, add new PLT formats, and GNU property merge rules for zicfiss and
   zicfilp extensions.


More information about the Binutils-cvs mailing list