Source: Void Linux --- a/lisp-kernel/lisp-debug.c +++ b/lisp-kernel/lisp-debug.c @@ -36,6 +36,11 @@ #include #endif +#ifndef __GLIBC__ +struct _libc_xmmreg { + unsigned int element[4]; +}; +#endif FILE *dbgout = NULL, *dbgin=NULL; --- a/lisp-kernel/pmcl-kernel.c +++ b/lisp-kernel/pmcl-kernel.c @@ -36,7 +36,7 @@ #endif #ifdef LINUX -#ifndef ANDROID +#ifdef __GLIBC__ #include #endif #include @@ -1702,6 +1702,10 @@ ensure_gs_available(char *progname) { LispObj fs_addr = 0L, gs_addr = 0L, cur_thread = (LispObj)pthread_self(); + #ifdef __GLIBC__ char *gnu_get_libc_version(void); + #else + #define gnu_get_libc_version() "" + #endif /* * According arch_prctl(2), there's no function prototype for --- a/lisp-kernel/thread_manager.c +++ b/lisp-kernel/thread_manager.c @@ -185,7 +185,7 @@ void set_thread_affinity(TCR *target, unsigned cpuno) { -#ifdef LINUX +#ifdef __GLIBC__ #ifndef ANDROID /* too useful to be in Android ... */ pthread_t thread = (pthread_t)(target->osid); cpu_set_t mask; --- a/lisp-kernel/x86-exceptions.c +++ b/lisp-kernel/x86-exceptions.c @@ -29,7 +29,9 @@ #ifdef LINUX #include #include +#ifdef __GLIBC__ #include +#endif #include #endif #ifdef DARWIN .