[binutils-gdb] xtensa: properly check reloc address

Alan Modra amodra@sourceware.org
Thu Mar 19 09:13:52 GMT 2026


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=a9988549d9278ea37a2c64ed3f3229fb6ef2001e

commit a9988549d9278ea37a2c64ed3f3229fb6ef2001e
Author: Alan Modra <amodra@gmail.com>
Date:   Thu Mar 19 19:40:16 2026 +1030

    xtensa: properly check reloc address
    
    The existing check didn't take the reloc size into account.
    
            * elf32-xtensa.c (bfd_elf_xtensa_reloc): Use bfd_reloc_offset_in_range.

Diff:
---
 bfd/elf32-xtensa.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/bfd/elf32-xtensa.c b/bfd/elf32-xtensa.c
index 1faa884f1d8..8a1e2e064ea 100644
--- a/bfd/elf32-xtensa.c
+++ b/bfd/elf32-xtensa.c
@@ -2178,7 +2178,7 @@ bfd_elf_xtensa_reloc (bfd *abfd,
     }
 
   /* Is the address of the relocation really within the section?  */
-  if (reloc_entry->address > bfd_get_section_limit (abfd, input_section))
+  if (!bfd_reloc_offset_in_range (howto, abfd, input_section, octets))
     return bfd_reloc_outofrange;
 
   /* Work out which section the relocation is targeted at and the


More information about the Binutils-cvs mailing list