dongjiuzhu1
7b2371f0ed
libc/localtime: fix timegm return error when tz with isdst
...
testcase:
set TZ CEST
time_t t = time(NULL);
struct tm *ts = localtime(&t);
t = timegm(ts);
t will return (time_t)-1;
Signed-off-by: dongjiuzhu1 <dongjiuzhu1@xiaomi.com>
2022-10-19 10:27:52 +08:00
Jiuzhu Dong
1b9ed5725b
libc/time: Return failed when lock is already held to avoid deadlock
...
when enable LIBC_LOCALTIME and SYSLOG_TIMESTAMP_LOCALTIME
and zoneinfo/posixrulesi isn't exist
[ EMERG] [ap] backtrace:
[ EMERG] [ap] [20] [<0xc1cc3c4>] arm_switchcontext+0xc/0x10
[ EMERG] [ap] [20] [<0xc1ac67a>] sem_wait+0x5a/0xc0
[ EMERG] [ap] [20] [<0xc1c4588>] tzset.part.0+0x8/0x160
[ EMERG] [ap] [20] [<0xc1c58de>] localtime_r+0xc6/0x114
[ EMERG] [ap] [20] [<0xc1a910a>] clock_gettime+0x16/0xa8
[ EMERG] [ap] [20] [<0xc1b7622>] nx_vsyslog+0x9e/0xc0
[ EMERG] [ap] [20] [<0xc4ba7e0>] romfs_stat+0xa4/0xf4
[ EMERG] [ap] [20] [<0xc4b47bc>] inode_semtake+0x24/0x5c
[ EMERG] [ap] [20] [<0xc1c0102>] bsearch+0x26/0x6c
[ EMERG] [ap] [20] [<0xc1c265a>] vsyslog+0x16/0x24
[ EMERG] [ap] [20] [<0xc1c2676>] syslog+0xe/0x1c
[ EMERG] [ap] [20] [<0xc4bae12>] romfs_open+0xee/0x178 <--- err log
[ EMERG] [ap] [20] [<0xc4b68ae>] file_vopen+0x116/0x144
[ EMERG] [ap] [20] [<0xc4b6ac8>] open+0x20/0x60
[ EMERG] [ap] [20] [<0xc1c3df4>] tzload+0x84/0x810
[ EMERG] [ap] [20] [<0xc1c6ef4>] mm_zalloc+0x10/0x18
[ EMERG] [ap] [20] [<0xc4bb426>] romfs_checkmount+0x22/0x58
[ EMERG] [ap] [20] [<0xc4bad74>] romfs_open+0x50/0x178
[ EMERG] [ap] [20] [<0xc1c392c>] tzparse+0x2c/0x470
[ EMERG] [ap] [20] [<0xc1ac5da>] nxsem_wait_uninterruptible+0x8a/0xd0
[ EMERG] [ap] [20] [<0xc1ac690>] sem_wait+0x70/0xc0
[ EMERG] [ap] [20] [<0xc4b47bc>] inode_semtake+0x24/0x5c
[ EMERG] [ap] [20] [<0xc4b481c>] inode_semgive+0x28/0x58
[ EMERG] [ap] [20] [<0xc4b58b4>] file_close+0x18/0x44
[ EMERG] [ap] [20] [<0xc4b4690>] close+0x80/0xb4
[ EMERG] [ap] [20] [<0xc1c43f4>] tzload+0x684/0x810
[ EMERG] [ap] [20] [<0xc1c4616>] tzset.part.0+0x96/0x160
[ EMERG] [ap] [20] [<0xc1c58de>] localtime_r+0xc6/0x114
[ EMERG] [ap] [20] [<0xc1a910a>] clock_gettime+0x16/0xa8
[ EMERG] [ap] [20] [<0xc1ea692>] cmd_date+0x276/0x37c
Signed-off-by: dongjiuzhu1 <dongjiuzhu1@xiaomi.com>
2022-10-19 10:27:52 +08:00
wangbowen6
8b84d19771
lib_localtime: gmtime_r should get right time in OS init process
...
Enable CONFIG_LIBC_LOCALTIME,CONFIG_RTC and CONFIG_SCHED_TICKLESS
In os clock init process, clock_initialize() --> ... -->
sim_rtc_rdtime() --> gmtime_r() --> gmtsub() --> return NULL
get the error rtctime.
Signed-off-by: wangbowen6 <wangbowen6@xiaomi.com>
2022-10-19 10:27:52 +08:00
Jiuzhu Dong
0bff62e3e8
libc/time: don't take semaphore in idle task
...
Signed-off-by: dongjiuzhu1 <dongjiuzhu1@xiaomi.com>
2022-10-19 10:27:52 +08:00
Fotis Panagiotopoulos
ca9aeeec1f
freopen: Added flush of the read buffers.
2022-10-18 23:29:55 +08:00
Fotis Panagiotopoulos
10d6de46e6
libfread: Fixed error flag when reading a write-only file.
2022-10-18 21:29:14 +08:00
Xiang Xiao
6b31918b42
Remove the unnecessary cast for main_t, NULL and argv
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-10-18 08:51:45 +02:00
anjiahao
d1d46335df
Replace nxsem API when used as a lock with nxmutex API
...
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-10-17 15:59:46 +09:00
Petro Karashchenko
ec4a615f6c
libs/libc/stdio: fix ungetc operation
...
Do not modify errno in case of failure
Return EOF if the value of c equals to EOF
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2022-10-14 23:29:38 +08:00
chao an
36039c8526
newlib/impure: declare thread specific file only if __NEWLIB__ is defined.
...
Signed-off-by: chao an <anchao@xiaomi.com>
2022-10-12 17:22:24 +08:00
chao an
83a3fd9780
newlib/impure: sync with newlib(4.2.0) reent update
...
arm-none-eabi-ld: nuttx/staging/libc.a(lib_impure.o):(.data.impure_data+0x4): undefined reference to `__sf'
arm-none-eabi-ld: nuttx/staging/libc.a(lib_impure.o):(.data.impure_data+0x8): undefined reference to `__sf'
arm-none-eabi-ld: nuttx/staging/libc.a(lib_impure.o):(.data.impure_data+0xc): undefined reference to `__sf'
Toolchain:
Version: GNU Arm Embedded Toolchain to Version 11.3.Rel1(August 8, 2022)
Tar: arm-gnu-toolchain-11.3.rel1-x86_64-arm-none-eabi.tar.xz
Break change:
https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=b0cb9f85ca3626e0e68fd451c3090d253ceb4300
Signed-off-by: chao an <anchao@xiaomi.com>
2022-10-11 18:38:14 +08:00
Xiang Xiao
8c80b3d908
sched: Guard backtrace related code correctly
...
1.Don't include unwind.h when arch specific backtrace is enable
2.Built arch specific backtrace wrapper only when enable
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-10-11 00:01:35 +02:00
raiden00pl
00aa822546
libs/libc/netdb/Kconfig: allow to enable LIBC_NETDB directly from menuconfig
2022-10-02 22:29:41 +08:00
Xiang Xiao
e38248ee08
Return -EINVAL for the internal API
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-09-30 17:54:56 +02:00
Xiang Xiao
bdeaea3742
Remove the unnessary empty line after label
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-09-30 17:54:56 +02:00
zhangyuan21
838309313e
sched: semaphore wait list optimize
2022-09-28 18:08:37 +08:00
Xiang Xiao
40ef5bc6db
libc: Move queue.h from include to include/nuttx
...
to avoid the conflict with libuv's queue.h
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-09-26 08:04:58 +02:00
chao an
09c006b9c8
libs: fix visual studio Compiler Error C2124
...
D:\code\incubator-nuttx\libs\libc\stdlib\lib_strtod.c: error C2124: divide or mod by zero
Windows MSVC restrictions, MSVC doesn't allow division through a
zero literal, but allows it through non-const variable set to zero
Reference:
https://docs.microsoft.com/en-us/cpp/error-messages/compiler-errors-1/compiler-error-c2124?view=msvc-170
Signed-off-by: chao an <anchao@xiaomi.com>
2022-09-26 04:40:09 +08:00
Xiang Xiao
70290b6e38
arch: Change the linker generated symbols from uint32_t to uint8_t *
...
and remove the duplicated declaration
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-09-24 21:26:56 +02:00
chao an
a3a4e89efc
libs/libc/arm: use builtin routines instead of aliases of __aeabi_mem*
...
Signed-off-by: chao an <anchao@xiaomi.com>
2022-09-24 00:10:36 +08:00
Xiang Xiao
8565882bb5
libc/stdio: Let STDIO_DISABLE_BUFFERING depends on FILE_STREAM
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-09-22 17:41:05 +02:00
Xiang Xiao
bdcd232c98
libc/netdb: Let LIBC_GAISTRERROR/NETDB_BUFSIZE/NETDB_MAX_IPADDR depends on LIBC_NETDB
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-09-22 17:41:05 +02:00
Xiang Xiao
4c44c6f709
arch.h: Make _sinit/_einit as an offical interface
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-09-22 08:29:24 +08:00
Xiang Xiao
a7bbd33f1b
libc: Remove the reference of _stext/_etext from lib_cxx_initialize.c
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-09-22 08:29:24 +08:00
Xiang Xiao
9afb6540dc
libc/ftok: Map token to the root pseduo file system directory
...
to ensure the generated key is unique from each other since only
root pseduo file system really support st_ino field after:
commit d35fbf534d51f7ef72382d9666a1f19e07c6f00f
Author: Xiang Xiao <xiaoxiang@xiaomi.com>
Date: Fri Sep 16 14:24:55 2022 +0800
fs: Allocate unique serial number for the root pseduo file system node
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-09-20 16:21:06 +08:00
Xiang Xiao
8df223a1ef
libc: Add LIBC prefix to MEM_FD_VFS_PATH
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-09-20 16:21:06 +08:00
Xiang Xiao
9c229a0173
libc: Remove LIBC_ERR from libs/libc/misc/Kconfig
...
forget in https://github.com/apache/incubator-nuttx/pull/6805
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-09-16 22:56:38 +02:00
ligd
4a87578bdb
wqueue: change single queue to double queue to improve speed
...
Signed-off-by: ligd <liguiding1@xiaomi.com>
2022-09-08 15:03:54 +02:00
ligd
2cc3ec57ef
queue: add dq_rmafter support
...
Signed-off-by: ligd <liguiding1@xiaomi.com>
2022-09-08 15:03:54 +02:00
Neale Ferguson
213b954a90
* Squash round() commits
...
- Add check in roundx() functions for infinite or NaN cases
- Add block to avoid style warnings
- Define long double constants and macros for infinity and nan
- Correct return syntax to match NuttX style
- Make c89 compliant
- Fix definitions of INFINITY_L/NAN_L
* include/nuttx/lib/math.h - match standard naming conventions
- Rename isinf_l to isinfl
- Rename isinf_f to isinff
- Add finite()
- Add finitel()
- Add finitef()
- Define isnanl and isnanf
- Define isfinite() so that it uses the appropriate macro
* libs/libc/math/lib_asinf.c
libs/libc/math/lib_asinl.c
libs/libc/math/lib_roundf.c
libs/libc/math/lib_roundl.c
libs/libc/math/lib_sqrtf.c
libs/libc/math/lib_sqrtl.c
- Use renamed macros
- Use correct NAN_x or INFINIT_x macro on returns
2022-09-08 20:57:27 +08:00
wangbowen6
4e1097280a
telink: add custom setjmp implementation for tlsr82.
...
Signed-off-by: wangbowen6 <wangbowen6@xiaomi.com>
2022-09-08 09:15:25 +08:00
anjiahao
1a5351edac
libc:add timingsafe_bcmp to libc
...
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2022-09-05 22:27:05 +08:00
Juha Niskanen
fb852440af
pthread: fix typo with CONFIG_PTHREAD_MUTEX_DEFAULT_PRIO_INHERIT
...
Signed-off-by: Juha Niskanen <juha.niskanen@haltian.com>
2022-09-05 15:36:23 +02:00
Junbo Zheng
74ab851ac4
nuttx/libs/libc/time: fix runtime error by UBSan
...
Signed-off-by: Junbo Zheng <zhengjunbo1@xiaomi.com>
2022-09-05 14:55:25 +08:00
zhangyuan21
1a9252aec9
nuttx/queue: change some queue function to macro
2022-09-04 11:08:02 +08:00
Fotis Panagiotopoulos
985710665a
Fixed pow() for negative bases.
2022-09-03 21:19:10 +08:00
Huang Qi
28872ca3ed
libc: Fix wrong report from UBSan
...
```
ubsan_prologue: ================================================================================
ubsan_prologue: UBSAN: array-index-out-of-bounds in symtab/symtab_allsyms.c:62:37
__ubsan_handle_out_of_bounds: index 1619 is out of range for type 'symtab_s [1]'
ubsan_epilogue: ================================================================================
```
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2022-08-30 19:35:24 +08:00
Nathan Hartman
a0ee5d3747
libc: Port strtod fixes to strtof, strtold and improve comments
...
* libs/libc/stdlib/lib_strtod.c:
(strtod): Add a note about limitations of this implementation
as compared to POSIX in the function's docstring. Also fix a
typo.
* libs/libc/stdlib/lib_strtof.c:
(strtof): Port the changes made to strtod in PR-6952 (commit
c83985c5ce
) and add same note as above to docstring.
* libs/libc/stdlib/lib_strtold.c:
(strtold): Same changes as strtof.
2022-08-30 09:47:50 +08:00
Fotis Panagiotopoulos
c83985c5ce
Fixes in strtod parser.
2022-08-29 17:13:11 -03:00
Huang Qi
e0185faa78
Don't download tarballs if a local git repo found
...
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2022-08-28 03:07:58 +08:00
Huang Qi
e4e3208180
Replace all strncpy with strlcpy for safety
...
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2022-08-25 13:38:36 +08:00
chengkai
4ee39f6e9a
libc: add lib_dump utils
...
Signed-off-by: chengkai <chengkai@xiaomi.com>
2022-08-24 16:58:10 +08:00
chao.an
0e6edd39ec
libs: fix visual studio Compiler Error C2124
...
D:\code\incubator-nuttx\libs\libc\stdlib\lib_strtof.c(76,1): error C2124: divide or mod by zero
Windows MSVC restrictions, MSVC doesn't allow division through a
zero literal, but allows it through non-const variable set to zero
Reference:
https://docs.microsoft.com/en-us/cpp/error-messages/compiler-errors-1/compiler-error-c2124?view=msvc-170
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-08-24 16:50:48 +08:00
chao.an
62977ec4e8
arch/sim: add windows host simulate support
...
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-08-23 22:04:42 +08:00
Alan Carvalho de Assis
cf6eabd125
libc.csv: Add new found missing functions
2022-08-17 11:23:56 +08:00
Alan Carvalho de Assis
607ef3426a
Add some missing functions to libc.csv
2022-08-16 10:04:51 +08:00
zhanghongyu
daf39c03bd
dns_client: directly initialize g_dns_servers and remove dns_initialize directly
...
g_dns_servers need init before dns_query, Otherwise sim can not add default
dns server when use usrsock mode to share host network.
Avoid similar problems in the future, so directly initialize g_dns_servers.
Signed-off-by: zhanghongyu <zhanghongyu@xiaomi.com>
2022-08-15 16:39:37 +03:00
Xiang Xiao
2b37909c9e
libc: Move crc8.h, crc16.h and crc32.h from include to include/nuttx
...
to avoid the conflict with the 3rd party library
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-08-13 13:28:24 +03:00
Xiang Xiao
fa2e1897ea
libc: Implement memfd on top of tmpfs
...
https://man7.org/linux/man-pages/man2/memfd_create.2.html
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-08-09 22:13:09 +03:00
Jiuzhu Dong
4dbf4555eb
fs/dir: support fchdir and dirfd
...
Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
2022-08-09 23:30:01 +08:00