diff options
author | dim <dim@FreeBSD.org> | 2016-02-11 20:07:09 +0000 |
---|---|---|
committer | dim <dim@FreeBSD.org> | 2016-02-11 20:07:09 +0000 |
commit | afa214d26dae14a294ff215b5a55e9acaf67d18f (patch) | |
tree | d5418788f5368ac552e6ffa543d661830d835dbb /lib/libc/gen/elf_utils.c | |
parent | 86bef0867f0389dc03d4cd4913f5dee79377226f (diff) | |
parent | 5183fdd185bc8709354de8b0b88b8925644c2a4b (diff) | |
download | FreeBSD-src-afa214d26dae14a294ff215b5a55e9acaf67d18f.zip FreeBSD-src-afa214d26dae14a294ff215b5a55e9acaf67d18f.tar.gz |
Merge ^/head r295351 through r295543.
Diffstat (limited to 'lib/libc/gen/elf_utils.c')
-rw-r--r-- | lib/libc/gen/elf_utils.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/lib/libc/gen/elf_utils.c b/lib/libc/gen/elf_utils.c index 069f62e..80ab013 100644 --- a/lib/libc/gen/elf_utils.c +++ b/lib/libc/gen/elf_utils.c @@ -32,6 +32,7 @@ #include <sys/sysctl.h> #include <link.h> #include <stddef.h> +#include "libc_private.h" int __elf_phdr_match_addr(struct dl_phdr_info *, void *); void __pthread_map_stacks_exec(void); @@ -54,9 +55,8 @@ __elf_phdr_match_addr(struct dl_phdr_info *phdr_info, void *addr) return (i != phdr_info->dlpi_phnum); } -#pragma weak __pthread_map_stacks_exec void -__pthread_map_stacks_exec(void) +__libc_map_stacks_exec(void) { int mib[2]; struct rlimit rlim; @@ -75,3 +75,10 @@ __pthread_map_stacks_exec(void) rlim.rlim_cur, _rtld_get_stack_prot()); } +#pragma weak __pthread_map_stacks_exec +void +__pthread_map_stacks_exec(void) +{ + + ((void (*)(void))__libc_interposing[INTERPOS_map_stacks_exec])(); +} |