Skip to content

Commit 485f1e8

Browse files
committed
[mlibc] support mlibc for rt-smart
1 parent 2c4fb34 commit 485f1e8

File tree

3 files changed

+12
-0
lines changed

3 files changed

+12
-0
lines changed

components/lwp/lwp.c

+2
Original file line numberDiff line numberDiff line change
@@ -576,6 +576,8 @@ pid_t lwp_execve(char *filename, int debug, int argc, char **argv, char **envp)
576576

577577
#ifdef RT_USING_MUSLLIBC
578578
extern char **__environ;
579+
#elif defined(RT_USING_MLIBC)
580+
extern char **__environ;
579581
#else
580582
char **__environ = 0;
581583
#endif

components/lwp/lwp.h

+6
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,12 @@ struct lwp_tty;
8484
#define LWP_CREATE_STAT_SIGNALED(signo, coredump) (((signo) & 0x7f) | (coredump ? LWP_COREDUMP_FLAG : 0))
8585
#define LWP_CREATE_STAT_STOPPED(signo) (LWP_CREATE_STAT_EXIT(signo) | 0x7f)
8686
#define LWP_CREATE_STAT_CONTINUED (0xffff)
87+
#elif defined(RT_USING_MLIBC)
88+
#define LWP_COREDUMP_FLAG 0x80
89+
#define LWP_CREATE_STAT_EXIT(exit_code) (((exit_code)&0xff) << 8)
90+
#define LWP_CREATE_STAT_SIGNALED(signo, coredump) (((signo) & 0x7f) | (coredump ? LWP_COREDUMP_FLAG : 0))
91+
#define LWP_CREATE_STAT_STOPPED(signo) (LWP_CREATE_STAT_EXIT(signo) | 0x7f)
92+
#define LWP_CREATE_STAT_CONTINUED (0xffff)
8793
#else
8894
#error "No compatible lwp set status provided for this libc"
8995
#endif

components/lwp/lwp_user_mm.h

+4
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,10 @@
2222
#include <mm_fault.h>
2323
#include <mm_page.h>
2424

25+
#ifdef RT_USING_MLIBC
26+
#include <sys/mman.h>
27+
#endif
28+
2529
#ifdef __cplusplus
2630
extern "C" {
2731
#endif

0 commit comments

Comments
 (0)