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