mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-30 22:43:12 +03:00
Update.
* elf/rtld.c: Define _dl_bind_not variable. (process_envvars): Recognize LD_BIND_NOT and set _dl_bind_not. * elf/dl-support.c: Likewise. * sysdeps/generic/ldsodefs.h: Declare _dl_bind_not. * elf/dl-runtime.c (fixup): Don't remember looked up value if _dl_bind_not. (profile_fixup): Likewise.
This commit is contained in:
@ -117,6 +117,9 @@ fixup (
|
||||
value = elf_machine_plt_value (l, reloc, value);
|
||||
|
||||
/* Finally, fix up the plt itself. */
|
||||
if (__builtin_expect (_dl_bind_not, 0))
|
||||
return value;
|
||||
|
||||
return elf_machine_fixup_plt (l, result, reloc, rel_addr, value);
|
||||
}
|
||||
#endif
|
||||
@ -205,7 +208,8 @@ profile_fixup (
|
||||
value = elf_machine_plt_value (l, reloc, value);
|
||||
|
||||
/* Store the result for later runs. */
|
||||
*resultp = value;
|
||||
if (__builtin_expect (! _dl_bind_not, 1))
|
||||
*resultp = value;
|
||||
}
|
||||
|
||||
(*mcount_fct) (retaddr, value);
|
||||
|
Reference in New Issue
Block a user