diff options
| author | Bernard Xiong <[email protected]> | 2021-02-27 09:12:45 +0800 |
|---|---|---|
| committer | GitHub <[email protected]> | 2021-02-27 09:12:45 +0800 |
| commit | 2bf53d315d62bd199c01fd2d6a7f05d1a6712153 (patch) | |
| tree | 33ac8cd4afac62c449384ed20f2af94ab0b90708 /components/libc/compilers/newlib | |
| parent | ff469fee305ebef65dff99d6bc7b2eb8f18544eb (diff) | |
| parent | 6ee0d45644649eccea4edf89967f5eeca413478f (diff) | |
Merge pull request #4369 from mysterywolf/removeminilibc
[libc]移除minilibc 并将其职能并入newlibc中
Diffstat (limited to 'components/libc/compilers/newlib')
| -rw-r--r-- | components/libc/compilers/newlib/SConscript | 29 | ||||
| -rw-r--r-- | components/libc/compilers/newlib/minilib.c | 18 |
2 files changed, 37 insertions, 10 deletions
diff --git a/components/libc/compilers/newlib/SConscript b/components/libc/compilers/newlib/SConscript index d0868bbdea..b1ad6e4784 100644 --- a/components/libc/compilers/newlib/SConscript +++ b/components/libc/compilers/newlib/SConscript @@ -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') diff --git a/components/libc/compilers/newlib/minilib.c b/components/libc/compilers/newlib/minilib.c new file mode 100644 index 0000000000..2d07eabe5a --- /dev/null +++ b/components/libc/compilers/newlib/minilib.c @@ -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; +} |
