Fix inline fixnum LDB on PowerPC for certain bytespecs
[sbcl.git] / src / runtime / undefineds.h
1 /*
2  * routines that must be linked into the core for Lisp to work
3  *
4  * but note this is only the BSD version, as per the FIXME
5  *
6  * FIXME: It's tedious and error-prone having to edit both this file and
7  * the analogous ldso-stubs.S file when we change the references to
8  * functions, enough so that it would probably be good to rewrite
9  * both files in terms of a shared list of function names.
10  * E.g. the function names could be in shared-function-names.h
11  *   SHARED_FUNCTION(cos)
12  *   SHARED_FUNCTION(sinh)
13  *   SHARED_FUNCTION(strlen)
14  * etc. and the per-OS files could look like
15  *   #define SHARED_FUNCTION(f) ....
16  *   #include "shared-function-names.h"
17  *   ...then going on to do OS-specific things
18  * "Once and only once."
19  */
20
21 /*
22  * This software is part of the SBCL system. See the README file for
23  * more information.
24  *
25  * This software is derived from the CMU CL system, which was
26  * written at Carnegie Mellon University and released into the
27  * public domain. The software is in the public domain and is
28  * provided with absolutely no warranty. See the COPYING and CREDITS
29  * files for more information.
30  */
31
32 /* Pick up all the syscalls. */
33 F(accept)
34 F(access)
35 F(acct)
36 F(bind)
37 F(brk)
38 #if defined(hpux) \
39      || defined(SVR4) \
40      || defined(__FreeBSD__) \
41      || defined(__OpenBSD__) \
42      || defined(__NetBSD__)
43 F(cfgetospeed)
44 F(cfsetospeed)
45 F(cfgetispeed)
46 F(cfsetispeed)
47 #endif
48 F(chdir)
49 F(chmod)
50 F(chown)
51 F(chroot)
52 F(close)
53 F(connect)
54 F(creat)
55 F(dup)
56 F(dup2)
57 F(execve)
58 F(exit)
59 F(_exit)
60 F(fchmod)
61 F(fchown)
62 F(fcntl)
63 #if !defined(hpux) && !defined(SVR4)
64 F(flock)
65 #endif
66 F(fork)
67 F(fstat)
68 F(fsync)
69 F(ftruncate)
70 #if !defined(hpux) && !defined(SVR4) || defined(SOLARIS25) || defined(irix)
71 F(getdtablesize)
72 #endif
73 F(getegid)
74 F(geteuid)
75 F(getgid)
76 F(getgroups)
77 F(gethostname)
78 F(getitimer)
79 #if !defined(hpux) && !defined(SVR4) || defined(SOLARIS25)
80 F(getpagesize)
81 #endif
82 F(getpeername)
83 F(getpgrp)
84 F(getpid)
85 F(getppid)
86 #if !defined(SVR4)  ||  defined(SOLARIS25)
87 F(getpriority)
88 #endif
89 F(getrlimit)
90 #if !defined(SOLARIS) ||  defined(SOLARIS25)
91 F(getrusage)
92 #endif
93 F(getsockname)
94 F(getsockopt)
95 F(gettimeofday)
96 F(getuid)
97 F(ioctl)
98 F(kill)
99 #if !defined(SOLARIS) || defined(SOLARIS25)
100 F(killpg)
101 #endif
102 F(link)
103 F(listen)
104 F(lseek)
105 F(lstat)
106 F(mkdir)
107 F(mknod)
108 F(mmap)
109 F(mount)
110 F(munmap)
111 F(open)
112 F(pipe)
113 F(profil)
114 F(ptrace)
115 #ifdef mach
116 F(quota)
117 #endif
118 F(read)
119 F(readlink)
120 F(readv)
121 #ifndef SVR4
122 F(reboot)
123 #endif
124 F(recv)
125 F(recvfrom)
126 F(recvmsg)
127 F(rename)
128 F(rmdir)
129 F(sbrk)
130 F(select)
131 F(send)
132 F(sendmsg)
133 F(sendto)
134 F(setgroups)
135 #if !defined(SUNOS) && !(defined(SOLARIS) ||  defined(SOLARIS25))
136 F(sethostid)
137 #endif
138 #if !defined(SVR4) ||  defined(SOLARIS25)
139 F(sethostname)
140 #endif
141 F(setitimer)
142 F(setpgrp)
143 F(setsid)
144 #if !defined(SVR4) ||  defined(SOLARIS25)
145 F(setpriority)
146 #endif
147 F(setrlimit)
148 F(setsockopt)
149 F(settimeofday)
150 F(shutdown)
151 #if !defined(hpux) && !defined(SVR4) && !defined(LISP_FEATURE_X86)
152 F(sigreturn)
153 #endif
154 #if !defined(SVR4)
155 F(sigsetmask)
156 #endif
157 #if !defined(SVR4) && !defined(__FreeBSD__) && !defined(__OpenBSD__) && !defined(__NetBSD__)
158 F(sigstack)
159 F(sigvec)
160 #endif
161 F(socket)
162 F(socketpair)
163 F(stat)
164 #if !defined(SVR4) && !defined(__OpenBSD__)
165 F(swapon)
166 #endif
167 F(symlink)
168 F(sync)
169 F(syscall)
170 #if defined(hpux) || defined(SVR4) || defined(__linux__)
171 F(closedir)
172 F(opendir)
173 #if defined(readdir)
174 #undef reddir
175 #endif
176 F(readdir)
177 #endif
178 #if defined(hpux) \
179      || defined(SVR4) \
180      || defined(__FreeBSD__) \
181      || defined(__OpenBSD__) \
182      || defined(__NetBSD__) \
183      || defined(__linux__)
184 F(tcgetattr)
185 F(tcsetattr)
186 F(tcsendbreak)
187 F(tcdrain)
188 F(tcflush)
189 F(tcflow)
190 #endif
191 #if defined(SOLARIS)
192 F(times)
193 #endif
194 F(truncate)
195 F(umask)
196 #if !defined(SUNOS) \
197      && !defined(parisc) \
198      && !defined(SOLARIS) \
199      && !defined(__OpenBSD__) \
200      && !defined(__FreeBSD__) \
201      && !defined(__NetBSD__)
202 F(umount)
203 #endif
204 F(unlink)
205 #ifndef hpux
206 F(utimes)
207 #endif
208 #ifndef irix
209 F(vfork)
210 #endif
211 #if !defined(osf1) && !defined(__FreeBSD__) && !defined(__OpenBSD__) && !defined(__NetBSD__)
212 F(vhangup)
213 #endif
214 F(wait)
215 F(waitpid)
216 #if !defined(SOLARIS) ||  defined(SOLARIS25)
217 F(wait3)
218 #endif
219 F(write)
220 F(writev)
221
222 /* math routines */
223 F(cos)
224 F(sin)
225 F(tan)
226 F(acos)
227 F(asin)
228 F(atan)
229 F(atan2)
230 F(sinh)
231 F(cosh)
232 F(tanh)
233 F(asinh)
234 F(acosh)
235 F(atanh)
236 F(exp)
237 #ifndef hpux
238 F(expm1)
239 #endif
240 F(log)
241 F(log10)
242 #ifndef hpux
243 F(log1p)
244 #endif
245 F(pow)
246 #ifndef hpux
247 F(cbrt)
248 #endif
249 #ifndef LISP_FEATURE_X86
250 F(sqrt)
251 #endif
252 F(hypot)
253
254 /* string things */
255 F(strlen)
256
257 /* network support */
258 F(gethostbyname)
259 F(gethostbyaddr)
260
261 /* other miscellaneous things */
262 /* FIXME: NetBSD plays some renaming games, and so cannot simply
263    reference symbols here.  "NetBSD needs to get fixed here too PEM
264    2004-03-27" */
265 #if defined(SVR4) || defined(__FreeBSD__)
266 F(setpgid)
267 F(getpgid)
268 D(timezone)
269 #if !defined(__FreeBSD__)
270 D(altzone)
271 D(daylight)
272 #endif
273 D(tzname)
274 #endif
275 F(getcwd)
276 F(ttyname)
277
278 #ifdef irix
279 F(_getpty)
280 #endif
281
282 F(dlopen)
283 F(dlsym)
284 F(dlclose)
285 F(dlerror)