From: Kyrylo Tkachov Date: Wed, 5 Aug 2026 13:11:46 +0000 (+0200) Subject: aarch64: ERRAT_NONE is not zero, so test against it X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6e72ff251801b05ec10bed36130647985658d7c3;p=thirdparty%2Fbinutils-gdb.git 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 --- 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))