mirror of
git://sourceware.org/git/glibc.git
synced 2024-11-21 01:12:26 +08:00
827b70873b
* elf/rtld.c: Define __pointer_chk_guard_local and if necessary __pointer_chk_guard. (_rtld_global_ro): Initialize _dl_pointer_guard. (dl_main): Initialize __pointer_chk_guard_local and either __pointer_chk_guard or TLS value if necessary. (process_envvars): Recognize and handle LD_POINTER_GUARD. * sysdeps/generic/ldsodefs.h (rtld_global_ro): Add _dl_pointer_guard. * sysdeps/i386/__longjmp.S: Use PTR_DEMANGLE for PC if defined. * sysdeps/x86_64/__longjmp.S: Likewise. * sysdeps/i386/bsd-_setjmp.S: Use PTR_MANGLE for PC if defined. * sysdeps/i386/bsd-_setjmp.S: Likewise. * sysdeps/i386/setjmp.S: Likewise. [IS_IN_rtld]: Avoid call to __sigjmp_save. * sysdeps/i386/setjmp.S: Likewise. * sysdeps/unix/sysv/linux/i386/sysdep.h: Define PTR_MANGLE and PTR_DEMANGLE. * sysdeps/unix/sysv/linux/x86_64/sysdep.h: Likewise. * sysdeps/i386/elf/setjmp.S: Removed. * sysdeps/i386/elf/bsd-setjmp.S: Removed.
67 lines
1.5 KiB
Plaintext
67 lines
1.5 KiB
Plaintext
libc {
|
|
GLIBC_2.0 {
|
|
%ifdef EXPORT_UNWIND_FIND_FDE
|
|
__register_frame_info; __deregister_frame_info;
|
|
%endif
|
|
}
|
|
GLIBC_2.1 {
|
|
# functions used in other libraries
|
|
_dl_mcount_wrapper; _dl_mcount_wrapper_check;
|
|
}
|
|
GLIBC_2.2.4 {
|
|
dl_iterate_phdr;
|
|
}
|
|
%ifdef EXPORT_UNWIND_FIND_FDE
|
|
GCC_3.0 {
|
|
__register_frame_info_bases; __deregister_frame_info_bases;
|
|
__register_frame_info_table_bases; _Unwind_Find_FDE;
|
|
}
|
|
%endif
|
|
GLIBC_PRIVATE {
|
|
# functions used in other libraries
|
|
_dl_addr;
|
|
_dl_sym; _dl_vsym;
|
|
_dl_open_hook;
|
|
__libc_dlopen_mode; __libc_dlsym; __libc_dlclose;
|
|
}
|
|
}
|
|
|
|
ld {
|
|
GLIBC_2.0 {
|
|
# Function from libc.so which must be shared with libc.
|
|
calloc; free; malloc; realloc; __libc_memalign;
|
|
|
|
_r_debug;
|
|
}
|
|
GLIBC_2.1 {
|
|
# functions used in other libraries
|
|
_dl_mcount;
|
|
# historically used by Garbage Collectors
|
|
__libc_stack_end;
|
|
}
|
|
GLIBC_2.3 {
|
|
# runtime interface to TLS
|
|
__tls_get_addr;
|
|
}
|
|
GLIBC_2.4 {
|
|
# stack canary
|
|
__stack_chk_guard;
|
|
}
|
|
GLIBC_PRIVATE {
|
|
# Those are in the dynamic linker, but used by libc.so.
|
|
__libc_enable_secure;
|
|
_dl_argv;
|
|
_dl_out_of_memory;
|
|
_dl_starting_up;
|
|
_rtld_global; _rtld_global_ro;
|
|
_dl_allocate_tls; _dl_deallocate_tls;
|
|
_dl_get_tls_static_info; _dl_allocate_tls_init;
|
|
_dl_tls_setup; _dl_rtld_di_serinfo;
|
|
_dl_make_stack_executable;
|
|
# Only here for gdb while a better method is developed.
|
|
_dl_debug_state;
|
|
# Pointer protection.
|
|
__pointer_chk_guard;
|
|
}
|
|
}
|