diff options
Diffstat (limited to 'bfd')
-rw-r--r-- | bfd/elf-attrs.c | 38 | ||||
-rw-r--r-- | bfd/elf32-nds32.c | 4 | ||||
-rw-r--r-- | bfd/elfxx-riscv.c | 4 | ||||
-rw-r--r-- | bfd/version.h | 2 |
4 files changed, 26 insertions, 22 deletions
diff --git a/bfd/elf-attrs.c b/bfd/elf-attrs.c index e80575b..bc653d7 100644 --- a/bfd/elf-attrs.c +++ b/bfd/elf-attrs.c @@ -510,8 +510,8 @@ bfd_elf_parse_attr_section_v1 (bfd *abfd, bfd_byte *p, bfd_byte *p_end) if (section_len <= 4) { _bfd_error_handler - (_("%pB: error: attribute section length too small: %ld"), - abfd, (long) section_len); + (_("%pB: error: attribute section length too small: %ld"), + abfd, (long) section_len); break; } section_len -= 4; @@ -541,15 +541,15 @@ bfd_elf_parse_attr_section_v1 (bfd *abfd, bfd_byte *p, bfd_byte *p_end) orig_p = p; tag = _bfd_safe_read_leb128 (abfd, &p, false, p_end); if (p_end - p >= 4) - { - subsection_len = bfd_get_32 (abfd, p); - p += 4; - } + { + subsection_len = bfd_get_32 (abfd, p); + p += 4; + } else - { - p = p_end; - break; - } + { + p = p_end; + break; + } if (subsection_len > section_len) subsection_len = section_len; section_len -= subsection_len; @@ -638,12 +638,12 @@ _bfd_elf_parse_attributes (bfd *abfd, Elf_Internal_Shdr * hdr) /* The first character is the version of the attributes. Currently only version 'A' is recognised here. */ if (*cursor != 'A') - { - _bfd_error_handler (_("%pB: error: unknown attributes version '%c'(%d) " - "- expecting 'A'\n"), abfd, *cursor, *cursor); - bfd_set_error (bfd_error_wrong_format); - goto free_data; - } + { + _bfd_error_handler (_("%pB: error: unknown attributes version '%c'(%d) " + "- expecting 'A'\n"), abfd, *cursor, *cursor); + bfd_set_error (bfd_error_wrong_format); + goto free_data; + } ++cursor; @@ -685,9 +685,9 @@ _bfd_elf_merge_object_attributes (bfd *ibfd, struct bfd_link_info *info) { _bfd_error_handler /* xgettext:c-format */ - (_("error: %pB: object has vendor-specific contents that " - "must be processed by the '%s' toolchain"), - ibfd, in_attr->s); + (_("error: %pB: object has vendor-specific contents that " + "must be processed by the '%s' toolchain"), + ibfd, in_attr->s); return false; } diff --git a/bfd/elf32-nds32.c b/bfd/elf32-nds32.c index e240c31..1aff60a 100644 --- a/bfd/elf32-nds32.c +++ b/bfd/elf32-nds32.c @@ -2692,7 +2692,7 @@ nds32_elf_do_9_pcrel_reloc (bfd * abfd, bfd_vma symbol_value, bfd_vma addend) { - bfd_signed_vma relocation; + bfd_vma relocation; unsigned short x; bfd_reloc_status_type status; @@ -2708,7 +2708,7 @@ nds32_elf_do_9_pcrel_reloc (bfd * abfd, before doing pcrel calculations. */ relocation -= (offset & -(bfd_vma) 2); - if (relocation < -ACCURATE_8BIT_S1 || relocation >= ACCURATE_8BIT_S1) + if (relocation + ACCURATE_8BIT_S1 >= 2 * ACCURATE_8BIT_S1) status = bfd_reloc_overflow; else status = bfd_reloc_ok; diff --git a/bfd/elfxx-riscv.c b/bfd/elfxx-riscv.c index 92e024b..ec25491 100644 --- a/bfd/elfxx-riscv.c +++ b/bfd/elfxx-riscv.c @@ -2801,6 +2801,8 @@ riscv_multi_subset_supports (riscv_parse_subset_t *rps, case INSN_CLASS_SMCTR_OR_SSCTR: return (riscv_subset_supports (rps, "smctr") || riscv_subset_supports (rps, "ssctr")); + case INSN_CLASS_SMRNMI: + return riscv_subset_supports (rps, "smrnmi"); case INSN_CLASS_SVINVAL: return riscv_subset_supports (rps, "svinval"); case INSN_CLASS_H: @@ -3108,6 +3110,8 @@ riscv_multi_subset_supports_ext (riscv_parse_subset_t *rps, return "zcmt"; case INSN_CLASS_SMCTR_OR_SSCTR: return _("smctr' or `ssctr"); + case INSN_CLASS_SMRNMI: + return "smrnmi"; case INSN_CLASS_SVINVAL: return "svinval"; case INSN_CLASS_H: diff --git a/bfd/version.h b/bfd/version.h index 9a65a99..997e954 100644 --- a/bfd/version.h +++ b/bfd/version.h @@ -16,7 +16,7 @@ In releases, the date is not included in either version strings or sonames. */ -#define BFD_VERSION_DATE 20250321 +#define BFD_VERSION_DATE 20250402 #define BFD_VERSION @bfd_version@ #define BFD_VERSION_STRING @bfd_version_package@ @bfd_version_string@ #define REPORT_BUGS_TO @report_bugs_to@ |