5cec74bed9
by kernel, and parse PT_GNU_STACK phdr from linked and loaded dsos. If the loaded dso requires executable stack, as specified by PF_X bit of p_flags of PT_GNU_STACK phdr, but current stack protection does not permit execution, the __pthread_map_stacks_exec symbol is looked up and called. It should be implemented in libc or threading library and change the protection mode of all thread stacks to be executable. Provide a private interface _rtld_get_stack_prot() to export the stack access mode as calculated by rtld. Reviewed by: kan
33 lines
454 B
Plaintext
33 lines
454 B
Plaintext
/*
|
|
* $FreeBSD$
|
|
*/
|
|
|
|
FBSD_1.0 {
|
|
_rtld_error;
|
|
dlclose;
|
|
dlerror;
|
|
dlopen;
|
|
dlsym;
|
|
dlfunc;
|
|
dlvsym;
|
|
dladdr;
|
|
dllockinit;
|
|
dlinfo;
|
|
dl_iterate_phdr;
|
|
r_debug_state;
|
|
#ifdef __powerpc64__
|
|
.r_debug_state;
|
|
#endif
|
|
__tls_get_addr;
|
|
};
|
|
|
|
FBSDprivate_1.0 {
|
|
_rtld_thread_init;
|
|
_rtld_allocate_tls;
|
|
_rtld_free_tls;
|
|
_rtld_atfork_pre;
|
|
_rtld_atfork_post;
|
|
_rtld_addr_phdr;
|
|
_rtld_get_stack_prot;
|
|
};
|