Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
ihbai
rt-thread
提交
29b73ecb
R
rt-thread
项目概览
ihbai
/
rt-thread
与 Fork 源项目一致
Fork自
RT-Thread / rt-thread
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
rt-thread
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
29b73ecb
编写于
12月 22, 2021
作者:
mysterywolf
提交者:
Bernard Xiong
12月 29, 2021
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[newlib] 处理newlib版本不一致导致的问题
上级
78fa23be
变更
8
隐藏空白更改
内联
并排
Showing
8 changed file
with
46 addition
and
12 deletion
+46
-12
components/libc/compilers/common/nogcc/sys/select.h
components/libc/compilers/common/nogcc/sys/select.h
+3
-3
components/libc/compilers/gcc/newlib/SConscript
components/libc/compilers/gcc/newlib/SConscript
+12
-0
components/libc/compilers/gcc/newlib/legacy/SConscript
components/libc/compilers/gcc/newlib/legacy/SConscript
+0
-0
components/libc/compilers/gcc/newlib/legacy/_select/SConscript
...nents/libc/compilers/gcc/newlib/legacy/_select/SConscript
+20
-0
components/libc/compilers/gcc/newlib/legacy/_select/readme.md
...onents/libc/compilers/gcc/newlib/legacy/_select/readme.md
+2
-0
components/libc/compilers/gcc/newlib/legacy/_select/sys/select.h
...nts/libc/compilers/gcc/newlib/legacy/_select/sys/select.h
+9
-3
components/libc/compilers/gcc/partial/mips/readme.md
components/libc/compilers/gcc/partial/mips/readme.md
+0
-4
components/libc/compilers/gcc/partial/readme.md
components/libc/compilers/gcc/partial/readme.md
+0
-2
未找到文件。
components/libc/compilers/common/nogcc/sys/select.h
浏览文件 @
29b73ecb
...
...
@@ -6,6 +6,7 @@
* Change Logs:
* Date Author Notes
* 2021-07-21 Meco Man The first version
* 2021-12-25 Meco Man Handle newlib 2.2.0 or lower version
*/
#ifndef __SYS_SELECT_H__
...
...
@@ -33,13 +34,12 @@
typedef
long
fd_mask
;
#ifndef _WIN32
#ifndef _SYS_TYPES_FD_SET
/* MIPS */
#ifndef _SYS_TYPES_FD_SET
/* Newlib 2.2.0 or lower version */
#define NBBY 8
/* number of bits in a byte */
#define NFDBITS (sizeof (fd_mask) * NBBY)
/* bits per mask */
#ifndef howmany
#define howmany(x,y) (((x)+((y)-1))/(y))
#endif
#endif
/* howmany */
typedef
struct
_types_fd_set
{
fd_mask
fds_bits
[
howmany
(
FD_SETSIZE
,
NFDBITS
)];
...
...
components/libc/compilers/gcc/newlib/SConscript
浏览文件 @
29b73ecb
import
os
from
building
import
*
from
gcc
import
*
Import
(
'rtconfig'
)
src
=
[]
...
...
@@ -14,9 +16,19 @@ if rtconfig.PLATFORM == 'gcc':
else
:
src
+=
[
'syscalls.c'
]
#report newlib version
print
(
'Newlib version:'
+
GetNewLibVersion
(
rtconfig
))
# identify this is Newlib, and only enable POSIX.1-1990
CPPDEFINES
=
[
'RT_USING_NEWLIB'
,
'_POSIX_C_SOURCE=1'
]
group
=
DefineGroup
(
'libc'
,
src
,
depend
=
[],
CPPPATH
=
CPPPATH
,
CPPDEFINES
=
CPPDEFINES
,
LIBS
=
LIBS
)
list
=
os
.
listdir
(
cwd
)
for
d
in
list
:
path
=
os
.
path
.
join
(
cwd
,
d
)
if
os
.
path
.
isfile
(
os
.
path
.
join
(
path
,
'SConscript'
)):
group
=
group
+
SConscript
(
os
.
path
.
join
(
d
,
'SConscript'
))
Return
(
'group'
)
components/libc/compilers/gcc/
partial
/SConscript
→
components/libc/compilers/gcc/
newlib/legacy
/SConscript
浏览文件 @
29b73ecb
文件已移动
components/libc/compilers/gcc/
partial/mips
/SConscript
→
components/libc/compilers/gcc/
newlib/legacy/_select
/SConscript
浏览文件 @
29b73ecb
from
shutil
import
copy
from
building
import
*
from
gcc
import
*
Import
(
'rtconfig'
)
src
=
[]
...
...
@@ -8,10 +8,10 @@ cwd = GetCurrentDir()
CPPPATH
=
[
cwd
]
group
=
[]
if
rtconfig
.
PLATFORM
==
'gcc'
and
(
'mips'
in
rtconfig
.
PREFIX
):
# identify mips gcc tool chain
# sys/select.h does not exist in newlib 2.1.0 or lower version
if
rtconfig
.
PLATFORM
==
'gcc'
and
(
CheckHeader
(
rtconfig
,
'sys/select.h'
)
==
False
):
try
:
# There is no 'sys/select.h' in tthe mips gcc toolchain; it will be copied from 'nogcc/sys/select.h'
copy
(
"../../../common/nogcc/sys/select.h"
,
"./sys/select.h"
)
copy
(
"../../../../common/nogcc/sys/select.h"
,
"./sys/select.h"
)
# copy from 'nogcc/sys/select.h'
except
:
pass
...
...
components/libc/compilers/gcc/newlib/legacy/_select/readme.md
0 → 100644
浏览文件 @
29b73ecb
Newlib 2.2.0 or lower version does not provide
`sys/select.h`
, and
`fd_set`
is defined in
`sys/types.h`
. It will be generated by scons automatically, and
**DO NOT**
change it.
components/libc/compilers/gcc/
partial/mips
/sys/select.h
→
components/libc/compilers/gcc/
newlib/legacy/_select
/sys/select.h
浏览文件 @
29b73ecb
...
...
@@ -15,6 +15,10 @@
#include <sys/types.h>
#include <sys/time.h>
#ifdef _WIN32
#include <winsock.h>
#endif
#ifndef FD_SETSIZE
#define FD_SETSIZE 32
#endif
...
...
@@ -26,16 +30,17 @@
#define FD_SETSIZE DFS_FD_MAX
#endif
/* SAL_USING_POSIX */
#define NBBY 8
/* number of bits in a byte */
typedef
long
fd_mask
;
#ifndef _WIN32
#ifndef _SYS_TYPES_FD_SET
/* MIPS */
#define NBBY 8
/* number of bits in a byte */
#define NFDBITS (sizeof (fd_mask) * NBBY)
/* bits per mask */
#ifndef howmany
#define howmany(x,y) (((x)+((y)-1))/(y))
#endif
#ifndef _SYS_TYPES_FD_SET
/* MIPS */
typedef
struct
_types_fd_set
{
fd_mask
fds_bits
[
howmany
(
FD_SETSIZE
,
NFDBITS
)];
}
_types_fd_set
;
...
...
@@ -48,5 +53,6 @@ typedef struct _types_fd_set {
#endif
/* _SYS_TYPES_FD_SET */
int
select
(
int
nfds
,
fd_set
*
readfds
,
fd_set
*
writefds
,
fd_set
*
exceptfds
,
struct
timeval
*
timeout
);
#endif
/* _WIN32 */
#endif
/* __SYS_SELECT_H__ */
components/libc/compilers/gcc/partial/mips/readme.md
已删除
100644 → 0
浏览文件 @
78fa23be
These files don't exist in the mips gcc toolchain. They will be generated by scons automatically , and
**DO NOT**
change them:
-
sys/select.h
components/libc/compilers/gcc/partial/readme.md
已删除
100644 → 0
浏览文件 @
78fa23be
This folder is for some particular targets.
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录