Browse Source

[Kernel] Add strdup for armcc

Bernard Xiong 6 years ago
parent
commit
6964d623aa
2 changed files with 7 additions and 0 deletions
  1. 4 0
      include/rtthread.h
  2. 3 0
      src/kservice.c

+ 4 - 0
include/rtthread.h

@@ -549,6 +549,10 @@ rt_int32_t rt_strncmp(const char *cs, const char *ct, rt_ubase_t count);
 rt_int32_t rt_strcmp(const char *cs, const char *ct);
 rt_size_t rt_strlen(const char *src);
 char *rt_strdup(const char *s);
+#ifdef __CC_ARM
+/* leak strdup interface */
+char* strdup(const char* str);
+#endif
 
 char *rt_strstr(const char *str1, const char *str2);
 rt_int32_t rt_sscanf(const char *buf, const char *fmt, ...);

+ 3 - 0
src/kservice.c

@@ -531,6 +531,9 @@ char *rt_strdup(const char *s)
     return tmp;
 }
 RTM_EXPORT(rt_strdup);
+#ifdef __CC_ARM
+char *strdup(const char *s) __attribute__((alias("rt_strdup")));
+#endif
 #endif
 
 /**