From de6d7eca5a1fff1a07d6a4803885e45c7028f7c4 Mon Sep 17 00:00:00 2001 From: "Man, Jianting (Meco)" <920369182@qq.com> Date: Fri, 8 Apr 2022 20:46:18 -0400 Subject: [PATCH] [libc] fix the sys/select.h problem (#5790) --- .../common/{extension => }/sys/select.h | 4 +- .../libc/compilers/newlib/legacy/SConscript | 15 ----- .../newlib/legacy/_select/SConscript | 20 ------- .../compilers/newlib/legacy/_select/readme.md | 2 - .../newlib/legacy/_select/sys/select.h | 58 ------------------- 5 files changed, 2 insertions(+), 97 deletions(-) rename components/libc/compilers/common/{extension => }/sys/select.h (94%) delete mode 100644 components/libc/compilers/newlib/legacy/SConscript delete mode 100644 components/libc/compilers/newlib/legacy/_select/SConscript delete mode 100644 components/libc/compilers/newlib/legacy/_select/readme.md delete mode 100644 components/libc/compilers/newlib/legacy/_select/sys/select.h diff --git a/components/libc/compilers/common/extension/sys/select.h b/components/libc/compilers/common/sys/select.h similarity index 94% rename from components/libc/compilers/common/extension/sys/select.h rename to components/libc/compilers/common/sys/select.h index 8afc308fe1..c939429279 100644 --- a/components/libc/compilers/common/extension/sys/select.h +++ b/components/libc/compilers/common/sys/select.h @@ -12,7 +12,7 @@ #ifndef __SYS_SELECT_H__ #define __SYS_SELECT_H__ -#include +#include #include #include @@ -53,7 +53,7 @@ typedef struct _types_fd_set { #define FD_SET(n, p) ((p)->fds_bits[(n)/NFDBITS] |= (1L << ((n) % NFDBITS))) #define FD_CLR(n, p) ((p)->fds_bits[(n)/NFDBITS] &= ~(1L << ((n) % NFDBITS))) #define FD_ISSET(n, p) ((p)->fds_bits[(n)/NFDBITS] & (1L << ((n) % NFDBITS))) -#define FD_ZERO(p) memset((void*)(p), 0, sizeof(*(p))) +#define FD_ZERO(p) rt_memset((void*)(p), 0, sizeof(*(p))) #endif /* _SYS_TYPES_FD_SET */ int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout); diff --git a/components/libc/compilers/newlib/legacy/SConscript b/components/libc/compilers/newlib/legacy/SConscript deleted file mode 100644 index 4c815c49b8..0000000000 --- a/components/libc/compilers/newlib/legacy/SConscript +++ /dev/null @@ -1,15 +0,0 @@ -# RT-Thread building script for bridge - -import os -from building import * - -cwd = GetCurrentDir() -objs = [] -list = os.listdir(cwd) - -for d in list: - path = os.path.join(cwd, d) - if os.path.isfile(os.path.join(path, 'SConscript')): - objs = objs + SConscript(os.path.join(d, 'SConscript')) - -Return('objs') diff --git a/components/libc/compilers/newlib/legacy/_select/SConscript b/components/libc/compilers/newlib/legacy/_select/SConscript deleted file mode 100644 index e783d0493b..0000000000 --- a/components/libc/compilers/newlib/legacy/_select/SConscript +++ /dev/null @@ -1,20 +0,0 @@ -from shutil import copy -from building import * -from gcc import * -Import('rtconfig') - -src = [] -cwd = GetCurrentDir() -CPPPATH = [cwd] -group = [] - -# sys/select.h does not exist in newlib 2.2.0 or lower version -if rtconfig.PLATFORM == 'gcc' and (CheckHeader(rtconfig, 'sys/select.h') == False): - try: - copy("../../../../common/nogcc/sys/select.h", "./sys/select.h") # copy from 'nogcc/sys/select.h' - except: - pass - - group = DefineGroup('Compiler', src, depend = [''], CPPPATH = CPPPATH) - -Return('group') diff --git a/components/libc/compilers/newlib/legacy/_select/readme.md b/components/libc/compilers/newlib/legacy/_select/readme.md deleted file mode 100644 index 4ad9f21923..0000000000 --- a/components/libc/compilers/newlib/legacy/_select/readme.md +++ /dev/null @@ -1,2 +0,0 @@ -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. - diff --git a/components/libc/compilers/newlib/legacy/_select/sys/select.h b/components/libc/compilers/newlib/legacy/_select/sys/select.h deleted file mode 100644 index 02fb77dd89..0000000000 --- a/components/libc/compilers/newlib/legacy/_select/sys/select.h +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Copyright (c) 2006-2021, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2021-07-21 Meco Man The first version - */ - -#ifndef __SYS_SELECT_H__ -#define __SYS_SELECT_H__ - -#include -#include -#include - -#ifdef _WIN32 -#include -#endif - -#ifndef FD_SETSIZE -#define FD_SETSIZE 32 -#endif - -#ifdef SAL_USING_POSIX -#ifdef FD_SETSIZE -#undef FD_SETSIZE -#endif -#define FD_SETSIZE DFS_FD_MAX -#endif /* SAL_USING_POSIX */ - -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 - -typedef struct _types_fd_set { - fd_mask fds_bits[howmany(FD_SETSIZE, NFDBITS)]; -} _types_fd_set; -#define fd_set _types_fd_set - -#define FD_SET(n, p) ((p)->fds_bits[(n)/NFDBITS] |= (1L << ((n) % NFDBITS))) -#define FD_CLR(n, p) ((p)->fds_bits[(n)/NFDBITS] &= ~(1L << ((n) % NFDBITS))) -#define FD_ISSET(n, p) ((p)->fds_bits[(n)/NFDBITS] & (1L << ((n) % NFDBITS))) -#define FD_ZERO(p) memset((void*)(p), 0, sizeof(*(p))) -#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__ */