3 This code was written as part of the CMU Common Lisp project at
4 Carnegie Mellon University, and has been placed in the public domain.
7 /* Routines that must be linked into the core for lisp to work. */
11 #if !defined(SUNOS) && !defined(SOLARIS)
21 #if !(defined(irix) || defined(SOLARIS))
22 /* XXXfixme next line probably wrong; was previous behavior */
27 #include "undefineds.h"
30 exit; /* just a random function known to exist */
32 #if defined(SOLARIS) || defined(irix)
35 int errno; /* hack to be sure works with newer libc without having to redump */
37 /* causes libc to be relocated to match cmucl rather than vice
44 #include "undefineds.h"
47 errno; /* a random variable known to exist */
50 reference_random_symbols(void)
54 #if defined(SOLARIS) && defined(__GNUC__)
56 * For some reason, gcc 3.0 still deletes function calls here, even
57 * with -O0. I don't know why. So, we don't define the functions
58 * here, but define them in the table below.
65 #include "undefineds.h"
71 #if defined(SOLARIS) && defined(__GNUC__)
73 * If we reference the functions here, gcc 3.0 will leave them in the
74 * object file. However, don't try to put the data symbols here. It
75 * will cause CMUCL to crash doing a get_timezone.
78 func *reference_random_symbols_table[] = {
81 #include "undefineds.h"
84 exit /* a random function known to exist */
91 extern char *tzname[];
96 func *reference_random_symbols[] = {
98 /* XXXfixme next line is probably wrong but was previous behavior */
100 #include "undefineds.h"
103 exit /* a random function known to exist */