[PATCH] bfd: sframe: fix PR ld/33199
Jan Beulich
jbeulich@suse.com
Thu Aug 14 06:11:08 GMT 2025
On 14.08.2025 07:14, Indu Bhagat via Binutils wrote:
> Fix PR ld/33199 SEGV in _bfd_x86_elf_create_sframe_plt
>
> Currently, the selection for sframe_plt was not being done (and simply
> set to NULL) for the case when !normal_target, causing SEGV on Solaris.
> Initialize sframe_plt to init_table->sframe_lazy_plt when lazy_plt is
> true, and NULL otherwise. This is in line with htab->non_lazy_plt being
> set to NULL for !normal_target.
>
> bfd/
> PR ld/33199
> * elfxx-x86.c (_bfd_x86_elf_link_setup_gnu_properties):
> Setup sframe_plt for !normal_target.
Okay, albeit preferably with ...
> --- a/bfd/elfxx-x86.c
> +++ b/bfd/elfxx-x86.c
> @@ -4605,7 +4605,12 @@ _bfd_x86_elf_link_setup_gnu_properties
> }
> }
> else
> - htab->sframe_plt = NULL;
> + {
> + if (lazy_plt)
> + htab->sframe_plt = init_table->sframe_lazy_plt;
> + else
> + htab->sframe_plt = NULL;
> + }
... no extra scope used here, i.e. if becoming "else if (lazy_plt)". Makes
for a smaller diff and less indentation overall.
Jan
More information about the Binutils
mailing list