fixed a build issue with an old compiler

This commit is contained in:
hyunghwan.chung 2016-04-30 15:48:08 +00:00
parent c359060bdc
commit 8ea80dae91
2 changed files with 19 additions and 3 deletions

View File

@ -28,7 +28,13 @@
/* TODO: remove this header after having changed clock_gettime() to a /* TODO: remove this header after having changed clock_gettime() to a
* platform independent function */ * platform independent function */
#include <time.h> #if defined(HAVE_TIME_H)
# include <time.h>
#endif
#if defined(HAVE_SYS_TIME_H)
# include <sys/time.h>
#endif
#define PROC_STATE_RUNNING 3 #define PROC_STATE_RUNNING 3
#define PROC_STATE_WAITING 2 #define PROC_STATE_WAITING 2
@ -159,9 +165,19 @@
static STIX_INLINE void vm_gettime (stix_ntime_t* now) static STIX_INLINE void vm_gettime (stix_ntime_t* now)
{ {
#if defined(HAVE_CLOCK_GETTIME)
struct timespec ts; struct timespec ts;
#if defined(CLOCK_MONOTONIC)
clock_gettime (CLOCK_MONOTONIC, &ts); clock_gettime (CLOCK_MONOTONIC, &ts);
#else
clock_gettime (CLOCK_REALTIME, &ts);
#endif
STIX_INITNTIME(now, ts.tv_sec, ts.tv_nsec); STIX_INITNTIME(now, ts.tv_sec, ts.tv_nsec);
#else
struct timeval tv;
gettimeofday (&tv, STIX_NULL);
STIX_INITNTIME(now, tv.tv_sec, STIX_USEC_TO_NSEC(tv.tv_usec));
#endif
} }
static STIX_INLINE void vm_sleep (const stix_ntime_t* dur) static STIX_INLINE void vm_sleep (const stix_ntime_t* dur)

View File

@ -97,8 +97,8 @@
# define STIX_MEMCMP(dst,src,size) memcmp(dst,src,size) # define STIX_MEMCMP(dst,src,size) memcmp(dst,src,size)
# endif # endif
#elif defined(__GNUC__) #elif defined(__GNUC__) && (__GNUC__ >= 3 || (defined(__GNUC_MINOR) && __GNUC__ == 2 && __GNUC_MINOR__ >= 91))
/* TODO: may need to check a gnuc version or use autoconf to check the availibility ? */ /* gcc 2.91 or higher */
# define STIX_MEMSET(dst,src,size) __builtin_memset(dst,src,size) # define STIX_MEMSET(dst,src,size) __builtin_memset(dst,src,size)
# define STIX_MEMCPY(dst,src,size) __builtin_memcpy(dst,src,size) # define STIX_MEMCPY(dst,src,size) __builtin_memcpy(dst,src,size)
# define STIX_MEMMOVE(dst,src,size) __builtin_memmove(dst,src,size) # define STIX_MEMMOVE(dst,src,size) __builtin_memmove(dst,src,size)