IMAGE_SCN_LNK_NRELOC_OVFL
Fangrui Song
i@maskray.me
Fri Jul 30 07:04:04 GMT 2021
On 2021-07-30, Alan Modra via Binutils wrote:
>From microsoft docs: It is an error if IMAGE_SCN_LNK_NRELOC_OVFL is
>set and there are fewer than 0xffff relocations in the section.
>
> * coffcode.h (coff_set_alignment_hook): Sanity check overflow
> reloc count.
>
>diff --git a/bfd/coffcode.h b/bfd/coffcode.h
>index 9b8798c8631..d2076effb41 100644
>--- a/bfd/coffcode.h
>+++ b/bfd/coffcode.h
>@@ -1951,6 +1951,12 @@ coff_set_alignment_hook (bfd * abfd ATTRIBUTE_UNUSED,
> coff_swap_reloc_in (abfd, &dst, &n);
> if (bfd_seek (abfd, oldpos, 0) != 0)
> return;
>+ if (n.r_vaddr < 0xffff)
hdr->s_nreloc
>+ {
>+ _bfd_error_handler (_("%pB: overflow reloc count too small"), abfd);
>+ bfd_set_error (bfd_error_bad_value);
>+ return;
>+ }
> section->reloc_count = hdr->s_nreloc = n.r_vaddr - 1;
> section->rel_filepos += relsz;
> }
>
>--
>Alan Modra
>Australia Development Lab, IBM
More information about the Binutils
mailing list