forked from springcute/rt-thread
remove minilibc
This commit is contained in:
parent
c21f018b4a
commit
b2d3317c6a
|
@ -32,14 +32,6 @@ ALIGN(RT_ALIGN_SIZE)
|
|||
static char finsh_thread_stack[FINSH_THREAD_STACK_SIZE];
|
||||
struct finsh_shell* shell;
|
||||
|
||||
#if !defined (RT_USING_NEWLIB) && !defined (RT_USING_MINILIBC)
|
||||
int strcmp (const char *s1, const char *s2)
|
||||
{
|
||||
while (*s1 && *s1 == *s2) s1++, s2++;
|
||||
|
||||
return (*s1 - *s2);
|
||||
}
|
||||
|
||||
#ifdef RT_USING_HEAP
|
||||
char *strdup(const char *s)
|
||||
{
|
||||
|
|
|
@ -80,10 +80,6 @@
|
|||
/* Using QEMU or SkyEye*/
|
||||
/* #define RT_USING_EMULATOR */
|
||||
|
||||
/* SECTION: a mini libc */
|
||||
/* Using mini libc library*/
|
||||
/* #define RT_USING_MINILIBC */
|
||||
|
||||
/* SECTION: C++ support */
|
||||
/* Using C++ support*/
|
||||
/* #define RT_USING_CPLUSPLUS */
|
||||
|
|
|
@ -93,7 +93,6 @@
|
|||
/* SECTION: a runtime libc library */
|
||||
/* a runtime libc library*/
|
||||
/* #define RT_USING_NEWLIB */
|
||||
#define RT_USING_MINILIBC
|
||||
|
||||
/* SECTION: C++ support */
|
||||
/* Using C++ support*/
|
||||
|
|
|
@ -72,10 +72,6 @@
|
|||
#define FINSH_USING_SYMTAB
|
||||
#define FINSH_USING_DESCRIPTION
|
||||
|
||||
/* SECTION: a mini libc */
|
||||
/* Using mini libc library*/
|
||||
/* #define RT_USING_MINILIBC */
|
||||
|
||||
/* SECTION: C++ support */
|
||||
/* Using C++ support*/
|
||||
/* #define RT_USING_CPLUSPLUS */
|
||||
|
|
|
@ -65,10 +65,6 @@
|
|||
/* Using FinSH as Shell*/
|
||||
/* #define RT_USING_FINSH */
|
||||
|
||||
/* SECTION: a mini libc */
|
||||
/* Using mini libc library*/
|
||||
/* #define RT_USING_MINILIBC */
|
||||
|
||||
/* SECTION: C++ support */
|
||||
/* Using C++ support*/
|
||||
/* #define RT_USING_CPLUSPLUS */
|
||||
|
|
|
@ -47,15 +47,7 @@
|
|||
|
||||
#include <string.h>
|
||||
#include <stdint.h>
|
||||
|
||||
#ifndef RT_USING_MINILIBC
|
||||
typedef unsigned int u_int;
|
||||
typedef unsigned char u_char;
|
||||
typedef unsigned long u_long;
|
||||
#else
|
||||
#include <sys/types.h>
|
||||
#include <stdint.h>
|
||||
#endif
|
||||
|
||||
typedef long long int64_t;
|
||||
typedef unsigned long long uint64_t;
|
||||
|
@ -63,14 +55,6 @@ typedef unsigned long long uint64_t;
|
|||
typedef int bool_t;
|
||||
typedef int enum_t;
|
||||
|
||||
#ifndef RT_USING_NEWLIB
|
||||
typedef unsigned long dev_t;
|
||||
#endif
|
||||
|
||||
#if !defined(RT_USING_NEWLIB) && !defined(RT_USING_MINILIBC)
|
||||
typedef rt_int32_t ssize_t;
|
||||
#endif
|
||||
|
||||
/* This needs to be changed to uint32_t in the future */
|
||||
typedef unsigned long rpcprog_t;
|
||||
typedef unsigned long rpcvers_t;
|
||||
|
|
|
@ -23,4 +23,10 @@ typedef long signed int ssize_t; /* Used for a count of bytes or an error
|
|||
#endif
|
||||
typedef unsigned long useconds_t; /* microseconds (unsigned) */
|
||||
|
||||
typedef unsigned long dev_t;
|
||||
|
||||
typedef unsigned int u_int;
|
||||
typedef unsigned char u_char;
|
||||
typedef unsigned long u_long;
|
||||
|
||||
#endif
|
||||
|
|
|
@ -10,7 +10,7 @@ CPPPATH = [cwd]
|
|||
if GetDepend('RT_USING_LIBC'):
|
||||
src += Glob('*.c')
|
||||
else:
|
||||
if GetDepend('RT_LIBC_USING_TIME') and not GetDepend('RT_USING_MINILIBC'):
|
||||
if GetDepend('RT_LIBC_USING_TIME'):
|
||||
src += ['time.c']
|
||||
|
||||
if GetDepend('RT_USING_POSIX') == False:
|
||||
|
@ -21,7 +21,7 @@ if rtconfig.CROSS_TOOL == 'keil':
|
|||
else:
|
||||
CPPDEFINES = []
|
||||
|
||||
if not GetDepend('RT_USING_MINILIBC') and (GetDepend('RT_USING_LIBC') or GetDepend('RT_LIBC_USING_TIME')):
|
||||
if GetDepend('RT_USING_LIBC') or GetDepend('RT_LIBC_USING_TIME'):
|
||||
group = DefineGroup('libc', src, depend = [''], CPPPATH = CPPPATH, CPPDEFINES = CPPDEFINES)
|
||||
|
||||
Return('group')
|
||||
|
|
|
@ -22,4 +22,10 @@ typedef long signed int ssize_t; /* Used for a count of bytes or an error
|
|||
#endif
|
||||
typedef unsigned long useconds_t; /* microseconds (unsigned) */
|
||||
|
||||
typedef unsigned long dev_t;
|
||||
|
||||
typedef unsigned int u_int;
|
||||
typedef unsigned char u_char;
|
||||
typedef unsigned long u_long;
|
||||
|
||||
#endif
|
||||
|
|
|
@ -1,21 +1,30 @@
|
|||
from building import *
|
||||
Import('rtconfig')
|
||||
|
||||
src = Glob('*.c')
|
||||
src = []
|
||||
cwd = GetCurrentDir()
|
||||
group = []
|
||||
|
||||
CPPPATH = [cwd]
|
||||
CPPDEFINES = ['RT_USING_NEWLIB']
|
||||
|
||||
# link with libc and libm:
|
||||
# libm is a frequently used lib. Newlib is compiled with -ffunction-sections in
|
||||
# recent GCC tool chains. The linker would just link in the functions that have
|
||||
# been referenced. So setting this won't result in bigger text size.
|
||||
LIBS = ['c', 'm']
|
||||
|
||||
if rtconfig.PLATFORM == 'gcc':
|
||||
group = DefineGroup('libc', src, depend = ['RT_USING_LIBC'],
|
||||
CPPPATH = CPPPATH, CPPDEFINES = CPPDEFINES, LIBS = LIBS)
|
||||
if GetDepend('RT_USING_LIBC'):
|
||||
CPPDEFINES = ['RT_USING_NEWLIB']
|
||||
# link with libc and libm:
|
||||
# libm is a frequently used lib. Newlib is compiled with -ffunction-sections in
|
||||
# recent GCC tool chains. The linker would just link in the functions that have
|
||||
# been referenced. So setting this won't result in bigger text size.
|
||||
LIBS = ['c', 'm']
|
||||
|
||||
src += Glob('*.c')
|
||||
SrcRemove(src, ['minilib.c'])
|
||||
if GetDepend('RT_USING_MODULE') == False:
|
||||
SrcRemove(src, ['libc_syms.c'])
|
||||
else:
|
||||
src += ['minilib.c']
|
||||
CPPDEFINES = []
|
||||
LIBS = []
|
||||
|
||||
group = DefineGroup('libc', src, depend = [], CPPPATH = CPPPATH, CPPDEFINES = CPPDEFINES, LIBS = LIBS)
|
||||
|
||||
Return('group')
|
||||
|
|
|
@ -0,0 +1,18 @@
|
|||
/*
|
||||
* Copyright (c) 2006-2018, RT-Thread Development Team
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
* Change Logs:
|
||||
* Date Author Notes
|
||||
* 2021-02-23 Meco Man first version
|
||||
*/
|
||||
|
||||
#include <reent.h>
|
||||
#include <rtthread.h>
|
||||
|
||||
void * _sbrk_r(struct _reent *ptr, ptrdiff_t incr)
|
||||
{
|
||||
/* no use this routine to get memory */
|
||||
return RT_NULL;
|
||||
}
|
|
@ -66,7 +66,7 @@ typedef uintptr_t mem_ptr_t;
|
|||
#endif /* __CC_ARM/__IAR_SYSTEMS_ICC__ */
|
||||
#endif
|
||||
|
||||
#if defined(RT_USING_LIBC) || defined(RT_USING_MINILIBC) || defined(RT_LIBC_USING_TIME) || (defined( __GNUC__ ) && !defined(__ARMCC_VERSION))
|
||||
#if defined(RT_USING_LIBC) || defined(RT_LIBC_USING_TIME) || (defined( __GNUC__ ) && !defined(__ARMCC_VERSION))
|
||||
#include <sys/time.h>
|
||||
#define LWIP_TIMEVAL_PRIVATE 0
|
||||
#else
|
||||
|
|
|
@ -45,7 +45,7 @@
|
|||
#define S32_F "ld"
|
||||
#define X32_F "lx"
|
||||
|
||||
#if defined(RT_USING_LIBC) || defined(RT_USING_MINILIBC) || defined(RT_LIBC_USING_TIME) || (defined( __GNUC__ ) && !defined(__ARMCC_VERSION))
|
||||
#if defined(RT_USING_LIBC) || defined(RT_LIBC_USING_TIME) || (defined( __GNUC__ ) && !defined(__ARMCC_VERSION))
|
||||
#include <sys/time.h>
|
||||
#define LWIP_TIMEVAL_PRIVATE 0
|
||||
#else
|
||||
|
|
|
@ -59,7 +59,7 @@
|
|||
#endif /* __CC_ARM/__IAR_SYSTEMS_ICC__ */
|
||||
#endif /* RT_USING_LIBC */
|
||||
|
||||
#if defined(RT_USING_LIBC) || defined(RT_USING_MINILIBC) || defined(RT_LIBC_USING_TIME) || (defined( __GNUC__ ) && !defined(__ARMCC_VERSION))
|
||||
#if defined(RT_USING_LIBC) || defined(RT_LIBC_USING_TIME) || (defined( __GNUC__ ) && !defined(__ARMCC_VERSION))
|
||||
#include <sys/time.h>
|
||||
#define LWIP_TIMEVAL_PRIVATE 0
|
||||
#else
|
||||
|
|
|
@ -1386,26 +1386,4 @@ void rt_assert_handler(const char *ex_string, const char *func, rt_size_t line)
|
|||
RTM_EXPORT(rt_assert_handler);
|
||||
#endif /* RT_DEBUG */
|
||||
|
||||
#if !defined (RT_USING_NEWLIB) && defined (RT_USING_MINILIBC) && defined (__GNUC__)
|
||||
#include <sys/types.h>
|
||||
void *memcpy(void *dest, const void *src, size_t n) __attribute__((weak, alias("rt_memcpy")));
|
||||
void *memset(void *s, int c, size_t n) __attribute__((weak, alias("rt_memset")));
|
||||
void *memmove(void *dest, const void *src, size_t n) __attribute__((weak, alias("rt_memmove")));
|
||||
int memcmp(const void *s1, const void *s2, size_t n) __attribute__((weak, alias("rt_memcmp")));
|
||||
|
||||
size_t strlen(const char *s) __attribute__((weak, alias("rt_strlen")));
|
||||
char *strstr(const char *s1, const char *s2) __attribute__((weak, alias("rt_strstr")));
|
||||
int strcasecmp(const char *a, const char *b) __attribute__((weak, alias("rt_strcasecmp")));
|
||||
char *strncpy(char *dest, const char *src, size_t n) __attribute__((weak, alias("rt_strncpy")));
|
||||
int strncmp(const char *cs, const char *ct, size_t count) __attribute__((weak, alias("rt_strncmp")));
|
||||
#ifdef RT_USING_HEAP
|
||||
char *strdup(const char *s) __attribute__((weak, alias("rt_strdup")));
|
||||
#endif
|
||||
|
||||
int sprintf(char *buf, const char *format, ...) __attribute__((weak, alias("rt_sprintf")));
|
||||
int snprintf(char *buf, rt_size_t size, const char *fmt, ...) __attribute__((weak, alias("rt_snprintf")));
|
||||
int vsprintf(char *buf, const char *format, va_list arg_ptr) __attribute__((weak, alias("rt_vsprintf")));
|
||||
|
||||
#endif
|
||||
|
||||
/**@}*/
|
||||
|
|
Loading…
Reference in New Issue