glibc/elf/Versions
Ulrich Drepper 827b70873b * elf/Versions [GLIBC_PRIVATE]: Export __pointer_chk_guard if defined.
* 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.
2005-12-18 06:58:22 +00:00

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;
}
}