9dcafc5597
* sysdeps/generic/libc-start.c: Don't register program destructor here. * dlfcn/Makefile: Add rules to build dlfcn.c. (LDFLAGS-dl.so): Removed. * dlfcn/dlclose.c: _dl_close is now in ld.so, use function pointer table. * dlfcn/dlmopen.c: Likewise for _dl_open. * dlfcn/dlopen.c: Likewise. * dlfcn/dlopenold.c: Likewise. * elf/dl-libc.c: Likewise for _dl_open and _dl_close. * elf/Makefile (routines): Remove dl-open and dl-close. (dl-routines): Add dl-open, dl-close, and dl-trampoline. Add rules to build and run tst-audit1. * elf/tst-audit1.c: New file. * elf/tst-auditmod1.c: New file. * elf/Versions [libc]: Remove _dl_open and _dl_close. * elf/dl-close.c: Change for use inside ld.so instead of libc.so. * elf/dl-open.c: Likewise. * elf/dl-debug.c (_dl_debug_initialize): Allow reinitialization, signaled by nonzero parameter. * elf/dl-init.c: Fix use of r_state. * elf/dl-load.c: Likewise. * elf/dl-close.c: Add auditing checkpoints. * elf/dl-open.c: Likewise. * elf/dl-fini.c: Likewise. * elf/dl-load.c: Likewise. * elf/dl-sym.c: Likewise. * sysdeps/generic/libc-start.c: Likewise. * elf/dl-object.c: Allocate memory for auditing information. * elf/dl-reloc.c: Remove RESOLV. We now always need the map. Correctly initialize slotinfo. * elf/dynamic-link.h: Adjust after removal of RESOLV. * sysdeps/hppa/dl-lookupcfg.h: Likewise. * sysdeps/ia64/dl-lookupcfg.h: Likewise. * sysdeps/powerpc/powerpc64/dl-lookupcfg.h: Removed. * elf/dl-runtime.c (_dl_fixup): Little cleanup. (_dl_profile_fixup): New parameters to point to register struct and variable for frame size. Add auditing checkpoints. (_dl_call_pltexit): New function. Don't define trampoline code here. * elf/rtld.c: Recognize LD_AUDIT. Load modules on startup. Remove all the functions from _rtld_global_ro which only _dl_open and _dl_close needed. Add auditing checkpoints. * elf/link.h: Define symbols for auditing interfaces. * include/link.h: Likewise. * include/dlfcn.h: Define __RTLD_AUDIT. Remove prototypes for _dl_open and _dl_close. Adjust access to argc and argv in libdl. * dlfcn/dlfcn.c: New file. * sysdeps/generic/dl-lookupcfg.h: Remove all content now that RESOLVE is gone. * sysdeps/generic/ldsodefs.h: Add definitions for auditing interfaces. * sysdeps/generic/unsecvars.h: Add LD_AUDIT. * sysdeps/i386/dl-machine.h: Remove trampoline code here. Adjust for removal of RESOLVE. * sysdeps/x86_64/dl-machine.h: Likewise. * sysdeps/generic/dl-trampoline.c: New file. * sysdeps/i386/dl-trampoline.c: New file. * sysdeps/x86_64/dl-trampoline.c: New file. * sysdeps/generic/dl-tls.c: Cleanups. Fixup for dtv_t change. Fix updating of DTV. * sysdeps/generic/libc-tls.c: Likewise. * sysdeps/arm/bits/link.h: Renamed to ... * sysdeps/arm/buts/linkmap.h: ...this. * sysdeps/generic/bits/link.h: Renamed to... * sysdeps/generic/bits/linkmap.h: ...this. * sysdeps/hppa/bits/link.h: Renamed to... * sysdeps/hppa/bits/linkmap.h: ...this. * sysdeps/hppa/i386/link.h: Renamed to... * sysdeps/hppa/i386/linkmap.h: ...this. * sysdeps/hppa/ia64/link.h: Renamed to... * sysdeps/hppa/ia64/linkmap.h: ...this. * sysdeps/hppa/s390/link.h: Renamed to... * sysdeps/hppa/s390/linkmap.h: ...this. * sysdeps/hppa/sh/link.h: Renamed to... * sysdeps/hppa/sh/linkmap.h: ...this. * sysdeps/hppa/x86_64/link.h: Renamed to... * sysdeps/hppa/x86_64/linkmap.h: ...this. 2005-01-06 Ulrich Drepper <drepper@redhat.com> * allocatestack.c (init_one_static_tls): Adjust initialization of DTV entry for static tls deallocation fix. * sysdeps/alpha/tls.h (dtv_t): Change pointer type to be struct which also contains information whether the memory pointed to is static TLS or not. * sysdeps/i386/tls.h: Likewise. * sysdeps/ia64/tls.h: Likewise. * sysdeps/powerpc/tls.h: Likewise. * sysdeps/s390/tls.h: Likewise. * sysdeps/sh/tls.h: Likewise. * sysdeps/sparc/tls.h: Likewise. * sysdeps/x86_64/tls.h: Likewise.
61 lines
1.4 KiB
Plaintext
61 lines
1.4 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_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;
|
|
}
|
|
}
|