Page MenuHomeFreeBSD

D25550.id74029.diff
No OneTemporary

D25550.id74029.diff

Index: libexec/rtld-elf/rtld.c
===================================================================
--- libexec/rtld-elf/rtld.c
+++ libexec/rtld-elf/rtld.c
@@ -3111,7 +3111,8 @@
return (0);
obj->ifuncs_resolved = true;
if (!obj->irelative && !obj->irelative_nonplt &&
- !((obj->bind_now || bind_now) && obj->gnu_ifunc))
+ !((obj->bind_now || bind_now) && obj->gnu_ifunc) &&
+ !obj->non_plt_gnu_ifunc)
return (0);
if (obj_disable_relro(obj) == -1 ||
(obj->irelative && reloc_iresolve(obj, lockstate) == -1) ||
@@ -3119,6 +3120,8 @@
lockstate) == -1) ||
((obj->bind_now || bind_now) && obj->gnu_ifunc &&
reloc_gnu_ifunc(obj, flags, lockstate) == -1) ||
+ (obj->non_plt_gnu_ifunc && reloc_non_plt(obj, &obj_rtld,
+ SYMLOOK_EARLY | SYMLOOK_IFUNC, lockstate) == -1) ||
obj_enforce_relro(obj) == -1)
return (-1);
return (0);

File Metadata

Mime Type
text/plain
Expires
Tue, Jan 28, 12:36 AM (10 h, 21 s)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
16227761
Default Alt Text
D25550.id74029.diff (885 B)

Event Timeline