Skip to content

Commit c4681df

Browse files
cseriildiitislu
andcommitted
[include-cleaner] Add POSIX symbol mappings
Add POSIX symbol-to-header mappings (e.g., `timeval`, `strsignal`, `signal`, `errno`) in new dedicated mapping files to avoid mixing with standard library mappings. Closes several related issues: #64336, #76567, #89844, #120830, #134818. Co-authored-by: itislu <[email protected]>
1 parent 7468718 commit c4681df

File tree

3 files changed

+817
-0
lines changed

3 files changed

+817
-0
lines changed
Lines changed: 347 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,347 @@
1+
//===-- CPosixSymbolMap.inc ---------------------------------------*- C -*-===//
2+
//
3+
// This is a hand-curated list for C POSIX symbols that cannot be
4+
// parsed/extracted via the include-mapping tool (gen_std.py).
5+
//
6+
//===----------------------------------------------------------------------===//
7+
8+
// clang-format off
9+
// prevent breaking <sys/types.h> -> <sys / types.h>
10+
11+
// errno.h
12+
SYMBOL(E2BIG, None, <errno.h>)
13+
SYMBOL(EACCES, None, <errno.h>)
14+
SYMBOL(EADDRINUSE, None, <errno.h>)
15+
SYMBOL(EADDRNOTAVAIL, None, <errno.h>)
16+
SYMBOL(EAFNOSUPPORT, None, <errno.h>)
17+
SYMBOL(EAGAIN, None, <errno.h>)
18+
SYMBOL(EALREADY, None, <errno.h>)
19+
SYMBOL(EBADE, None, <errno.h>)
20+
SYMBOL(EBADF, None, <errno.h>)
21+
SYMBOL(EBADFD, None, <errno.h>)
22+
SYMBOL(EBADMSG, None, <errno.h>)
23+
SYMBOL(EBADR, None, <errno.h>)
24+
SYMBOL(EBADRQC, None, <errno.h>)
25+
SYMBOL(EBADSLT, None, <errno.h>)
26+
SYMBOL(EBUSY, None, <errno.h>)
27+
SYMBOL(ECANCELED, None, <errno.h>)
28+
SYMBOL(ECHILD, None, <errno.h>)
29+
SYMBOL(ECHRNG, None, <errno.h>)
30+
SYMBOL(ECOMM, None, <errno.h>)
31+
SYMBOL(ECONNABORTED, None, <errno.h>)
32+
SYMBOL(ECONNREFUSED, None, <errno.h>)
33+
SYMBOL(ECONNRESET, None, <errno.h>)
34+
SYMBOL(EDEADLK, None, <errno.h>)
35+
SYMBOL(EDEADLOCK, None, <errno.h>)
36+
SYMBOL(EDESTADDRREQ, None, <errno.h>)
37+
SYMBOL(EDQUOT, None, <errno.h>)
38+
SYMBOL(EEXIST, None, <errno.h>)
39+
SYMBOL(EFAULT, None, <errno.h>)
40+
SYMBOL(EFBIG, None, <errno.h>)
41+
SYMBOL(EHOSTDOWN, None, <errno.h>)
42+
SYMBOL(EHOSTUNREACH, None, <errno.h>)
43+
SYMBOL(EHWPOISON, None, <errno.h>)
44+
SYMBOL(EIDRM, None, <errno.h>)
45+
SYMBOL(EINPROGRESS, None, <errno.h>)
46+
SYMBOL(EINTR, None, <errno.h>)
47+
SYMBOL(EINVAL, None, <errno.h>)
48+
SYMBOL(EIO, None, <errno.h>)
49+
SYMBOL(EISCONN, None, <errno.h>)
50+
SYMBOL(EISDIR, None, <errno.h>)
51+
SYMBOL(EISNAM, None, <errno.h>)
52+
SYMBOL(EKEYEXPIRED, None, <errno.h>)
53+
SYMBOL(EKEYREJECTED, None, <errno.h>)
54+
SYMBOL(EKEYREVOKED, None, <errno.h>)
55+
SYMBOL(EL2HLT, None, <errno.h>)
56+
SYMBOL(EL2NSYNC, None, <errno.h>)
57+
SYMBOL(EL3HLT, None, <errno.h>)
58+
SYMBOL(EL3RST, None, <errno.h>)
59+
SYMBOL(ELIBACC, None, <errno.h>)
60+
SYMBOL(ELIBBAD, None, <errno.h>)
61+
SYMBOL(ELIBMAX, None, <errno.h>)
62+
SYMBOL(ELIBSCN, None, <errno.h>)
63+
SYMBOL(ELIBEXEC, None, <errno.h>)
64+
SYMBOL(ELNRNG, None, <errno.h>)
65+
SYMBOL(ELOOP, None, <errno.h>)
66+
SYMBOL(EMEDIUMTYPE, None, <errno.h>)
67+
SYMBOL(EMFILE, None, <errno.h>)
68+
SYMBOL(EMLINK, None, <errno.h>)
69+
SYMBOL(EMSGSIZE, None, <errno.h>)
70+
SYMBOL(EMULTIHOP, None, <errno.h>)
71+
SYMBOL(ENAMETOOLONG, None, <errno.h>)
72+
SYMBOL(ENETDOWN, None, <errno.h>)
73+
SYMBOL(ENETRESET, None, <errno.h>)
74+
SYMBOL(ENETUNREACH, None, <errno.h>)
75+
SYMBOL(ENFILE, None, <errno.h>)
76+
SYMBOL(ENOANO, None, <errno.h>)
77+
SYMBOL(ENOBUFS, None, <errno.h>)
78+
SYMBOL(ENODATA, None, <errno.h>)
79+
SYMBOL(ENODEV, None, <errno.h>)
80+
SYMBOL(ENOENT, None, <errno.h>)
81+
SYMBOL(ENOEXEC, None, <errno.h>)
82+
SYMBOL(ENOKEY, None, <errno.h>)
83+
SYMBOL(ENOLCK, None, <errno.h>)
84+
SYMBOL(ENOLINK, None, <errno.h>)
85+
SYMBOL(ENOMEDIUM, None, <errno.h>)
86+
SYMBOL(ENOMEM, None, <errno.h>)
87+
SYMBOL(ENOMSG, None, <errno.h>)
88+
SYMBOL(ENONET, None, <errno.h>)
89+
SYMBOL(ENOPKG, None, <errno.h>)
90+
SYMBOL(ENOPROTOOPT, None, <errno.h>)
91+
SYMBOL(ENOSPC, None, <errno.h>)
92+
SYMBOL(ENOSR, None, <errno.h>)
93+
SYMBOL(ENOSTR, None, <errno.h>)
94+
SYMBOL(ENOSYS, None, <errno.h>)
95+
SYMBOL(ENOTBLK, None, <errno.h>)
96+
SYMBOL(ENOTCONN, None, <errno.h>)
97+
SYMBOL(ENOTDIR, None, <errno.h>)
98+
SYMBOL(ENOTEMPTY, None, <errno.h>)
99+
SYMBOL(ENOTRECOVERABLE, None, <errno.h>)
100+
SYMBOL(ENOTSOCK, None, <errno.h>)
101+
SYMBOL(ENOTSUP, None, <errno.h>)
102+
SYMBOL(ENOTTY, None, <errno.h>)
103+
SYMBOL(ENOTUNIQ, None, <errno.h>)
104+
SYMBOL(ENXIO, None, <errno.h>)
105+
SYMBOL(EOPNOTSUPP, None, <errno.h>)
106+
SYMBOL(EOVERFLOW, None, <errno.h>)
107+
SYMBOL(EOWNERDEAD, None, <errno.h>)
108+
SYMBOL(EPERM, None, <errno.h>)
109+
SYMBOL(EPFNOSUPPORT, None, <errno.h>)
110+
SYMBOL(EPIPE, None, <errno.h>)
111+
SYMBOL(EPROTO, None, <errno.h>)
112+
SYMBOL(EPROTONOSUPPORT, None, <errno.h>)
113+
SYMBOL(EPROTOTYPE, None, <errno.h>)
114+
SYMBOL(EREMCHG, None, <errno.h>)
115+
SYMBOL(EREMOTE, None, <errno.h>)
116+
SYMBOL(EREMOTEIO, None, <errno.h>)
117+
SYMBOL(ERESTART, None, <errno.h>)
118+
SYMBOL(ERFKILL, None, <errno.h>)
119+
SYMBOL(EROFS, None, <errno.h>)
120+
SYMBOL(ESHUTDOWN, None, <errno.h>)
121+
SYMBOL(ESPIPE, None, <errno.h>)
122+
SYMBOL(ESOCKTNOSUPPORT, None, <errno.h>)
123+
SYMBOL(ESRCH, None, <errno.h>)
124+
SYMBOL(ESTALE, None, <errno.h>)
125+
SYMBOL(ESTRPIPE, None, <errno.h>)
126+
SYMBOL(ETIME, None, <errno.h>)
127+
SYMBOL(ETIMEDOUT, None, <errno.h>)
128+
SYMBOL(ETOOMANYREFS, None, <errno.h>)
129+
SYMBOL(ETXTBSY, None, <errno.h>)
130+
SYMBOL(EUCLEAN, None, <errno.h>)
131+
SYMBOL(EUNATCH, None, <errno.h>)
132+
SYMBOL(EUSERS, None, <errno.h>)
133+
SYMBOL(EWOULDBLOCK, None, <errno.h>)
134+
SYMBOL(EXDEV, None, <errno.h>)
135+
SYMBOL(EXFULL, None, <errno.h>)
136+
137+
// limits.h
138+
SYMBOL(SSIZE_MAX, None, <limits.h>)
139+
140+
// pthread.h
141+
SYMBOL(pthread_attr_t, None, <pthread.h>)
142+
SYMBOL(pthread_attr_t, None, <sys/types.h>)
143+
SYMBOL(pthread_attr_t, None, <signal.h>)
144+
SYMBOL(pthread_barrier_t, None, <pthread.h>)
145+
SYMBOL(pthread_barrier_t, None, <sys/types.h>)
146+
SYMBOL(pthread_barrierattr_t, None, <pthread.h>)
147+
SYMBOL(pthread_barrierattr_t, None, <sys/types.h>)
148+
SYMBOL(pthread_cond_t, None, <pthread.h>)
149+
SYMBOL(pthread_cond_t, None, <sys/types.h>)
150+
SYMBOL(pthread_condattr_t, None, <pthread.h>)
151+
SYMBOL(pthread_condattr_t, None, <sys/types.h>)
152+
SYMBOL(pthread_key_t, None, <pthread.h>)
153+
SYMBOL(pthread_key_t, None, <sys/types.h>)
154+
SYMBOL(pthread_mutex_t, None, <pthread.h>)
155+
SYMBOL(pthread_mutex_t, None, <sys/types.h>)
156+
SYMBOL(pthread_mutexattr_t, None, <pthread.h>)
157+
SYMBOL(pthread_mutexattr_t, None, <sys/types.h>)
158+
SYMBOL(pthread_once_t, None, <pthread.h>)
159+
SYMBOL(pthread_once_t, None, <sys/types.h>)
160+
SYMBOL(pthread_rwlock_t, None, <pthread.h>)
161+
SYMBOL(pthread_rwlock_t, None, <sys/types.h>)
162+
SYMBOL(pthread_rwlockattr_t, None, <pthread.h>)
163+
SYMBOL(pthread_rwlockattr_t, None, <sys/types.h>)
164+
SYMBOL(pthread_spinlock_t, None, <pthread.h>)
165+
SYMBOL(pthread_spinlock_t, None, <sys/types.h>)
166+
SYMBOL(pthread_t, None, <pthread.h>)
167+
SYMBOL(pthread_t, None, <signal.h>)
168+
SYMBOL(pthread_t, None, <sys/types.h>)
169+
170+
// signal.h - as of POSIX.1-2024
171+
// https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/signal.h.html
172+
SYMBOL(sigset_t, None, <signal.h>)
173+
SYMBOL(sigevent, None, <signal.h>)
174+
SYMBOL(SIGEV_NONE, None, <signal.h>)
175+
SYMBOL(SIGEV_SIGNAL, None, <signal.h>)
176+
SYMBOL(SIGEV_THREAD, None, <signal.h>)
177+
SYMBOL(sigval, None, <signal.h>)
178+
SYMBOL(SIGRTMIN, None, <signal.h>)
179+
SYMBOL(SIGRTMAX, None, <signal.h>)
180+
SYMBOL(SIG2STR_MAX, None, <signal.h>)
181+
// The ISO C standard only requires the signal names SIGABRT, SIGFPE, SIGILL,
182+
// SIGINT, SIGSEGV, and SIGTERM to be defined. Those are picked up by the
183+
// script.
184+
SYMBOL(SIGALRM, None, <signal.h>)
185+
SYMBOL(SIGBUS, None, <signal.h>)
186+
SYMBOL(SIGCHLD, None, <signal.h>)
187+
SYMBOL(SIGCONT, None, <signal.h>)
188+
SYMBOL(SIGHUP, None, <signal.h>)
189+
SYMBOL(SIGKILL, None, <signal.h>)
190+
SYMBOL(SIGPIPE, None, <signal.h>)
191+
SYMBOL(SIGQUIT, None, <signal.h>)
192+
SYMBOL(SIGSTOP, None, <signal.h>)
193+
SYMBOL(SIGTSTP, None, <signal.h>)
194+
SYMBOL(SIGTTIN, None, <signal.h>)
195+
SYMBOL(SIGTTOU, None, <signal.h>)
196+
SYMBOL(SIGUSR1, None, <signal.h>)
197+
SYMBOL(SIGUSR2, None, <signal.h>)
198+
SYMBOL(SIGWINCH, None, <signal.h>)
199+
SYMBOL(SIGSYS, None, <signal.h>)
200+
SYMBOL(SIGTRAP, None, <signal.h>)
201+
SYMBOL(SIGURG, None, <signal.h>)
202+
SYMBOL(SIGVTALRM, None, <signal.h>)
203+
SYMBOL(SIGXCPU, None, <signal.h>)
204+
SYMBOL(SIGXFSZ, None, <signal.h>)
205+
SYMBOL(SIG_BLOCK, None, <signal.h>)
206+
SYMBOL(SIG_UNBLOCK, None, <signal.h>)
207+
SYMBOL(SIG_SETMASK, None, <signal.h>)
208+
SYMBOL(SA_NOCLDSTOP, None, <signal.h>)
209+
SYMBOL(SA_ONSTACK, None, <signal.h>)
210+
SYMBOL(SA_RESETHAND, None, <signal.h>)
211+
SYMBOL(SA_RESTART, None, <signal.h>)
212+
SYMBOL(SA_SIGINFO, None, <signal.h>)
213+
SYMBOL(SA_NOCLDWAIT, None, <signal.h>)
214+
SYMBOL(SA_NODEFER, None, <signal.h>)
215+
SYMBOL(SS_ONSTACK, None, <signal.h>)
216+
SYMBOL(SS_DISABLE, None, <signal.h>)
217+
SYMBOL(MINSIGSTKSZ, None, <signal.h>)
218+
SYMBOL(SIGSTKSZ, None, <signal.h>)
219+
SYMBOL(mcontext_t, None, <signal.h>)
220+
SYMBOL(ucontext_t, None, <signal.h>)
221+
SYMBOL(stack_t, None, <signal.h>)
222+
SYMBOL(siginfo_t, None, <signal.h>)
223+
SYMBOL(ILL_ILLOPC, None, <signal.h>)
224+
SYMBOL(ILL_ILLOPN, None, <signal.h>)
225+
SYMBOL(ILL_ILLADR, None, <signal.h>)
226+
SYMBOL(ILL_ILLTRP, None, <signal.h>)
227+
SYMBOL(ILL_PRVOPC, None, <signal.h>)
228+
SYMBOL(ILL_PRVREG, None, <signal.h>)
229+
SYMBOL(ILL_COPROC, None, <signal.h>)
230+
SYMBOL(ILL_BADSTK, None, <signal.h>)
231+
SYMBOL(FPE_INTDIV, None, <signal.h>)
232+
SYMBOL(FPE_INTOVF, None, <signal.h>)
233+
SYMBOL(FPE_FLTDIV, None, <signal.h>)
234+
SYMBOL(FPE_FLTOVF, None, <signal.h>)
235+
SYMBOL(FPE_FLTUND, None, <signal.h>)
236+
SYMBOL(FPE_FLTRES, None, <signal.h>)
237+
SYMBOL(FPE_FLTINV, None, <signal.h>)
238+
SYMBOL(FPE_FLTSUB, None, <signal.h>)
239+
SYMBOL(SEGV_MAPERR, None, <signal.h>)
240+
SYMBOL(SEGV_ACCERR, None, <signal.h>)
241+
SYMBOL(BUS_ADRALN, None, <signal.h>)
242+
SYMBOL(BUS_ADRERR, None, <signal.h>)
243+
SYMBOL(BUS_OBJERR, None, <signal.h>)
244+
SYMBOL(TRAP_BRKPT, None, <signal.h>)
245+
SYMBOL(TRAP_TRACE, None, <signal.h>)
246+
SYMBOL(CLD_EXITED, None, <signal.h>)
247+
SYMBOL(CLD_KILLED, None, <signal.h>)
248+
SYMBOL(CLD_DUMPED, None, <signal.h>)
249+
SYMBOL(CLD_TRAPPED, None, <signal.h>)
250+
SYMBOL(CLD_STOPPED, None, <signal.h>)
251+
SYMBOL(CLD_CONTINUED, None, <signal.h>)
252+
SYMBOL(SI_USER, None, <signal.h>)
253+
SYMBOL(SI_QUEUE, None, <signal.h>)
254+
SYMBOL(SI_TIMER, None, <signal.h>)
255+
SYMBOL(SI_ASYNCIO, None, <signal.h>)
256+
SYMBOL(SI_MESGQ, None, <signal.h>)
257+
SYMBOL(kill, None, <signal.h>)
258+
SYMBOL(killpg, None, <signal.h>)
259+
SYMBOL(psiginfo, None, <signal.h>)
260+
SYMBOL(psignal, None, <signal.h>)
261+
SYMBOL(pthread_kill, None, <signal.h>)
262+
SYMBOL(pthread_sigmask, None, <signal.h>)
263+
SYMBOL(sigaction, None, <signal.h>)
264+
SYMBOL(sigaddset, None, <signal.h>)
265+
SYMBOL(sigaltstack, None, <signal.h>)
266+
SYMBOL(sigdelset, None, <signal.h>)
267+
SYMBOL(sigemptyset, None, <signal.h>)
268+
SYMBOL(sigfillset, None, <signal.h>)
269+
SYMBOL(sighold, None, <signal.h>)
270+
SYMBOL(sigignore, None, <signal.h>)
271+
SYMBOL(siginterrupt, None, <signal.h>)
272+
SYMBOL(sigismember, None, <signal.h>)
273+
SYMBOL(sigpause, None, <signal.h>)
274+
SYMBOL(sigpending, None, <signal.h>)
275+
SYMBOL(sigprocmask, None, <signal.h>)
276+
SYMBOL(sigqueue, None, <signal.h>)
277+
SYMBOL(sigrelse, None, <signal.h>)
278+
SYMBOL(sigset, None, <signal.h>)
279+
SYMBOL(sigsuspend, None, <signal.h>)
280+
SYMBOL(sigtimedwait, None, <signal.h>)
281+
SYMBOL(sigwait, None, <signal.h>)
282+
SYMBOL(sigwaitinfo, None, <signal.h>)
283+
// Not in POSIX.1-2024 anymore
284+
SYMBOL(SIG_HOLD, None, <signal.h>)
285+
SYMBOL(sigstack, None, <signal.h>)
286+
SYMBOL(bsd_signal, None, <signal.h>)
287+
SYMBOL(sigmask, None, <signal.h>)
288+
SYMBOL(SIGPOLL, None, <signal.h>)
289+
SYMBOL(SIGPROF, None, <signal.h>)
290+
SYMBOL(POLL_IN, None, <signal.h>)
291+
SYMBOL(POLL_OUT, None, <signal.h>)
292+
SYMBOL(POLL_MSG, None, <signal.h>)
293+
SYMBOL(POLL_ERR, None, <signal.h>)
294+
SYMBOL(POLL_PRI, None, <signal.h>)
295+
SYMBOL(POLL_HUP, None, <signal.h>)
296+
297+
// sys/time.h
298+
SYMBOL(timeval, None, <sys/time.h>)
299+
SYMBOL(timeval, None, <sys/select.h>)
300+
301+
// sys/types.h
302+
SYMBOL(gid_t, None, <sys/types.h>)
303+
SYMBOL(gid_t, None, <grp.h>)
304+
SYMBOL(gid_t, None, <pwd.h>)
305+
SYMBOL(gid_t, None, <signal.h>)
306+
SYMBOL(gid_t, None, <stropts.h>)
307+
SYMBOL(gid_t, None, <sys/ipc.h>)
308+
SYMBOL(gid_t, None, <sys/stat.h>)
309+
SYMBOL(gid_t, None, <unistd.h>)
310+
SYMBOL(id_t, None, <sys/types.h>)
311+
SYMBOL(id_t, None, <sys/resource.h>)
312+
SYMBOL(pid_t, None, <sys/types.h>)
313+
SYMBOL(pid_t, None, <fcntl.h>)
314+
SYMBOL(pid_t, None, <sched.h>)
315+
SYMBOL(pid_t, None, <signal.h>)
316+
SYMBOL(pid_t, None, <spawn.h>)
317+
SYMBOL(pid_t, None, <sys/msg.h>)
318+
SYMBOL(pid_t, None, <sys/sem.h>)
319+
SYMBOL(pid_t, None, <sys/shm.h>)
320+
SYMBOL(pid_t, None, <sys/wait.h>)
321+
SYMBOL(pid_t, None, <termios.h>)
322+
SYMBOL(pid_t, None, <time.h>)
323+
SYMBOL(pid_t, None, <unistd.h>)
324+
SYMBOL(pid_t, None, <utmpx.h>)
325+
SYMBOL(uid_t, None, <sys/types.h>)
326+
SYMBOL(uid_t, None, <pwd.h>)
327+
SYMBOL(uid_t, None, <signal.h>)
328+
SYMBOL(uid_t, None, <stropts.h>)
329+
SYMBOL(uid_t, None, <sys/ipc.h>)
330+
SYMBOL(uid_t, None, <sys/stat.h>)
331+
SYMBOL(uid_t, None, <unistd.h>)
332+
333+
// sys/wait.h
334+
SYMBOL(idtype_t, None, <sys/wait.h>)
335+
336+
// time.h
337+
SYMBOL(clockid_t, None, <time.h>)
338+
SYMBOL(clockid_t, None, <sys/types.h>)
339+
SYMBOL(timer_t, None, <time.h>)
340+
SYMBOL(timer_t, None, <sys/types.h>)
341+
SYMBOL(CLOCK_MONOTONIC, None, <time.h>)
342+
SYMBOL(CLOCK_PROCESS_CPUTIME_ID, None, <time.h>)
343+
SYMBOL(CLOCK_REALTIME, None, <time.h>)
344+
SYMBOL(CLOCK_THREAD_CPUTIME_ID, None, <time.h>)
345+
SYMBOL(TIMER_ABSTIME, None, <time.h>)
346+
347+
// clang-format on

0 commit comments

Comments
 (0)