libc { GLIBC_2.0 { # functions used in other libraries _dl_open; _dl_close; _dl_addr; %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 { # this is defined in ld.so and overridden by libc _dl_init_first; # functions used in other libraries _dl_sym; _dl_vsym; } 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 } ld { GLIBC_2.0 { # global variables _dl_debug_fd; # Those are in the dynamic linker, but used by libc.so. __libc_enable_secure; _dl_catch_error; _dl_check_all_versions; _dl_debug_initialize; _dl_debug_state; _dl_default_scope; _dl_global_scope_end; _dl_lookup_symbol; _dl_map_object; _dl_map_object_deps; _dl_object_relocation_scope; _dl_relocate_object; _dl_signal_error; _dl_starting_up; _dl_sysdep_start; _r_debug; _dl_global_scope; _dl_lookup_symbol_skip; _dl_lookup_versioned_symbol; _dl_lookup_versioned_symbol_skip; # Function from libc.so which must be shared with libc. calloc; free; malloc; realloc; } GLIBC_2.1 { # global variables _dl_profile; _dl_profile_map; _dl_profile_output; _dl_start_profile; _dl_loaded; _dl_main_searchlist; _dl_fpu_control; _dl_initial_searchlist; _dl_global_scope_alloc; __libc_stack_end; # functions used in other libraries _dl_mcount; _dl_unload_cache; } GLIBC_2.1.1 { # global variables _dl_lazy; _dl_origin_path; _dl_platformlen; # functions used in other libraries _dl_dst_count; _dl_dst_substitute; } GLIBC_2.2 { _dl_init; _dl_load_lock; _dl_argv; _dl_nloaded; _dl_check_map_versions; # this is defined in ld.so and overridden by libc _dl_init_first; # variables used elsewhere _dl_out_of_memory; _dl_all_dirs; _dl_init_all_dirs; _dl_clktck; _dl_pagesize; } GLIBC_2.2.3 { _dl_debug_mask; _dl_debug_printf; } }