aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIndu Bhagat <indu.bhagat@oracle.com>2025-08-14 09:08:31 -0700
committerIndu Bhagat <indu.bhagat@oracle.com>2025-08-14 09:08:31 -0700
commitcfebee1869110153f943e7e18de0013e649e420c (patch)
tree11073e8d079f44d5243af3db09a3c14504b436ed
parentea6ec00ff4520895735e4913cb90c933c7296f04 (diff)
downloadbinutils-cfebee1869110153f943e7e18de0013e649e420c.zip
binutils-cfebee1869110153f943e7e18de0013e649e420c.tar.gz
binutils-cfebee1869110153f943e7e18de0013e649e420c.tar.bz2
bfd: sframe: fix PR ld/33199
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.
-rw-r--r--bfd/elfxx-x86.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/bfd/elfxx-x86.c b/bfd/elfxx-x86.c
index 3dc0095..e2c61b8 100644
--- a/bfd/elfxx-x86.c
+++ b/bfd/elfxx-x86.c
@@ -4604,6 +4604,8 @@ _bfd_x86_elf_link_setup_gnu_properties
htab->sframe_plt = init_table->sframe_non_lazy_plt;
}
}
+ else if (lazy_plt)
+ htab->sframe_plt = init_table->sframe_lazy_plt;
else
htab->sframe_plt = NULL;