From fb3f835089f604bbcb2bec47ba5ed290e7a8a713 Mon Sep 17 00:00:00 2001 From: "Man, Jianting (Meco)" <920369182@qq.com> Date: Sat, 4 Jun 2022 05:02:35 -0400 Subject: [PATCH] [libc] remove strdup from rtthread.h (#6026) add __STDC_LIMIT_MACROS macro in Keil add RT_USING_LIBC in simulator add _DLIB_ADD_EXTRA_SYMBOLS=0 in IAR --- bsp/simulator/drivers/SConscript | 2 +- components/libc/compilers/armlibc/SConscript | 2 +- components/libc/compilers/dlib/SConscript | 2 +- include/rtthread.h | 16 ++-------------- 4 files changed, 5 insertions(+), 17 deletions(-) diff --git a/bsp/simulator/drivers/SConscript b/bsp/simulator/drivers/SConscript index 9db472bec0..d43216fa34 100644 --- a/bsp/simulator/drivers/SConscript +++ b/bsp/simulator/drivers/SConscript @@ -8,7 +8,7 @@ src = ['board.c', 'uart_console.c'] LIBS = [] LIBPATH = [] CPPPATH = [cwd] -CPPDEFINES = [] +CPPDEFINES = ['RT_USING_LIBC'] if rtconfig.CROSS_TOOL == 'msvc': CPPDEFINES += \ diff --git a/components/libc/compilers/armlibc/SConscript b/components/libc/compilers/armlibc/SConscript index d589c79171..ba0d48ae05 100644 --- a/components/libc/compilers/armlibc/SConscript +++ b/components/libc/compilers/armlibc/SConscript @@ -4,7 +4,7 @@ Import('rtconfig') src = Glob('*.c') group = [] -CPPDEFINES = ['RT_USING_ARM_LIBC', 'RT_USING_LIBC'] +CPPDEFINES = ['RT_USING_ARM_LIBC', 'RT_USING_LIBC', '__STDC_LIMIT_MACROS'] if rtconfig.PLATFORM in ['armcc', 'armclang']: group = DefineGroup('Compiler', src, depend = [''], CPPDEFINES = CPPDEFINES) diff --git a/components/libc/compilers/dlib/SConscript b/components/libc/compilers/dlib/SConscript index 6f7b61f000..2de512a03f 100644 --- a/components/libc/compilers/dlib/SConscript +++ b/components/libc/compilers/dlib/SConscript @@ -4,7 +4,7 @@ Import('rtconfig') src = Glob('*.c') group = [] -CPPDEFINES = ['RT_USING_DLIBC', 'RT_USING_LIBC'] +CPPDEFINES = ['RT_USING_DLIBC', 'RT_USING_LIBC', '_DLIB_ADD_EXTRA_SYMBOLS=0'] if rtconfig.PLATFORM == 'iar': if GetDepend('DFS_USING_POSIX'): diff --git a/include/rtthread.h b/include/rtthread.h index 8d4f740e8c..233d9198c6 100644 --- a/include/rtthread.h +++ b/include/rtthread.h @@ -605,7 +605,8 @@ void *rt_memcpy(void *dest, const void *src, rt_ubase_t n); void *rt_memmove(void *dest, const void *src, rt_size_t n); rt_int32_t rt_memcmp(const void *cs, const void *ct, rt_size_t count); #endif /* RT_KSERVICE_USING_STDLIB_MEMORY */ - +char *rt_strdup(const char *s); +rt_size_t rt_strnlen(const char *s, rt_ubase_t maxlen); #ifndef RT_KSERVICE_USING_STDLIB char *rt_strstr(const char *str1, const char *str2); rt_int32_t rt_strcasecmp(const char *a, const char *b); @@ -631,19 +632,6 @@ rt_size_t rt_strlen(const char *src); #define rt_strlen(src) strlen(src) #endif /*RT_KSERVICE_USING_STDLIB*/ -char *rt_strdup(const char *s); - -#if !defined(RT_KSERVICE_USING_STDLIB) || defined(__ARMCC_VERSION) -rt_size_t rt_strnlen(const char *s, rt_ubase_t maxlen); -#else -#define rt_strnlen(s, maxlen) strnlen(s, maxlen) -#endif /* !defined(RT_KSERVICE_USING_STDLIB) || defined(__ARMCC_VERSION) */ - -#ifdef __ARMCC_VERSION -/* MDK doesn't have these APIs */ -rt_size_t strnlen(const char *s, rt_size_t maxlen); -#endif /* __ARMCC_VERSION */ - void rt_show_version(void); #ifdef RT_DEBUG -- GitLab