--- a/buildrump.sh/buildrump.sh +++ b/buildrump.sh/buildrump.sh @@ -993,6 +993,13 @@ cppdefines _LITTLE_ENDIAN \ && appendvar RUMPKERN_UNDEF -U_LITTLE_ENDIAN ;; + *-gnu*) + RUMPKERN_UNDEF='-U__GNU__' + cppdefines _BIG_ENDIAN \ + && appendvar RUMPKERN_UNDEF -U_BIG_ENDIAN + cppdefines _LITTLE_ENDIAN \ + && appendvar RUMPKERN_UNDEF -U_LITTLE_ENDIAN + ;; *-dragonflybsd) RUMPKERN_UNDEF='-U__DragonFly__' ;; @@ -1064,6 +1071,10 @@ doesitbuild '#include ' -c && RUMP_VIRTIF=yes cppdefines '__ANDROID__' || HIJACK=true ;; + *-gnu*) + EXTRA_RUMPCOMMON='-ldl' + EXTRA_RUMPCLIENT='-lpthread' + ;; *-openbsd*) EXTRA_RUMPCLIENT='-lpthread' ;; --- a/buildrump.sh/src/lib/librumpuser/rumpuser_port.h +++ b/buildrump.sh/src/lib/librumpuser/rumpuser_port.h @@ -63,7 +63,7 @@ #include "rumpuser_config.h" #endif -#ifdef __linux__ +#if defined(__linux__) || defined(__GNU__) || defined(__GLIBC__) #define _GNU_SOURCE #endif --- a/buildrump.sh/src/lib/librumpuser/rumpuser_sp.c +++ b/buildrump.sh/src/lib/librumpuser/rumpuser_sp.c @@ -90,7 +90,7 @@ /* how to use atomic ops on Linux? */ -#if defined(__linux__) || defined(__APPLE__) || defined(__CYGWIN__) || defined(__OpenBSD__) +#if defined(__linux__) || defined(__APPLE__) || defined(__CYGWIN__) || defined(__OpenBSD__) || defined(__GNU__) || defined(__GLIBC__) static pthread_mutex_t discomtx = PTHREAD_MUTEX_INITIALIZER; static void