diff --git a/src/Kconfig b/src/Kconfig index e31afc25fae7c13a361b7c9a178b8f155981e22e..f6db1c0cea5fc2e309f8241f96a8a72ec9d4e282 100644 --- a/src/Kconfig +++ b/src/Kconfig @@ -139,6 +139,10 @@ config RT_USING_ASM_MEMCPY bool default n +config RT_USING_ASM_MEMSET + bool + default n + endmenu menuconfig RT_DEBUG diff --git a/src/kservice.c b/src/kservice.c index 4ed30f323751187bc7dffb61eccb5429fe4a3e02..79bb115c192a8359a94cb5f78a9b1157e1a09e13 100644 --- a/src/kservice.c +++ b/src/kservice.c @@ -115,6 +115,7 @@ int *_rt_errno(void) } RTM_EXPORT(_rt_errno); +#ifndef RT_USING_ASM_MEMSET /** * This function will set the content of memory to specified value. * @@ -127,7 +128,7 @@ RTM_EXPORT(_rt_errno); * * @return The address of source memory. */ -RT_WEAK void *rt_memset(void *s, int c, rt_ubase_t count) +void *rt_memset(void *s, int c, rt_ubase_t count) { #ifdef RT_KSERVICE_USING_TINY_SIZE char *xs = (char *)s; @@ -200,6 +201,7 @@ RT_WEAK void *rt_memset(void *s, int c, rt_ubase_t count) #endif /* RT_KSERVICE_USING_TINY_SIZE */ } RTM_EXPORT(rt_memset); +#endif /* RT_USING_ASM_MEMSET */ #ifndef RT_USING_ASM_MEMCPY /** @@ -338,7 +340,7 @@ RTM_EXPORT(rt_memmove); * If the result > 0, cs is greater than ct. * If the result = 0, cs is equal to ct. */ -RT_WEAK rt_int32_t rt_memcmp(const void *cs, const void *ct, rt_ubase_t count) +rt_int32_t rt_memcmp(const void *cs, const void *ct, rt_ubase_t count) { const unsigned char *su1, *su2; int res = 0; @@ -842,7 +844,7 @@ static char *print_number(char *buf, * * @return The number of characters actually written to buffer. */ -rt_int32_t rt_vsnprintf(char *buf, +RT_WEAK rt_int32_t rt_vsnprintf(char *buf, rt_size_t size, const char *fmt, va_list args)