[PATCH] Fix segfault when .plt section does not exist
Palmer Dabbelt
palmer@dabbelt.com
Wed Feb 8 02:06:00 GMT 2017
On Fri, 03 Feb 2017 13:12:14 PST (-0800), Palmer Dabbelt wrote:
> From: Andrew Waterman <andrew@sifive.com>
>
> bfd/ChangeLog
>
> 2017-01-09 Andrew Waterman <andrew@sifive.com>
>
> * elfnn-riscv.c (riscv_elf_finish_dynamic_sections): Only write PLT
> entry size if PLT header is written.
> ---
> bfd/elfnn-riscv.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/bfd/elfnn-riscv.c b/bfd/elfnn-riscv.c
> index 320d318..b8dd1f2 100644
> --- a/bfd/elfnn-riscv.c
> +++ b/bfd/elfnn-riscv.c
> @@ -2502,10 +2502,10 @@ riscv_elf_finish_dynamic_sections (bfd *output_bfd,
>
> for (i = 0; i < PLT_HEADER_INSNS; i++)
> bfd_put_32 (output_bfd, plt_header[i], splt->contents + 4*i);
> - }
>
> - elf_section_data (splt->output_section)->this_hdr.sh_entsize
> - = PLT_ENTRY_SIZE;
> + elf_section_data (splt->output_section)->this_hdr.sh_entsize
> + = PLT_ENTRY_SIZE;
> + }
> }
>
> if (htab->elf.sgotplt)
Committed.
More information about the Binutils
mailing list