Xiang Xiao
49834c9151
libc/stdio: Check 'x' instead 'X' in lib_mode2oflags
...
follow BSD and Linux convention:
https://man.openbsd.org/fopen
https://www.man7.org/linux/man-pages/man3/fopen.3.html
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-06-07 20:22:26 +03:00
Xiang Xiao
3357b0b15f
libc/stdio: Remove the unused flags(MODE_[PLUS|B|X|T) in lib_mode2oflags
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-06-07 20:22:26 +03:00
Xiang Xiao
5b165a2294
libc/stdio: Generate the dummy atexit and on_exit
...
since the compiler may generate the code call atexit automatically
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-06-07 20:14:34 +03:00
anjiahao
e0c3bf64a0
libc:Optimize the behavior of fwrite
...
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2022-06-07 22:28:00 +08:00
zhuyanlin
3455002ffd
libc:xtensa:arch_memmove: fix warning
...
warning: 'SIM_CHECKS_ALIGNMENT' macro redefined
[-Wmacro-redefined] #define SIM_CHECKS_ALIGNMENT 1
Signed-off-by: zhuyanlin <zhuyanlin1@xiaomi.com>
2022-06-07 11:09:57 +03:00
Xiang Xiao
3e32b605fe
libc/tls: Make tls_get_info as the pulibc function instead up_tls_info
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-06-03 23:56:50 +03:00
Xiang Xiao
bd76e69f8d
tls: Merge tls_xxx into pthread_keyxxx
...
it's always better to provide the standard api directly
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-06-03 23:56:50 +03:00
Xiang Xiao
c19d37adf0
libc/wchar: Call mbsnrtowcs in mbrtowc to handle the partial sequence correctly
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-06-03 22:25:49 +03:00
Xiang Xiao
4c34075d10
libc/wchar: Remove the unnecessary cast
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-06-03 22:25:49 +03:00
Xiang Xiao
406e1effed
libc: Always compile ___cxa_atexit
...
since libsupc++ depends on it unconditionally
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-06-02 10:54:23 +03:00
Xiang Xiao
1a3e57fe86
libc: Remove weak_function from __aeabi_atexit
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-06-02 10:54:23 +03:00
Xiang Xiao
88fd6210f6
libc/wchar: Fix the minor style issue
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-05-31 07:59:34 +09:00
anjiahao
b88a8cf39f
use rmutex inside of all repeated implementation
...
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2022-05-30 19:43:48 +08:00
Ville Juven
a54c3d13f9
sched: Remove SCHED_ATEXIT / SCHED_ONEXIT
...
Remove the kernel side implementations altogether. These will be
replaced by user land implementations.
2022-05-25 15:28:43 +08:00
Ville Juven
622677d4a1
libc: Implement exit, atexit, on_exit and cxa_exit on the user side
...
For CONFIG_BUILD_KERNEL using the sched/task/task_exithook implementation
will just not work. It calls user code with kernel privileges which is
a bit of a security issue.
2022-05-25 15:28:43 +08:00
Abdelatif Guettouche
4896623be2
build: Fix dependencies of kernel targets.
...
Targets build during the kernel phase did not have their dependencies
specified and thus they were not rebuilt after their dependencies have
changed, for example by changing options in menuconfig.
Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
2022-05-24 10:45:39 +08:00
Xiang Xiao
ba6ee2a407
pthread/spinlock: Call up_testsest directly in the flat build
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-05-20 09:51:53 -03:00
Xiang Xiao
b39d70fe25
libxxmini: Fix error: use of undeclared identifier 'nullptr'
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-05-19 23:23:01 +03:00
zhuyanlin
1c977e97d2
pthread_mutexinit: fix deadcode in pthread_mutexinit
...
Signed-off-by: zhuyanlin <zhuyanlin1@xiaomi.com>
2022-05-16 10:20:52 +03:00
Xiang Xiao
51cf7ba05a
Remove FAR from arm/risc-v/xtensa/sim/x86
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-05-15 13:55:58 +03:00
Xiang Xiao
f7f8a21486
libs: Move aeabi_atexit from libxx/ to libc/machine/arm/
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-05-13 00:13:03 +03:00
Ville Juven
fb1c1bfe6c
libc: Rename lib_Exit lib__Exit
...
Naming collision with lib_exit on some systems
2022-05-12 14:24:18 +03:00
Masayuki Ishikawa
5c3d6bba6d
libs: risc-v: Add R_RISCV_JAL support to arch_elf.c
...
Summary:
- This commit adds R_RISCV_JAL support to arch_elf.c
- The code only checks the immediate value but does not relocate it
because it is done by the compiler.
Impact:
- None
Testing:
- Tested with rv-virt:knsh64 (not merged yet)
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2022-05-12 10:36:03 +08:00
zhuyanlin
38f8032e31
libc:xtensa: move syscall to swint call
...
Signed-off-by: zhuyanlin <zhuyanlin1@xiaomi.com>
2022-05-11 10:48:53 +02:00
Juha Niskanen
a17bfec43d
libc/string: simplify strrchr
...
Do not call strlen() here. Old implementation iterated
over string twice, if searched for position was at the
beginning. This commit changes strrchr() to scan string
only once, regardless of input.
Signed-off-by: Juha Niskanen <juha.niskanen@haltian.com>
2022-05-10 23:29:23 +08:00
Xiang Xiao
4ae7f4c1f6
libs: Move libxx_impure.cxx from libs/libxx/ to libs/libc/misc/
...
to fix the gcov link error:
arm-none-eabi-ld: /home/xiaoxiang/vela/prebuilts/gcc/linux/arm/bin/../lib/gcc/arm-none-eabi/10.3.1/thumb/v7e-m/nofp/libgcov.a(_gcov.o): in function `gcov_error_exit':
libgcov-driver.c:(.text+0x7c): undefined reference to `_impure_ptr'
arm-none-eabi-ld: /home/xiaoxiang/vela/prebuilts/gcc/linux/arm/bin/../lib/gcc/arm-none-eabi/10.3.1/thumb/v7e-m/nofp/libgcov.a(_gcov.o): in function `get_gcov_error_file':
libgcov-driver.c:(.text+0x1e0): undefined reference to `_impure_ptr'
arm-none-eabi-ld: /home/xiaoxiang/vela/prebuilts/gcc/linux/arm/bin/../lib/gcc/arm-none-eabi/10.3.1/thumb/v7e-m/nofp/libgcov.a(_gcov.o): in function `gcov_exit_open_gcda_file.isra.0':
libgcov-driver.c:(.text+0x660): undefined reference to `_impure_ptr'
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-05-06 14:43:57 -03:00
Xiang Xiao
1e0f3ba4da
libc: Remove C99_BOOL8 from libs/libxx/Kconfig
...
since it can be detected automatically by __STDC_VERSION__
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-05-05 16:23:32 -03:00
Xiang Xiao
577f301a2c
libc: Move cxx_initialize.c from libc/sched/ to libc/misc
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-05-04 08:58:43 +02:00
Xiang Xiao
b9eff677fe
libc: Simplify the c++ initialization
...
1.Remove CXX_INITIALIZE_MACHO and CXX_INITIALIZE_SINIT
2.Merge cxx_initialize_sinit.c and cxx_initialize_macho.c into cxx_initialize.c
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-05-04 08:58:43 +02:00
Xiang Xiao
c1082f04d3
libxx: Make HAVE_CXXINITIALIZE workable even HAVE_CXX isn't enabled
...
since this infrastructure is also used in no c++ case(e.g. gcov)
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-05-04 08:58:43 +02:00
Xiang Xiao
4a03cab6f9
libc: Remove the redundant seek in writev
...
since the file position isn't changed if write return fail
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-05-01 10:07:36 +03:00
Xiang Xiao
c1e5ba4602
libxx: Always build libcxx with -std=c++17
...
since the implementation of barrier require
the aligned new which is defined in C++ 17
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-04-29 21:08:14 -03:00
wangbowen6
dcb440a4d9
libc/arch_atomic: add FAR to pointers.
...
Signed-off-by: wangbowen6 <wangbowen6@xiaomi.com>
2022-04-29 15:06:11 +08:00
wangbowen6
ea164f28b8
libc/arch_atomic: add gcc legacy __sync buitins support.
...
Signed-off-by: wangbowen6 <wangbowen6@xiaomi.com>
2022-04-29 15:06:11 +08:00
YAMAMOTO Takashi
ded4fd33c1
Implement preadv and pwritev
2022-04-28 13:40:25 +08:00
YAMAMOTO Takashi
d832df88a5
libc.csv: sort
2022-04-28 13:40:25 +08:00
wangbowen6
cbab540169
arm/arch_setjmp.S: armv6m support setjmp, longjmp
...
Signed-off-by: wangbowen6 <wangbowen6@xiaomi.com>
2022-04-27 23:21:03 +08:00
Xiang Xiao
f4d5a23571
libc/fixedmatch: Avoid "divide by zero" error
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-04-23 20:15:31 +03:00
Petro Karashchenko
8f7af29d74
libs/libc/string: unify implementation across the functions
...
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2022-04-23 23:58:54 +08:00
Oki Minabe
185b1cb1b7
libc/string: strcmp/strncmp cast unsigned char
...
Summary:
- Cast to unsigned char for strcmp and strncmp
- strcmp and strncmp are described following by opengroup.org
The sign of a non-zero return value shall be determined by the sign
of the difference between the values of the first pair of bytes
(both interpreted as type unsigned char) that differ in the strings
being compared.
https://pubs.opengroup.org/onlinepubs/9699919799/functions/strcmp.html
https://pubs.opengroup.org/onlinepubs/9699919799/functions/strncmp.html
Impact:
- strcmp and strncmp return value
Testing:
- ostest on sabre-6quad:smp w/ qemu
Signed-off-by: Oki Minabe <minabe.oki@gmail.com>
2022-04-23 16:11:00 +03:00
Xiang Xiao
69b5799b74
libc: Fix typo error in execle
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-04-22 12:23:09 +03:00
Xiang Xiao
55b5561fdb
sched/task: Implement execle and execve
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-04-22 10:40:31 +03:00
Alin Jerpelea
148c4903e3
LICENSE: document missing libc files
...
add missing files to the LICENSE file.
Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2022-04-20 21:05:45 +08:00
Xiang Xiao
5cb82dfcfb
libc/blkoutstream: Minor style fix
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-04-18 19:21:22 +03:00
chao.an
889a3bf7fc
libc/blockstream: add block out stream backend
...
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-04-18 19:21:22 +03:00
Xiang Xiao
96ff41d5b2
libc: Don't duplicate string in chdir and lib_restoredir
...
since the new layout doesn't reallocate the unchanged environ variable anymore
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-04-18 10:36:36 +03:00
Xiang Xiao
ef1a98dd00
Remove the unneeded void cast
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-04-17 23:32:05 +03:00
anjiahao
a66e8f20ee
libc/string:add LICENSE info
...
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2022-04-14 21:46:12 +08:00
haopengxiang
fa9ad9b398
libc/string:delete small to big endian marco
...
avoid byte alignment
Signed-off-by: haopengxiang <haopengxiang@xiaomi.com>
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2022-04-14 21:46:12 +08:00
chao.an
c3cefe6da2
libc/string: Use Byte-Shift algorithm for very long needles
...
Reference here:
https://github.com/taleinat/byteshift_strstr
Signed-off-by: chao.an <anchao@xiaomi.com>
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2022-04-14 21:46:12 +08:00
anjiahao
e6f77aeb9a
libc/lib_strptime:change code format & add notes
...
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2022-04-13 10:16:42 +08:00
Xiang Xiao
96ea9b71ed
libc/strptime: fix warning unused-value
...
warning: value computed is not used [-Wunused-value]
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2022-04-13 10:16:42 +08:00
anjiahao
6d3f14d41d
libc/strptime:_conv_num skip space
...
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2022-04-13 10:16:42 +08:00
liuhaitao
366c25682c
libc/time: add strptime porting support
...
lib_strptime.c copies from android bionic/libc/tzcode.
Signed-off-by: liuhaitao <liuhaitao@xiaomi.com>
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2022-04-13 10:16:42 +08:00
anjiahao
c843cb8a52
libc/net:use strlcpy instead of strncpy
...
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2022-04-12 21:16:11 +08:00
anjiahao
c30705f5f0
libc/lib_glob:use strlcpy instead of memcpy
...
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2022-04-12 21:15:45 +08:00
anjiahao
49cd445114
lib_localtime:fix unsigned compare with zero
...
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2022-04-12 17:10:14 +08:00
anjiahao
bb6279fe60
libc/lib_localtime:fix deadcode
...
isdst always is false
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2022-04-12 01:51:29 +08:00
songlinzhang
8dd5d0d510
netdb/lib_dnsaddserver.c: Do not insert the duplicate DNS address
...
Signed-off-by: songlinzhang <songlinzhang@xiaomi.com>
2022-04-11 20:31:15 +08:00
Jiuzhu Dong
e93100cb4d
lib_lib_vsprintf/backtrace: fix the type issue
...
using 't': For integer types, causes printf to expect
a ptrdiff_t-sized integer argument.
Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
2022-04-07 12:14:27 +08:00
Xiang Xiao
ae6bfdc9b9
libc: Avoid the compiler generate code call self(memcpy/memmove/memset/memcmp) recursively
...
please reference the similar change done by other libc implementation:
https://reviews.llvm.org/D68028?id=224286
85c2e6110c
4a1f55e92f
82dfae9ab0
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-04-05 13:25:53 +03:00
Xiang Xiao
34e17ba0ce
libc/string: Fix the minor style issue
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-04-05 13:25:53 +03:00
Petro Karashchenko
d08fbca679
nuttx: unify FAR attribute usage across the code
...
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2022-04-04 21:32:58 +08:00
Xiang Xiao
499c450d36
libc/netdb: Hold dns lock when operating with resolv.conf
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-04-04 19:48:36 +09:00
Xiang Xiao
cd695cd0d9
libc/netdb: Remove the temporary unlock in dns_foreach_nameserver
...
since netdb support the recursive lock
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-04-04 19:48:36 +09:00
Xiang Xiao
a8cac59864
libc/netdb: Support the recursive lock
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-04-04 19:48:36 +09:00
YAMAMOTO Takashi
75b1358d8e
modlib_bind.c: Restore "Relocation address out of range" checks
...
Restore the checks which got completely broken by the following change.
```
commit 15142a8b10
Author: anjiahao <anjiahao@xiaomi.com>
Date: Fri Apr 1 16:20:03 2022 +0800
modlib/modlib_bind:fix unsigned_compare with zero
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
```
2022-04-04 09:12:37 +03:00
anjiahao
5b214888aa
Update libs/libc/modlib/modlib_bind.c
...
Co-authored-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2022-04-02 01:05:22 +08:00
anjiahao
c7badac601
Update libs/libc/modlib/modlib_bind.c
...
u are right
Co-authored-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2022-04-02 01:05:22 +08:00
anjiahao
15142a8b10
modlib/modlib_bind:fix unsigned_compare with zero
...
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2022-04-02 01:05:22 +08:00
anjiahao
2d499ac86d
lib_chdir:use change ret judgment method
...
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2022-04-01 19:39:33 +03:00
anjiahao
14c5f61e77
libs/libc/lib_err.c:add va_end to vwarn
...
call va_copy,after need call va_end
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2022-04-01 23:13:25 +08:00
田昕
24bd80eb84
unistd:rename CONFIG_OPEN_MAX to CONFIG_LIBC_OPEN_MAX
...
Signed-off-by: 田昕 <tianxin7@xiaomi.com>
2022-04-01 22:10:51 +08:00
田昕
463a437733
fs and unistd: increase OPEN_MAX by claiming a Kconfig.
...
Signed-off-by: 田昕 <tianxin7@xiaomi.com>
2022-04-01 12:17:47 +03:00
Gustavo Henrique Nihei
0bd436c8db
libcxx: Fix libc++ for archs without conditional load/store support
...
This commit brings a patch already merged to upstream LLVM project:
https://reviews.llvm.org/D118391
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2022-03-30 11:19:29 +08:00
Gustavo Henrique Nihei
8a215b60af
libcxx: Add patch for preventing redefinition of PS macro on Xtensa
...
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2022-03-30 11:19:29 +08:00
ligd
a1eb3f66fa
rexec: fix free error in error handing
...
Signed-off-by: ligd <liguiding1@xiaomi.com>
2022-03-29 10:09:04 +08:00
Petro Karashchenko
98ba65c422
c89: get rid of designated initializers in common code
...
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2022-03-28 13:39:27 +08:00
Petro Karashchenko
2ac3e3c793
libs/libc/time: update description of strftime
...
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2022-03-28 00:30:53 +08:00
Gustavo Henrique Nihei
2cd1769619
libxx: Add CXX_RTTI for enabling RTTI support for C++ applications
...
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2022-03-26 05:56:37 +02:00
Xiang Xiao
de0dd2f569
libc: implement getentropy function
...
specify here:
https://man7.org/linux/man-pages/man3/getentropy.3.html
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-03-25 13:48:33 +02:00
Xiang Xiao
0bd93a2a76
libc/uuid: Call getrandom instaed arc4random_buf
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-03-25 13:48:33 +02:00
Xiang Xiao
c8ea7a95a3
libc: Implement getrandom on top of "/dev/[u]random"
...
https://man7.org/linux/man-pages/man2/getrandom.2.html
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-03-25 13:48:33 +02:00
Ville Juven
9288ed85e7
RISC-V: Add/fix implementation for arch_elf.c
...
The jump instruction relocation had an assert that tests for jumps with
an offset of 0. This makes it so that a while(1); statement causes an
assert because the jump instruction points to the same address, which
is perfectly legal.
Addend was not handled correctly in several reloc types.
Add ADD32/64 + SUB32/64 relocations, for some reason the compiler
I use likes to add them.
2022-03-23 17:56:54 +08:00
Xiang Xiao
0fcb4575bb
sched/dumpstack: Print "backtrace:" only in the first iteration
...
to avoid the same label print multiple time in one dumpstack
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-03-23 07:26:19 +09:00
Petro Karashchenko
68902d8732
pid_t: unify usage of special task IDs
...
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2022-03-22 21:22:32 +08:00
Xiang Xiao
6b8274fbd8
libc: Change the return type of strerror from "const char *" to "char *"
...
to follow up the spec here:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/strerror.html
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-03-20 23:02:50 +02:00
chao.an
316797a7f6
libc/err: fix unpaired va_end()
...
each invocation of va_start() must be matched by a corresponding
invocation of va_end() in the same function
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-03-19 10:13:23 +02:00
chao.an
484b930fd1
netdb/getaddrinfo: fix NULL pointer reference
...
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-03-18 20:11:54 +02:00
chao.an
0f7ccf0c08
netdb/getaddrinfo: fix the compile warning
...
netdb/lib_getaddrinfo.c: In function ‘alloc_ai’:
netdb/lib_getaddrinfo.c:80:9: warning: ‘strncpy’ specified bound 108 equals destination size [-Wstringop-truncation]
80 | strncpy(ai->sa.sun.sun_path, addr, sizeof(ai->sa.sun.sun_path));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
netdb/lib_getaddrinfo.c: In function ‘alloc_ai’:
netdb/lib_getaddrinfo.c:103:9: warning: ‘strncpy’ specified bound 16 equals destination size [-Wstringop-truncation]
103 | strncpy(ai->sa.srp.rp_cpu, addr, sizeof(ai->sa.srp.rp_cpu));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-03-19 00:34:26 +08:00
Xiang Xiao
eea014efb7
Fix error: conflicting types for built-in function 'execl'; expected 'int(const char *, const char *, ...)
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-03-18 16:38:01 +02:00
Xiang Xiao
8f4421a79e
Fix warning: 'argnumber' may be used uninitialized in this function
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-03-18 12:43:17 +02:00
zhuyanlin
5665b7a585
arch:lib_atomic: remove and fix gcc warning declaration-mismatch
...
Remove GCC ignored warning and fix
Signed-off-by: zhuyanlin <zhuyanlin1@xiaomi.com>
2022-03-18 13:35:42 +08:00
songlinzhang
e2114378b9
Add dn resolution function
...
Signed-off-by: songlinzhang <songlinzhang@xiaomi.com>
2022-03-17 09:37:15 +02:00
Xiang Xiao
be2f688cd9
Fix net/lib_nametoindex.c:58:7: error: 'strncpy' specified bound 16 equals destination size
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-03-10 19:46:01 +02:00
Huang Qi
69cfe8d626
arch/arm: Support setjmp/longjmp for all socs
...
After check the official specification of ARM ISA
and Thumb ISA, the arch_setjmp_thumb.S are written
by arm unified assembly language,
so it easy to make it works for ARM and thumb ISA.
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2022-03-09 17:13:21 +02:00
chao.an
82f90e4c33
libs/vsprintf: fix the type issue
...
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-03-09 10:16:54 +02:00
Huang Qi
c6e636a871
arch/risc-v: Save/Load float register in setjmp
...
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2022-03-09 10:15:54 +02:00
Xiang Xiao
01517b2ebe
libc/gettext: Support the plural format
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-03-08 15:57:25 -03:00
Xu Xingliang
f38783f4b5
libc/locale: check if mmap failed before proceeding.
...
Signed-off-by: Xu Xingliang <xuxingliang@xiaomi.com>
2022-03-08 15:57:25 -03:00
Xiang Xiao
0e12bf167b
libc/stdio: Make %p[V|S|s] work with CONFIG_LIBC_NUMBERED_ARGS
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-03-08 11:33:54 -03:00
Xiang Xiao
a2e9e83956
libc/stdio: Don't fetch width/prec modifier in parser phase
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-03-08 11:33:54 -03:00
Xiang Xiao
428ce93ee5
libc/stdio: Skip fetch double argument if !CONFIG_LIBC_FLOATINGPOINT && CONFIG_LIBC_NUMBERED_ARGS
...
since the argument is already fetched by lib_vsprintf in this case
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-03-08 11:33:54 -03:00
Xiang Xiao
0c01f0ce5a
libc/stdio: Add _s suffix for struct arg in lib_libvsprintf.c
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-03-08 11:33:54 -03:00
Huang Qi
cfff115f21
arm: Move setjmp to common place
...
Since some Cortex A core supports thumb mode also,
thus they can share same implementation.
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2022-03-08 21:00:29 +08:00
Alin Jerpelea
c58ac94450
libs: libc: lib_ubsqrt: migrate license to Apache
...
Haltian has submitted the SGA as a result can migrate the licenses
to Apache
Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2022-03-02 18:14:36 +08:00
Xiang Xiao
4a16cf71f9
Fix -Werror=nonnull-compare and -Werror=format-truncation=
...
Error: module/mod_insmod.c:203:3: error: 'strncpy' specified bound 16 equals destination size [-Werror=stringop-truncation]
203 | strncpy(modp->modname, modname, MODLIB_NAMEMAX);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
wqueue/kwork_thread.c: In function 'work_start_lowpri':
Error: wqueue/kwork_thread.c:212:22: error: '%lx' directive output may be truncated writing between 1 and 16 bytes into a region of size 14 [-Werror=format-truncation=]
212 | snprintf(args, 16, "0x%" PRIxPTR, (uintptr_t)wqueue);
local/local_sockif.c: In function 'local_getsockname':
Error: local/local_sockif.c:392:11: error: 'strncpy' specified bound depends on the length of the source argument [-Werror=stringop-overflow=]
392 | strncpy(unaddr->sun_path, conn->lc_path, namelen);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
chip/esp32_wifi_utils.c: In function 'esp_wifi_scan_event_parse':
Error: chip/esp32_wifi_utils.c:373:37: error: argument to 'sizeof' in 'memset' call is the same expression as the destination; did you mean to dereference it? [-Werror=sizeof-pointer-memaccess]
memset(ap_list_buffer, 0x0, sizeof(ap_list_buffer));
^
stdio/lib_fputs.c: In function 'fputs':
Error: stdio/lib_fputs.c:99:9: error: nonnull argument 's' compared to NULL [-Werror=nonnull-compare]
if (s == NULL || stream == NULL)
^
Error: stdio/lib_fputs.c:99:27: error: nonnull argument 'stream' compared to NULL [-Werror=nonnull-compare]
if (s == NULL || stream == NULL)
^
stdio/lib_vfprintf.c: In function 'vfprintf':
Error: stdio/lib_vfprintf.c:40:6: error: nonnull argument 'stream' compared to NULL [-Werror=nonnull-compare]
if (stream)
^
string/lib_strdup.c: In function 'strdup':
Error: string/lib_strdup.c:39:6: error: nonnull argument 's' compared to NULL [-Werror=nonnull-compare]
if (s)
^
string/lib_strndup.c: In function 'strndup':
Error: string/lib_strndup.c:56:6: error: nonnull argument 's' compared to NULL [-Werror=nonnull-compare]
if (s)
^
string/lib_strpbrk.c: In function 'strpbrk':
Error: string/lib_strpbrk.c:39:7: error: nonnull argument 'str' compared to NULL [-Werror=nonnull-compare]
if (!str || !charset)
^~~~
Error: string/lib_strpbrk.c:39:15: error: nonnull argument 'charset' compared to NULL [-Werror=nonnull-compare]
if (!str || !charset)
^~~~~~~~
string/lib_strrchr.c: In function 'strrchr':
Error: string/lib_strrchr.c:40:6: error: nonnull argument 's' compared to NULL [-Werror=nonnull-compare]
if (s)
^
Error: time/lib_asctimer.c:73:50: error: '%d' directive output may be truncated writing between 1 and 11 bytes into a region of size between 0 and 12 [-Werror=format-truncation=]
snprintf(buf, 26, "%.3s %.3s%3d %.2d:%.2d:%.2d %d\n",
^~
time/lib_asctimer.c:73:21: note: directive argument in the range [-2147481748, 2147483647]
snprintf(buf, 26, "%.3s %.3s%3d %.2d:%.2d:%.2d %d\n",
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
time/lib_asctimer.c:73:3: note: 'snprintf' output between 17 and 68 bytes into a destination of size 26
snprintf(buf, 26, "%.3s %.3s%3d %.2d:%.2d:%.2d %d\n",
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
g_wday_name[tp->tm_wday], g_mon_name[tp->tm_mon],
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
tp->tm_mday, tp->tm_hour, tp->tm_min, tp->tm_sec,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1900 + tp->tm_year);
~~~~~~~~~~~~~~~~~~~
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-03-02 15:55:38 +08:00
Xiang Xiao
da954956e7
Simplify DEFAULT_SMALL usage in Kconfig
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-03-01 03:15:01 +08:00
Oki Minabe
fbf05db906
fix up_tls_info define for BUILD_KERNEL
...
Summary:
- In case of BUILD_KERNEL, NuttX uses USR mode sp and SVC mode sp.
- The kernel runs on SVC mode sp.
- While the kernel is running, up_getsp() cannot get the TLS address.
- The kernel requires tls_get_info() function.
- For the user land, up_getsp() can be used.
- tls_getinfo.c is always compiled and tls_get_info() function is
filtered by macros in the tls_getinfo.c.
Impact:
BUILD_KERNEL
Testing:
test program on custom Cortex-A9 board (BUILD_KERNEL)
ostest on sabre-6quad:smp (QEMU, BUILD_FLAT)
Signed-off-by: Oki Minabe <minabe.oki@gmail.com>
2022-02-28 01:12:58 +08:00
Masayuki Ishikawa
de95a8550f
arch, board: Add thumb support to i.MX6
...
Summary:
- This commit adds thumb support to i.MX6
- Also, applies the same coding style to arch_elf.c
Impact:
- i.MX6 only
Testing:
- Tested with sabre-6quad:smp (QEMU, Dev board)
- Tested with sabre-6quad:netnsh (QEMU)
- Tested with sabre-6quad:netknsh (QEMU, not merged yet)
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2022-02-25 10:51:12 +08:00
Masayuki Ishikawa
11731125ef
libs: armv7-a: Add thumb support to arch_elf.c
...
Summary:
- This commit adds thumb support to arch_elf.c
Impact:
- None
Testing:
- Tested with sabre-6quad:netknsh (QEMU, not merged yet)
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2022-02-25 10:51:12 +08:00
zhuyanlin
1aedf30f38
libc:machine:xtensa: fix warning
...
Signed-off-by: zhuyanlin <zhuyanlin1@xiaomi.com>
2022-02-24 22:13:46 +08:00
Huang Qi
e516c6247e
sched: Implement task local storage
...
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2022-02-23 22:05:02 +08:00
Huang Qi
18227cbeff
libc/tls: Supports up to 64 elements
...
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2022-02-23 22:05:02 +08:00
Xiang Xiao
f1ed349dd9
sched/clock: Remove CLOCK_MONOTONIC option from Kconfig
...
here is the reason:
1.clock_systime_timespec(core function) always exist regardless the setting
2.CLOCK_MONOTONIC is a foundamental clock type required by many places
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-02-23 01:21:26 +08:00
Petro Karashchenko
9b02a91c72
libc/sched/task_setcanceltype: fix function name in comment
...
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2022-02-21 20:32:49 +08:00
Xiang Xiao
928d52f315
libc/machine: Implement ARM aeabi_xxx API called by clang
...
specified here:
https://developer.arm.com/documentation/ihi0043/latest
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-02-21 09:29:18 +01:00
Xiang Xiao
1d1bdd85a3
Remove the double blank line from source files
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-02-20 20:10:14 +01:00
Huang Qi
f452dd7ab4
sched: Mark pthread as non-cancelable to avoid additional calls to pthread_exit()
...
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2022-02-20 15:36:07 +01:00
raiden00pl
4e27f4a1d2
libdsp: port lib_observer.c to b16
2022-02-20 21:58:10 +08:00
raiden00pl
7126b829af
libdsp/lib_observer.c: cosmetics
2022-02-20 21:58:10 +08:00
raiden00pl
1366e14192
libdsp: initialize flux_link in params, remove flux_link from pmsm_phy_params
2022-02-20 21:58:10 +08:00
raiden00pl
ca4790c429
libdsp: add one_by_p to motor_phy_params
2022-02-20 21:58:10 +08:00
chao.an
4824ea68a9
libs/libnx: handle the bad message correctly
...
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-02-17 13:40:11 +01:00
Peter Kalbus
6abdf73535
sim: Initial support on MacOS M1 and Linux AARCH64 based hosts.
2022-02-17 09:35:09 +08:00
Oki Minabe
c1ea37742b
fix arm FPSCR typos in comments.
2022-02-17 01:08:11 +08:00
YAMAMOTO Takashi
1d89d9ae4b
libc.csv: Add pthread_setname_np and pthread_getname_np
2022-02-16 15:09:14 +08:00
Xiang Xiao
5f67662c63
libc/sim: Rename arch_setjmp[64].S to arch_setjmp_x86[_64].S
...
to follow other arch/x86 arch/x86_64 convention
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-02-16 12:23:16 +08:00
Mateusz Szafoni
5f50547ced
libdsp: cosmetics changes from code review
...
Co-authored-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2022-02-16 03:20:20 +08:00
raiden00pl
31ffa6d576
libdsp/lib_observer.c: remove dir argument from speed observers
...
We can automatically detect the direction of movement from angle diff
2022-02-16 03:20:20 +08:00
raiden00pl
01cbe9133e
libdsp/lib_observer.c: update some comments
...
The angle observer always refer to a motor electrical angle,
while the speed observer can be applied to a motor electrical speed or a motor mechanical speed.
2022-02-16 03:20:20 +08:00
raiden00pl
26f1be27dd
libdsp/lib_observer.c: separate angle observer from speed observer
...
They can be used completely independently, so they should'n be coupled.
For example, a sensored motor controller in speed control mode doesn't need an angle estimator.
2022-02-16 03:20:20 +08:00
zouboan
2391e4bd71
Update libs/libdsp/lib_observer.c
...
Co-authored-by: Mateusz Szafoni <raiden00pl@gmail.com>
2022-02-14 10:47:15 -03:00
zouboan
132f27a91a
lib_observer: add nolinear fluxlink observer
2022-02-14 10:47:15 -03:00
Xiang Xiao
47e38eb70f
binfmt: Decouple builtin from binfs file system
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-02-14 09:35:35 -03:00
Xiang Xiao
34baf47307
libc: posix_openpty should use the absolute path("dev/ptmx")
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-02-14 08:43:05 +09:00
Zeng Zhaoxiu
5bf7c185af
semphore: release all semphores' holder that the task held when exit
...
Add a list in TCB to track all semphores the task held, so we
can release all holders when exit, so nxsched_verify_tcb
is unnecessary.
Signed-off-by: Zeng Zhaoxiu <walker.zeng@transtekcorp.com>
2022-02-13 03:20:51 +08:00
anjiahao
ce3c604f48
libc/chdir:"PWD" should save absolute path
...
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2022-02-11 13:05:20 +01:00
Huang Qi
8bf7f94d39
pthread: Call cleanup callback while asyncrhonous cancel
...
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2022-02-09 21:21:43 +08:00
Huang Qi
c0a0de97ce
Revert "libc: Call pthread_exit in user-space by up_pthread_exit"
...
This reverts commit f4a0b7aedd
.
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2022-02-09 21:21:43 +08:00
Huang Qi
63aa11ca11
libc/spawn: Fix typo in comments
...
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2022-02-09 01:39:45 +08:00
Xiang Xiao
4ee5ff81dd
pthread: Add len argument to pthread_getname_np
...
follow the spec:
https://man7.org/linux/man-pages/man3/pthread_setname_np.3.html
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-02-07 08:19:17 +01:00
Xiang Xiao
0ff29e8f10
libc/stdlib: Compile lib_openpty.c without checking CONFIG_SERIAL_TERMIOS
...
follow up the following change:
commit 4262b09cbf
Author: Xiang Xiao <xiaoxiang@xiaomi.com>
Date: Fri Dec 17 02:58:49 2021 +0800
libc: Implement terminal api regardless of CONFIG_SERIAL_TERMIOS setting
since many functions aren't related to termios directly
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-02-03 22:51:28 +01:00
Xiang Xiao
57c3fce583
libc: Implement posix_openpt
...
specify here:
https://pubs.opengroup.org/onlinepubs/009695399/functions/posix_openpt.html
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-02-03 11:02:31 -03:00
YAMAMOTO Takashi
021b1a6bfb
libs/libc/machine/sim/arch_elf64.c: Implement R_X86_64_PC64
...
This relocation type is often found in eh_frame with -mcmodel=large
2022-01-31 11:38:59 +08:00
YAMAMOTO Takashi
794df92fc9
libs/libc/libc.csv: Add feof
2022-01-29 01:04:23 +08:00
YAMAMOTO Takashi
82fdba5258
libs/libc/libc.csv: Add truncate
2022-01-29 01:04:23 +08:00
YAMAMOTO Takashi
182575d240
libs/libc/libc.csv: Add localtime and ctime
2022-01-29 01:04:23 +08:00
YAMAMOTO Takashi
0db6ac28d8
libs/libc/libc.csv: Add atoi and friends
2022-01-29 01:04:23 +08:00
YAMAMOTO Takashi
4b183b93cf
libs/libc/libc.csv: Add mktemp and its friends
2022-01-29 01:04:23 +08:00
YAMAMOTO Takashi
113992c037
libs/libc/libc.csv: Add gettimeofday
2022-01-29 01:04:23 +08:00
YAMAMOTO Takashi
5ebfb70427
libs/libc/libc.csv: Add pthread_cond_timedwait
2022-01-29 01:04:23 +08:00
YAMAMOTO Takashi
741a1d2149
libs/libc/libc.csv: Add pthread_create
2022-01-29 01:04:23 +08:00
YAMAMOTO Takashi
bbfd0667fc
libs/libc/libc.csv: Add uname
2022-01-29 01:04:23 +08:00
YAMAMOTO Takashi
ebbfa034c7
libs/libc/libc.csv: Add shutdown
2022-01-29 01:04:23 +08:00
YAMAMOTO Takashi
a06cf25ab6
libs/libc/libc.csv: Add getaddrinfo and friends
2022-01-29 01:04:23 +08:00
YAMAMOTO Takashi
1b7cb3ef63
libs/libc/libc.csv: Add dlfcn functions
2022-01-29 01:04:23 +08:00
YAMAMOTO Takashi
f5fb4d4d98
libs/libc/libc.csv: Add strtoumax and strtoimax
2022-01-29 01:04:23 +08:00
YAMAMOTO Takashi
0b8464419d
libs/libc/libc.csv: Add ctype functions
2022-01-29 01:04:23 +08:00
YAMAMOTO Takashi
ead9bf6481
libs/libc/libc.csv: Add ferror
2022-01-29 01:04:23 +08:00
YAMAMOTO Takashi
c22e8c5427
libs/libc/libc.csv: Add rewind
2022-01-29 01:04:23 +08:00
YAMAMOTO Takashi
c46bae4a4f
libs/libc/libc.csv: Add _assert
2022-01-29 01:04:23 +08:00
YAMAMOTO Takashi
26b077080b
libs/libc/libc.csv: Add __stack_chk_fail
2022-01-29 01:04:23 +08:00
YAMAMOTO Takashi
b9e73ed8ba
libs/libc/libc.csv: Add mallinfo and malloc_size
2022-01-29 01:04:23 +08:00
YAMAMOTO Takashi
dad4a7f8f7
symtab_findbyvalue: just retun NULL for NULL symtab
2022-01-27 10:23:37 +01:00
YAMAMOTO Takashi
0edb290951
symtab_findbyname: just retun NULL for NULL symtab
...
The condition is not fatal at all.
It's better to let the caller handle the failure.
2022-01-27 10:23:37 +01:00
zhuyanlin
dde241f306
libxx:uclibxx: add patch use overload constructor of filebuf & ostream
...
overload constructor of filebuf & ostream in uclibxx
Signed-off-by: zhuyanlin <zhuyanlin1@xiaomi.com>
2022-01-24 23:26:59 +08:00
zouboan
a310b0952f
bug patch for frexpf function
2022-01-21 13:37:37 -03:00
Xiang Xiao
77792a1598
sched: Define CONFIG_SMP_NCPUS to 1 in no SMP case
...
to simplify the SMP related code logic
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-01-20 23:21:21 +08:00
Xiang Xiao
a9e4c6ace1
libc: backtrace_malloc change sprintf to snprintf
...
since snprintf can handle NULL pointer but sprintf can't.
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-01-20 14:33:29 +01:00
Juha Niskanen
2b63b811e0
libs/libc/misc/lib_execinfo.c: fix bad memory access
...
Signed-off-by: Juha Niskanen <juha.niskanen@haltian.com>
2022-01-20 18:58:40 +08:00
YAMAMOTO Takashi
a3c96a520f
task_startup: Implement cxx_initialize for sim/macOS
2022-01-20 01:16:56 +08:00
Petro Karashchenko
9551de7115
net: use HTONS, NTOHS, HTONL, NTOHL macro in kernel code
...
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2022-01-18 10:59:47 +01:00
zouboan
74aeb5d0c5
port nuttx to sparc-v8 commit
...
includes following parts:
add support of sparc in arch/Kconfig
add support of sparc in boards/Kconfig
add sparc dir in arch, add sparc dir in boards
add support of sparc in libs/libc/machine
modify all the coding style problem about saprc
2022-01-17 09:09:29 -03:00
Petro Karashchenko
8d3bf05fd2
include: fix double include pre-processor guards
...
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2022-01-16 11:11:14 -03:00
buyuer
59c9620842
libcxx-mini: operator new will assert when alloc failed.
...
Signed-off-by: buyuer <dingddding@163.com>
2022-01-11 10:49:44 +01:00
Petro Karashchenko
2447b7bd9a
pthread: restore pthread mutex default protocol POSIX compatibility
...
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2022-01-11 01:55:12 +08:00
Petro Karashchenko
e7f9c7af21
typos: fix typos in Kconfig files
...
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2022-01-08 06:46:26 -03:00
chao.an
8c35d31808
Kconfig: Remove CONFIG_ prefix from config definition
...
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-01-07 13:16:18 +08:00
anjiahao
9aa69168e4
libc/pthread:pthread_barrierinit sem use pri_none
...
barrier is used protect resources. don't lock
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2022-01-05 20:21:05 +08:00
Petro Karashchenko
b859f2750b
libc/math: fix log and logf calculations on ARMv7 (and maybe others)
...
Probably this is a bug of a GCC, but on AMRv7 the code "if (relax_factor > 1)"
generates "bne.n" instruction if "relax_factor" is "int". Few lines above
"relax_factor *= LOG_RELAX_MULTIPLIER;" is done without overflow check hence
at some moment overflow occurs and "relax_factor" becomes a zero and condition
"if (relax_factor > 1)" becomes always evaluated to "true" hence "epsilon"
becomes zero always.
Probably this is not the best way to fix the bug (The best way is to report it
to GCC), but this change allows to get correct behavior of "log" and "logf" for
ARMv7 based MCUs
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2022-01-01 20:38:38 +08:00
Petro Karashchenko
8462b14d4e
libc/math: fix fmod family operation
...
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2021-12-31 20:51:23 +08:00
Norman Rasmussen
df956b08f2
Ensure that sethostname null terminates the hostname correctly
...
commit e1c306f2dd
added sethostname using
strncpy. This replaces it with strlcpy and uses sizeof() instead of
re-calculating the buffer size.
Rename size argument for get/sethostname to match the implementation
2021-12-30 01:13:22 +08:00
Xiang Xiao
4262b09cbf
libc: Implement terminal api regardless of CONFIG_SERIAL_TERMIOS setting
...
since many functions aren't related to termios directly
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-12-29 08:11:08 -03:00
Xiang Xiao
86684105f9
serial: Move tcdrain implementation from drivers/serial to libc
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-12-29 08:11:08 -03:00
Xiang Xiao
dd942f0b04
sched/backtrace: Dump the complete stack regardless the depth
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-12-29 12:09:54 +08:00
Xiang Xiao
9eecd4c5e2
libc: Prefix the address with 0 to the specified width in sched_dumpstack
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-12-29 12:09:54 +08:00
chao.an
7f2c5be07a
libs/dumpstack: add support for print symbol name
...
ap> mw -1
[ EMERG] arm_usagefault: PANIC!!! Usage Fault:
[ EMERG] arm_usagefault: IRQ: 6 regs: 0x3c24fa48
[ EMERG] arm_usagefault: BASEPRI: 000000e0 PRIMASK: 00000000 IPSR: 00000006 CONTROL: 00000004
[ EMERG] arm_usagefault: CFSR: 01000000 HFSR: 00000000 DFSR: 00000000 BFAR: 40101000 AFSR: 00000000
[ EMERG] arm_usagefault: Usage Fault Reason:
[ EMERG] arm_usagefault: Unaligned access
[ EMERG] up_assert: Assertion failed at file:armv8-m/arm_usagefault.c line: 113 task: init
[ EMERG] backtrace|10: 0x2c325bde 0x2c319b98 0x2c3261cc 0x2c316b20 0x2c32699c 0x2c303a50 0x2c326072 0x2c3206ea
[ EMERG] backtrace|10: 0x2c3428cc 0x2c33ed14 0x2c342e8e 0x2c34403a 0x2c344ac0 0x2c319b60 0x2c3080ba
[ EMERG] [10][ 0] [<0x2c325bde>] up_backtrace+0xa/0x13c
[ EMERG] [10][ 1] [<0x2c319b98>] sched_dumpstack+0x10/0xc0
[ EMERG] [10][ 2] [<0x2c3261cc>] up_assert+0x48/0x414
[ EMERG] [10][ 3] [<0x2c316b20>] _assert+0x4/0x10
[ EMERG] [10][ 4] [<0x2c32699c>] arm_usagefault+0xa8/0x138
[ EMERG] [10][ 5] [<0x2c303a50>] irq_dispatch+0x1c/0x40
[ EMERG] [10][ 6] [<0x2c326072>] arm_doirq+0x1a/0x2c
[ EMERG] [10][ 7] [<0x2c3206ea>] exception_common+0x4a/0xac
[ EMERG] [10][ 8] [<0x2c3428cc>] cmd_mw+0xec/0x11c
[ EMERG] [10][ 9] [<0x2c33ed14>] nsh_parse_command+0x684/0xcf0
[ EMERG] [10][10] [<0x2c342e8e>] nsh_session+0x92/0x168
[ EMERG] [10][11] [<0x2c34403a>] nsh_consolemain+0x1e/0x38
[ EMERG] [10][12] [<0x2c344ac0>] nsh_main+0x30/0x50
[ EMERG] [10][13] [<0x2c319b60>] nxtask_startup+0x40/0x68
[ EMERG] [10][14] [<0x2c3080ba>] nxtask_start+0x46/0x60
Signed-off-by: chao.an <anchao@xiaomi.com>
2021-12-29 12:09:54 +08:00
Xiang Xiao
20bbdd0997
libc: Add backtrace_symbols[_fd] functions
...
specified here:
https://linux.die.net/man/3/backtrace_symbols
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-12-29 12:09:37 +08:00
Huang Qi
c2e8c92b25
arch/risc-v: Refine Toolchain.defs
...
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2021-12-28 00:30:10 -06:00
Petro Karashchenko
3ccb657dc2
nuttx: remove space befone newline in logs
...
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2021-12-27 21:01:19 -06:00
chao.an
e0f7bab13c
libc/symtab: optimize the find speed by bisection
...
Signed-off-by: chao.an <anchao@xiaomi.com>
2021-12-21 20:40:12 -06:00
Xiang Xiao
cc1a1b5781
net: Implement getifaddrs and freeifaddrs
...
specify here:
https://man7.org/linux/man-pages/man3/getifaddrs.3.html
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-12-21 11:01:33 -03:00
Juha Niskanen
422ceec99b
Fix typos in comments and Kconfig files
...
Signed-off-by: Juha Niskanen <juha.niskanen@haltian.com>
2021-12-21 03:26:16 -06:00
chao.an
ce1c8413a2
libc/lzfcompress: add lzf compress stream
...
compress stream based on lzf algorithm:
struct lib_rawoutstream_s rawstream;
struct lib_lzfoutstream_s lzfstream;
lib_rawoutstream(&rawstream, fd);
lib_lzfoutstream(&lzfstream, &rawstream);
Signed-off-by: chao.an <anchao@xiaomi.com>
2021-12-20 08:39:33 -06:00
Petro Karashchenko
d445282566
fs/vfs: Add file descriptor based timers support
...
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2021-12-20 04:00:20 -06:00
Xiang Xiao
187d9e58c9
Remove the unnecessary inclusion of assert.h and string.h from public header files
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-12-20 10:30:08 +01:00
Petro Karashchenko
67d8a82393
Kconfig: fix non-string default values uniformity
...
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2021-12-20 00:10:57 +01:00
Xiang Xiao
c562263205
net: Move if_nametoindex and if_indextoname to libc
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-12-19 10:08:57 -06:00
Xiang Xiao
f9c1117c88
eventfd: Remove the unused and private eventfd_get_minor
...
since it isn't defined by Linux kernel too
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-12-19 01:41:11 -06:00