
1: libc { 2: GLIBC_2.0 { 3: %ifdef EXPORT_UNWIND_FIND_FDE 4: __register_frame_info; __deregister_frame_info; 5: %endif 6: } 7: GLIBC_2.1 { 8: # functions used in other libraries 9: _dl_mcount_wrapper; _dl_mcount_wrapper_check; 10: } 11: GLIBC_2.2.4 { 12: dl_iterate_phdr; 13: } 14: %ifdef EXPORT_UNWIND_FIND_FDE 15: GCC_3.0 { 16: __register_frame_info_bases; __deregister_frame_info_bases; 17: __register_frame_info_table_bases; _Unwind_Find_FDE; 18: } 19: %endif 20: GLIBC_PRIVATE { 21: # functions used in other libraries 22: _dl_addr; 23: _dl_sym; _dl_vsym; 24: _dl_open_hook; 25: __libc_dlopen_mode; __libc_dlsym; __libc_dlclose; 26: } 27: } 28: 29: ld { 30: GLIBC_2.0 { 31: # Function from libc.so which must be shared with libc. 32: calloc; free; malloc; realloc; __libc_memalign; 33: 34: _r_debug; 35: } 36: GLIBC_2.1 { 37: # functions used in other libraries 38: _dl_mcount; 39: # historically used by Garbage Collectors 40: __libc_stack_end; 41: } 42: GLIBC_2.3 { 43: # runtime interface to TLS 44: __tls_get_addr; 45: } 46: GLIBC_2.4 { 47: # stack canary 48: __stack_chk_guard; 49: } 50: GLIBC_PRIVATE { 51: # Those are in the dynamic linker, but used by libc.so. 52: __libc_enable_secure; 53: _dl_argv; 54: _dl_out_of_memory; 55: _dl_starting_up; 56: _rtld_global; _rtld_global_ro; 57: _dl_allocate_tls; _dl_deallocate_tls; 58: _dl_get_tls_static_info; _dl_allocate_tls_init; 59: _dl_tls_setup; _dl_rtld_di_serinfo; 60: _dl_tls_get_addr_soft; 61: _dl_make_stack_executable; 62: # Only here for gdb while a better method is developed. 63: _dl_debug_state; 64: # Pointer protection. 65: __pointer_chk_guard; 66: } 67: }