aboutsummaryrefslogtreecommitdiff
blob: f529ee9d8e1c803471dd80f150c43bd55e4e688a (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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
libc {
  GLIBC_2.0 {
    # functions with special/multiple interfaces
    __bsd_getpgrp; __setpgid; __getpgid;

    # functions with required interface outside normal name space
    _exit;

    # functions used in other libraries
    __sched_get_priority_max; __sched_get_priority_min;
    __sched_getparam; __sched_getscheduler; __sched_setscheduler;
    __sched_yield; __fork; __getpid; __wait;

    # functions used by libstdc++ 2.7.2
    __waitpid;

    # global variables
    __environ; _environ;

    # variables in normal name space
    environ; optarg; opterr; optind; optopt;
    re_max_failures; re_syntax_options;

    # a*
    alarm;

    # c*
    confstr;

    # e*
    execl; execle; execlp; execv; execve; execvp; fexecve;

    # f*
    fnmatch; fork; fpathconf; freeaddrinfo;

    # g*
    getaddrinfo; getdtablesize; getegid; geteuid; getgid; getopt; getopt_long;
    getopt_long_only; getpgid; getpgrp; getpid; getppid; getsid; getuid; glob;
    glob_pattern_p; globfree; group_member;

    # n*
    nanosleep;

    # p*
    pathconf; pause; pselect;

    # r*
    re_comp; re_compile_fastmap; re_compile_pattern; re_exec; re_match;
    re_match_2; re_search; re_search_2; re_set_registers; re_set_syntax;
    regcomp; regerror; regexec; regfree;

    # s*
    sched_get_priority_max; sched_get_priority_min; sched_getparam;
    sched_getscheduler; sched_rr_get_interval; sched_setparam;
    sched_setscheduler; sched_yield; setegid; seteuid; setgid; setlogin;
    setpgid; setpgrp; setsid; setuid; sleep; sysconf;

    # t*
    times;

    # u*
    uname;

    # v*
    vfork;

    # w*
    wait; wait3; wait4; waitpid;
  }
  GLIBC_2.1 {
    # functions used in other libraries
    __pread64; __pwrite64;

    # g*
    gai_strerror; getnameinfo; glob64; globfree64;

    # p*
    pread; pread64; pwrite; pwrite64;

    # w*
    waitid; wordexp; wordfree;
  }
  GLIBC_2.1.2 {
    # functions used in other libraries
    __vfork;
  }
  GLIBC_2.2 {
    # p*
    posix_spawn_file_actions_init; posix_spawn_file_actions_destroy;
    posix_spawn_file_actions_addclose; posix_spawn_file_actions_addopen;
    posix_spawn_file_actions_adddup2;
    posix_spawnattr_init; posix_spawnattr_destroy;
    posix_spawnattr_getsigdefault; posix_spawnattr_setsigdefault;
    posix_spawnattr_getflags; posix_spawnattr_setflags;
    posix_spawnattr_getpgroup; posix_spawnattr_setpgroup;
    posix_spawnattr_setsigmask; posix_spawnattr_getsigmask;
    posix_spawn; posix_spawnp; posix_spawnattr_getschedpolicy;
    posix_spawnattr_setschedpolicy; posix_spawnattr_getschedparam;
    posix_spawnattr_setschedparam;

    # Used in macros.
    __sysconf;
  }
  GLIBC_2.2.3 {
    # Extended Interface.
    fnmatch;
  }
  GLIBC_2.2.6 {
    # For syscall wrapper
    __nanosleep;
  }
  GLIBC_2.3.2 {
    # Note that these symbols appear in sysdeps/unix/sysv/linux/Versions
    # under GLIBC_2.0; the first instance in the script is taken as the
    # default, so linux configurations put them in GLIBC_2.0 while other
    # configuration put them in GLIBC_2.3.2.
    getresuid; getresgid; setresuid; setresgid;
  }
  GLIBC_2.3.3 {
    sched_getaffinity; sched_setaffinity;
  }
  GLIBC_2.3.4 {
    regexec;
  }
  GLIBC_PRIVATE {
    __libc_fork; __libc_pwrite;
  }
}