[binutils-gdb] aarch64: ERRAT_NONE is not zero, so test against it

Kyrylo Tkachov via Binutils-cvs <[email protected]>
Newsgroups gmane.comp.gnu.binutils.cvs
Message-ID <[email protected]>
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=6e72ff251801b05ec10bed36130647985658d7c3

commit 6e72ff251801b05ec10bed36130647985658d7c3
Author: Kyrylo Tkachov <[email protected]>
Date:   Wed Aug 5 15:11:46 2026 +0200

    aarch64: ERRAT_NONE is not zero, so test against it
    
    erratum_84319_opts starts at ERRAT_NONE = (1 << 0), so a plain boolean test
    on fix_erratum_843419 is true even when no erratum workaround was asked for.
    Every other use in the file tests against ERRAT_NONE or masks with ERRAT_ADR /
    ERRAT_ADRP.  Two do not.
    
    The bare test dates from the conversion of fix_erratum_843419 from an int to an
    enum for PR ld/24373.
    
    Having the workaround on by default all the time is, of course, undesirable as
    it costs link-time and is not what the user has asked by default.
    
    Tested on aarch64-none-linux-gnu.
    
    bfd/
            * elfnn-aarch64.c (elfNN_aarch64_write_section): Test
            fix_erratum_843419 against ERRAT_NONE.
            (elfNN_aarch64_late_size_sections): Likewise.
    
    Signed-off-by: Kyrylo Tkachov <[email protected]>

Diff:
---
 bfd/elfnn-aarch64.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/bfd/elfnn-aarch64.c b/bfd/elfnn-aarch64.c
index cbd4abea122..6194d182259 100644
--- a/bfd/elfnn-aarch64.c
+++ b/bfd/elfnn-aarch64.c
@@ -5704,7 +5704,7 @@ elfNN_aarch64_write_section (bfd *output_bfd  ATTRIBUTE_UNUSED,
 			 make_branch_to_erratum_835769_stub, &data);
     }
 
-  if (globals->fix_erratum_843419)
+  if (globals->fix_erratum_843419 != ERRAT_NONE)
     {
       struct erratum_835769_branch_to_stub_data data;
 
@@ -9747,7 +9747,7 @@ elfNN_aarch64_late_size_sections (struct bfd_link_info *info)
 
   /* Init mapping symbols information to use later to distingush between
      code and data while scanning for errata.  */
-  if (htab->fix_erratum_835769 || htab->fix_erratum_843419)
+  if (htab->fix_erratum_835769 || htab->fix_erratum_843419 != ERRAT_NONE)
     for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
       {
 	if (!is_aarch64_elf (ibfd))
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.