]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
gas: aarch64: i386: s390: sframe: adjust sframe_ra_tracking_p
authorIndu Bhagat <indu.bhagat@oracle.com>
Sun, 25 Jan 2026 03:11:59 +0000 (19:11 -0800)
committerIndu Bhagat <indu.bhagat@oracle.com>
Sun, 25 Jan 2026 03:11:59 +0000 (19:11 -0800)
Like the previous commit b600229503 which adjusted the implementation of
flex fde hook, make a similar change for sframe_ra_tracking_p.

Simply providing the definition to use boolean value direcly is
sufficient for the purpose, and helps generate better code.

gas/
* config/tc-aarch64.c (aarch64_sframe_ra_tracking_p): Remove.
* config/tc-aarch64.h (aarch64_sframe_ra_tracking_p): Remove.
(sframe_ra_tracking_p): Set to true.
* config/tc-i386.c (x86_sframe_ra_tracking_p): Remove.
* config/tc-i386.h (x86_sframe_ra_tracking_p): Remove.
(sframe_ra_tracking_p): Set to false.
* config/tc-s390.c (s390_sframe_ra_tracking_p): Remove.
* config/tc-s390.h (s390_sframe_ra_tracking_p): Remove.
(sframe_ra_tracking_p): Set to true.

gas/config/tc-aarch64.c
gas/config/tc-aarch64.h
gas/config/tc-i386.c
gas/config/tc-i386.h
gas/config/tc-s390.c
gas/config/tc-s390.h

index b56535755b143b9de48e1819c5ead006cb1b6d91..ca9387dcfd8216c3bbfa8fb7bee9fab0aca4dc81 100644 (file)
@@ -9313,14 +9313,6 @@ aarch64_support_sframe_p (void)
   return (aarch64_abi == AARCH64_ABI_LP64);
 }
 
-/* Whether SFrame return address tracking is needed.  */
-
-bool
-aarch64_sframe_ra_tracking_p (void)
-{
-  return true;
-}
-
 /* The fixed offset from CFA for SFrame to recover the return address.
    (useful only when SFrame RA tracking is not needed).  */
 
index 7126994c652bd1b1f4fa3024c34d8462db51cd65..d1fb4c9058b882ed2f3f60607a1b60a0029cd053 100644 (file)
@@ -327,8 +327,7 @@ extern unsigned int aarch64_sframe_cfa_ra_reg;
 #define SFRAME_CFA_RA_REG aarch64_sframe_cfa_ra_reg
 
 /* Whether SFrame return address tracking is needed.  */
-extern bool aarch64_sframe_ra_tracking_p (void);
-#define sframe_ra_tracking_p aarch64_sframe_ra_tracking_p
+#define sframe_ra_tracking_p() true
 
 /* The fixed offset from CFA for SFrame to recover the return address.
    (useful only when SFrame RA tracking is not needed).  */
index b317536cc602e6bf11aeb5666da92eb6d71d2a33..ca4523fe2cd00a23dcb889324f9c72d9979c3b54 100644 (file)
@@ -12162,16 +12162,6 @@ x86_support_sframe_p (void)
   return (x86_elf_abi == X86_64_ABI);
 }
 
-/* Whether SFrame return address tracking is needed.  */
-bool
-x86_sframe_ra_tracking_p (void)
-{
-  /* In AMD64, return address is always stored on the stack at a fixed offset
-     from the CFA (provided via x86_sframe_cfa_ra_offset ()).
-     Do not track explicitly via an SFrame Frame Row Entry.  */
-  return false;
-}
-
 /* The fixed offset from CFA for SFrame to recover the return address.
    (useful only when SFrame RA tracking is not needed).  */
 offsetT
index a362851a9eb10dd5d55992fb1937f7a3b513a1ee..b2871b52a9527d9e814e45235ce82f900e7ef765 100644 (file)
@@ -465,9 +465,11 @@ extern const unsigned int x86_sframe_cfa_fp_reg;
 extern const unsigned int x86_sframe_cfa_ra_reg;
 #define SFRAME_CFA_RA_REG x86_sframe_cfa_ra_reg
 
-/* Whether SFrame return address tracking is needed.  */
-extern bool x86_sframe_ra_tracking_p (void);
-#define sframe_ra_tracking_p x86_sframe_ra_tracking_p
+/* Whether SFrame return address tracking is needed.
+   In AMD64, return address is always stored on the stack at a fixed offset
+   from the CFA (provided via x86_sframe_cfa_ra_offset ()).  Do not track
+   explicitly via the data words in the SFrame Frame Row Entry.  */
+#define sframe_ra_tracking_p() false
 
 /* The fixed offset from CFA for SFrame to recover the return address.
    (useful only when SFrame RA tracking is not needed).  */
index 4286574ce6ed5f704f2aae43a19b6b17ef6a26a4..529610f76fe36ed0e6dd5dd00ea3df7fea28f9c6 100644 (file)
@@ -2909,14 +2909,6 @@ s390_support_sframe_p (void)
   return (s390_arch_size == 64);
 }
 
-/* Specify if RA tracking is needed.  */
-
-bool
-s390_sframe_ra_tracking_p (void)
-{
-  return true;
-}
-
 /* Specify the fixed offset to recover RA from CFA.
    (useful only when RA tracking is not needed).  */
 
index a9eb618ffe6f5e059e8b2630c1e63d8d1d503a67..3fd37c075bde5c40d0675c9e7f93a7704a29119b 100644 (file)
@@ -119,8 +119,7 @@ extern const unsigned int s390_sframe_cfa_ra_reg;
 #define SFRAME_CFA_RA_REG s390_sframe_cfa_ra_reg
 
 /* Whether SFrame return address tracking is needed.  */
-extern bool s390_sframe_ra_tracking_p (void);
-#define sframe_ra_tracking_p s390_sframe_ra_tracking_p
+#define sframe_ra_tracking_p() true
 
 /* The fixed offset from CFA for SFrame to recover the return address.
    (useful only when SFrame RA tracking is not needed).  */