Page MenuHomeFreeBSD

D25550.id74110.diff
No OneTemporary

D25550.id74110.diff

Index: head/libexec/rtld-elf/rtld.c
===================================================================
--- head/libexec/rtld-elf/rtld.c
+++ head/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,
+ flags | SYMLOOK_IFUNC, lockstate) == -1) ||
obj_enforce_relro(obj) == -1)
return (-1);
return (0);

File Metadata

Mime Type
text/plain
Expires
Sun, Apr 5, 3:14 AM (17 h, 33 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
30864952
Default Alt Text
D25550.id74110.diff (892 B)

Event Timeline