aboutsummaryrefslogtreecommitdiff
path: root/elf/Versions
blob: 01b7a59d5e2cd75638c95b0e5b47a206f81edfab (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
libc {
  GLIBC_2.0 {
%ifdef EXPORT_UNWIND_FIND_FDE
    __deregister_frame_info; __register_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 {
    __deregister_frame_info_bases; __register_frame_info_bases;
    __register_frame_info_table_bases; _Unwind_Find_FDE;
  }
%endif
  GLIBC_PRIVATE {
    # functions used in other libraries
    _dl_addr;
    _dl_open_hook;
    _dl_sym; _dl_vsym;
    __libc_dlclose; __libc_dlopen_mode; __libc_dlsym;
  }
}

ld {
  GLIBC_2.0 {
    # Function from libc.so which must be shared with libc.
    __libc_memalign; calloc; free; malloc; realloc;

    _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_allocate_tls; _dl_allocate_tls_init;
    _dl_argv; _dl_find_dso_for_object; _dl_get_tls_static_info;
    _dl_deallocate_tls; _dl_make_stack_executable; _dl_out_of_memory;
    _dl_clear_dtv;
    _dl_rtld_di_serinfo; _dl_starting_up; _dl_tls_setup;
    _rtld_global; _rtld_global_ro;

    # Only here for gdb while a better method is developed.
    _dl_debug_state;

    # Pointer protection.
    __pointer_chk_guard;
  }
}