-double ldso_stub__atanh(double x)
-{
- return atanh(x);
-}
-
-
-int ldso_stub__chdir(const char *path)
-{
- return chdir(path);
-}
-
-int ldso_stub__close(int d)
-{
- return close(d);
-}
-
-int ldso_stub__closedir(DIR *dirp)
-{
- return closedir(dirp);
-}
-
-double ldso_stub__cosh(double x)
-{
- return cosh(x);
-}
-
-void ldso_stub__exit(int status)
-{
- exit(status);
-}
-
-void ldso_stub__free(void *ptr)
-{
- free(ptr);
-}
-
-int ldso_stub__fstat(int fd, struct stat *sb)
-{
- return fstat(fd, sb);
-}
-
-int ldso_stub__fsync(int fd)
-{
- return fsync(fd);
-}
-
-char *ldso_stub__getenv(const char *name)
-{
- return getenv(name);
-}
-
-int ldso_stub__gethostname(char *name, int namelen)
-{
- return gethostname(name, namelen);
-}
-
-pid_t ldso_stub__getpid(void)
-{
- return getpid();
-}
-
-int ldso_stub__getrusage(int who, struct rusage *rusage)
-{
- return getrusage(who, rusage);
-}
-
-int ldso_stub__gettimeofday(struct timeval *tp, struct timezone *tzp)
-{
- return gettimeofday(tp, tzp);
-}
-
-uid_t ldso_stub__getuid(void)
-{
- return getuid();
-}
-
-char *ldso_stub__getwd(char *buf)
-{
- return getwd(buf);
-}
-
-double ldso_stub__hypot(double x, double y)
-{
- return hypot(x, y);
+ if (!gencgc_handle_wp_violation(fault_addr))
+ if(!handle_guard_page_triggered(context,fault_addr)) {
+#ifdef LISP_FEATURE_C_STACK_IS_CONTROL_STACK
+ lisp_memory_fault_error(context, fault_addr);
+#else
+ if (!interrupt_maybe_gc_int(signal, siginfo, context)) {
+ interrupt_handle_now(signal, siginfo, context);
+ }
+#if defined(LISP_FEATURE_DARWIN)
+ /* Work around G5 bug; fix courtesy gbyers */
+ DARWIN_FIX_CONTEXT(context);
+#endif
+#endif
+ }