mirror of
https://github.com/RT-Thread/rt-thread.git
synced 2025-10-17 08:03:45 +08:00
[simulator] 修复 linux simulator 编译运行失败
This commit is contained in:

committed by
Man, Jianting (Meco)

parent
0a7b08d00a
commit
22972409d4
@@ -11,6 +11,8 @@ if rtconfig.PLATFORM in ['armcc', 'armclang']:
|
||||
CPPDEFINES += ['__CLK_TCK=RT_TICK_PER_SECOND']
|
||||
elif rtconfig.PLATFORM in ['iccarm']:
|
||||
CPPDEFINES += ['CLOCKS_PER_SEC=RT_TICK_PER_SECOND'] # forcly revert to 1 by IAR
|
||||
elif rtconfig.PLATFORM in ['gcc'] and rtconfig.CPU in ['posix']:
|
||||
CPPDEFINES += ['_GNU_SOURCE'] # linux x86 platform gcc use!
|
||||
|
||||
src += Glob('*.c')
|
||||
|
||||
|
@@ -66,6 +66,7 @@ static const short __spm[13] =
|
||||
rt_align(4) static const char *days = "Sun Mon Tue Wed Thu Fri Sat ";
|
||||
rt_align(4) static const char *months = "Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec ";
|
||||
|
||||
#ifndef __isleap
|
||||
static int __isleap(int year)
|
||||
{
|
||||
/* every fourth year is a leap year except for century years that are
|
||||
@@ -73,6 +74,7 @@ static int __isleap(int year)
|
||||
/* return (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0)); */
|
||||
return (!(year % 4) && ((year % 100) || !(year % 400)));
|
||||
}
|
||||
#endif
|
||||
|
||||
static void num2str(char *c, int i)
|
||||
{
|
||||
|
@@ -48,6 +48,33 @@ struct timezone
|
||||
int tz_dsttime; /* type of dst correction */
|
||||
};
|
||||
|
||||
#if defined(_GNU_SOURCE) && (defined(__x86_64__) || defined(__i386__))
|
||||
/* linux x86 platform gcc use! */
|
||||
#define _TIMEVAL_DEFINED
|
||||
/* Values for the first argument to `getitimer' and `setitimer'. */
|
||||
enum __itimer_which
|
||||
{
|
||||
/* Timers run in real time. */
|
||||
ITIMER_REAL = 0,
|
||||
#define ITIMER_REAL ITIMER_REAL
|
||||
/* Timers run only when the process is executing. */
|
||||
ITIMER_VIRTUAL = 1,
|
||||
#define ITIMER_VIRTUAL ITIMER_VIRTUAL
|
||||
/* Timers run when the process is executing and when
|
||||
the system is executing on behalf of the process. */
|
||||
ITIMER_PROF = 2
|
||||
#define ITIMER_PROF ITIMER_PROF
|
||||
};
|
||||
|
||||
struct itimerval
|
||||
{
|
||||
/* Value to put into `it_value' when the timer expires. */
|
||||
struct timeval it_interval;
|
||||
/* Time to the next timer expiration. */
|
||||
struct timeval it_value;
|
||||
};
|
||||
#endif /* defined(_GNU_SOURCE) && (defined(__x86_64__) || defined(__i386__)) */
|
||||
|
||||
#ifndef _TIMEVAL_DEFINED
|
||||
#define _TIMEVAL_DEFINED
|
||||
struct timeval
|
||||
|
Reference in New Issue
Block a user