[PATCH] aarch64: ERRAT_NONE is not zero, so test against it

Kyrylo Tkachov via Binutils <[email protected]>
Newsgroups gmane.comp.gnu.binutils
Message-ID <[email protected]>
From: Kyrylo Tkachov <[email protected]>

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.
Ok for master?
Thanks,
Kyrill

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]>
---
 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 cbd4abea12..6194d18225 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))
-- 
2.50.1 (Apple Git-155)
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.