[PATCH, V3 8/9] NEWS: sframe: mention new semantics for SFrame FDE function start addr

Indu Bhagat indu.bhagat@oracle.com
Fri Jun 13 07:32:24 GMT 2025


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.

	* 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_ADDR_PCREL.
        * ld/NEWS: Likewise.  Relocatable links are now fixed.

---
[Changes in V3]
  - Add items in gas/NEWS and ld/NEWS too.
  - Adjusted binutils/NEWS text a bit.
[End of changes in V3]

[No changes in V2]
---
 binutils/NEWS | 10 ++++++++++
 gas/NEWS      |  5 +++++
 ld/NEWS       |  5 +++++
 3 files changed, 20 insertions(+)

diff --git a/binutils/NEWS b/binutils/NEWS
index a4599d91ad9..0602aafcf46 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_ADDR_PCREL flag.
+
+  Relocatable SFrame links are now fixed.
+
 * For RISC-V dis-assembler, the definition of mapping symbol $x is changed,
   so the file needs to be rebuilt since 2.45 once used .option arch directives.
 
diff --git a/gas/NEWS b/gas/NEWS
index 09bea9d40ce..abb08e3fe68 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_ADDR_PCREL set.  gas was already emitting SFrame
+  sections with the applicable encoding.  Setting the flag is necessary for
+  fixing relocatable SFrame links.
+
 * Support for x86 AVX10.2 256 bit rounding has been dropped, as all the
   hardware would directly support 512 bit vecotr width.
 
diff --git a/ld/NEWS b/ld/NEWS
index 209f764dddb..ed4494b76a2 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_ADDR_PCREL set to indicate the new encoding for
+  sfde_func_start_address field in the SFrame section.  Relocatable SFrame
+  links are now fixed.
+
 * The linker's --stats option can take an optional argument which if used is
   interpreted as a filename into which resource usage information should be
   stored.  As an alternative mechanism the LD_STATS environment variable can
-- 
2.43.0



More information about the Binutils mailing list