Commit Graph

958 Commits

Author SHA1 Message Date
zhuyanlin 4d1affa210 uClibc++:remove typeinfo.cpp that confict with libsupc++
Typeinfo.cpp already defined in libsupc++

Change-Id: Ie61b95d8fa9da2034b57498de006dce8551c5ad5
2021-09-10 15:32:17 +08:00
Jiuzhu Dong aa1c65a364 errno: use staic errno to replace tl_errno before tls initialization
Change-Id: I44a53b2f5cdb3f4e6c755e5663867cd74361bc7c
Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
2021-09-09 21:18:32 +08:00
Jiuzhu Dong 06ef56386b getaddrinfo: support AF_RPMSG
The hostname is as rp_cpu, the servname is as rp_name

Change-Id: Icc2128f26192fe71e657dc6b65cec6f104d31aa2
Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
2021-09-09 15:29:33 +08:00
Jiuzhu Dong a214fe03eb getaddrinfo: support AF_LOCAL
Change-Id: I1e6a5d3cb64acaeeecad49315ea5e5874bc9440e
Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
2021-09-09 15:29:33 +08:00
Jiuzhu Dong 3149af15b9 lib_fread: return the number of bytes when error occurs.
Change-Id: I12228f53cf928c9f29bf739e57a25bca120a9ec1
Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
2021-09-07 22:10:31 +08:00
zhuyanlin a2d6632e7c uClibcxx: remove function that conflict with libsupc++
The New_/del_ function already contain in libsupc++.
2021-09-07 10:33:11 +08:00
Xiang Xiao 90c839abbb libxx: Move the partial c++ abi implementation to libcxxmini sub folder
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: I2bc9b8be2962451a44352ab90623c9481bd162b2
2021-09-01 18:03:06 +08:00
zhuyanlin cf2d061be3 libxx: use libxxabi, uClibxx in local code
N/A

Change-Id: I8322f89eb3afb2e404eb2d0164f578785870a3d3
2021-09-01 11:30:28 +08:00
Xu Xingliang e42c3ea8a8 libc/gettext: Initialize path field when creating mofile struct.
Signed-off-by: Xu Xingliang <xuxingliang@xiaomi.com>
Change-Id: Ic88876b254e29ac6156f8b2b15c5321af62f4e24
2021-08-31 18:18:02 +08:00
zhuyanlin af3d84cb19 libc:machine: add atomic_load/store/exchange API
Add atomic_load/store/exchange API

Change-Id: I6196b077d1e76cd1e0506ee66e2885e541525eb1
2021-08-31 14:16:34 +08:00
Xiang Xiao a901ab35ad libxx: Remove the unused libxx_stdthrow.cxx
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-08-31 11:39:21 +08:00
Xiang Xiao 19e5ba9ef4 libxx: Move libcxxabi special setting from libcxx.defs to libcxxabi.defs
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-08-31 11:39:12 +08:00
Xiang Xiao 7768b66bf4 libxx: Give VERSION make variable prefix to avoid the conflict
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: Icca26524e3154300ed863650db24f88a9a8e295a
2021-08-31 11:39:01 +08:00
Abdelatif Guettouche eb621457d0 libs/libxx/uClibc++.defs: Download the correct file type.
Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
2021-08-31 11:37:30 +08:00
Jiuzhu Dong 4743c089d0 libc/rexec: support remote execution
Change-Id: I0f61326081f87d9bdf7234088f352328b8828adb
Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
2021-08-31 10:19:09 +08:00
Xiang Xiao ab5d2adbca libxx: Change CXX_LIBSUPCXX to LIBSUPCXX
align with other Kconfig(e.g. LIBCXXABI, LIBCXX, UCLIBCXX)

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-08-29 21:32:01 +08:00
Xiang Xiao 165c4fc5ef libxx: Disable CXX_EXCEPTION by default to save the code space
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: I1b1fafa95f0e385a615dba78f43858b797c5ce69
2021-08-29 21:31:46 +08:00
Xiang Xiao 39cafc1612 libcxx: Avoid the waring: "__EXCEPTIONS" is not defined, evaluates to 0 [-Werror=undef]
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: Ie91c28596f1504326e8dfbb4a79d276b712db5bc
2021-08-29 21:31:14 +08:00
Xiang Xiao b4f597bed4 libcxxabi: Avoid the waring: "__EXCEPTIONS" is not defined, evaluates to 0 [-Werror=undef]
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-08-29 21:30:16 +08:00
Abdelatif Guettouche 6af1bd5666 libs/libxx: Download C++ libraries during context.
Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
2021-08-29 21:29:20 +08:00
Xiang Xiao 90a1d498b5 Remove the locale fallback from libcxx
since these functions can handled by NuttX's libc now

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: I7dc487688db9d656d35f828efaed5beefe3c48e7
2021-08-29 21:29:10 +08:00
SPRESENSE ed4fae3c93 libs/libxx/libcxx.defs: Fix build error on Windows platform
The libcxx-X.Y.Z.src.tar.xz contains a symbolic link to a directory
that not exist as below.

`libcxx-X.Y.Z.src/test/std/pstl -> ../../../pstl/test/std`

Linux and macOS environment have no problem, but it causes an error
when extracting tarball on Windows platform. This symbolic link is not
actually used, so exclude it from extracting the tarball.

Change-Id: Ib01c8bdca04794c3ca3761e940cf3ab8d6361262
2021-08-29 21:27:26 +08:00
zhuyanlin 45e5d39fe0 libc:machine: add common atomic operation.
Add common atomic operation.

Change-Id: I9f6b891f1406d54871a3f50c217a1029b434d2e8
2021-08-29 16:09:56 +08:00
zhuyanlin 9a2e9de4bc libxx: rename NUTTX_LIBCXX
NUTTX_LIBCXX is only basic C++ support, do not support many c++
library function, NUTTX_NOCXXLIB is more suitable.
When NUTTX_NOCXXLIB is select, do not select lower level support.

Change-Id: I158937a4ba02f8fa3c76101acbdfb295d8cd736f
2021-08-28 09:39:24 +08:00
zhuyanlin 6354a78791 libc:libcxx: add support for libcxxabi.
libcxxabi is either-or select with glibcxx.

Change-Id: I4fbea19f0648ddc318379dd43bac8406f7c86927
2021-08-28 09:39:13 +08:00
zhuyanlin a4abe4bd3e libc:libxx: add new low level c++ standard library support
LLVM libc++abi is a new implementation of low level support for
a standard C++ library.

Change-Id: Ica9c81bd96fd27b169a06e352b0c394d47aed5b6
2021-08-28 09:39:03 +08:00
zhuyanlin 32ea691d5f libs:cxx.defs: bypass -Wno-missing-exception-spec flag in xcc
Xtensa-toolchain do not recognize -Wno-missing-exception-spec flags
2021-08-28 09:38:55 +08:00
Xiang Xiao 8f976669a3 libc: Remove the legacy printf support
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-08-28 09:26:30 +08:00
Jiuzhu Dong 7561882938 lib_vsprintf: Add %pV format support
test case:
void test(const char *fmt, ...)
{
  struct va_format vaf;
  va_list ap;

  va_start(ap, fmt);
  vaf.fmt = fmt;
  vaf.va = &ap;
  printf("func:%s, %pV, line:%d\n", __func__, &vaf, __LINE__);
  va_end(ap);
}

int main(int argc, FAR char *argv[])
{
  char str[] = "Hello Boy and Girl!";
  int count = 10;

  test("%s %d", str, count);
  return 0;
}

>> test
func:test, Hello Boy and Girl! 10, line:49

Change-Id: I6d97515dce3f10a880145a1ff7fcba5e9cbebd37
Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
2021-08-27 11:08:48 +08:00
pengyiqiang b8f12c357f libc/misc: add lib_glob.
N/A

Change-Id: I1bace79c4c580e3a7e84aaf37e7963f789a896ef
Signed-off-by: pengyiqiang <pengyiqiang@xiaomi.com>
2021-08-26 16:57:07 +08:00
丁欣童 5738f26938 vfs: writev should return the partial write size
Signed-off-by: 丁欣童 <dingxintong@xiaomi.com>
Change-Id: Id7f161fa51a9ad66dad265cab125deb3323e6602
2021-08-26 10:19:56 +08:00
pengyiqiang 01cbfec897 libc/string: fix lib_strchrnul warning.
N/A

Change-Id: I4661a42923b7e2f59155c734cba2131bddb94211
Signed-off-by: pengyiqiang <pengyiqiang@xiaomi.com>
2021-08-25 15:08:37 +08:00
pengyiqiang 57e4394dbd libc/string: add lib_strchrnul.
N/A

Change-Id: I25e2424e91b833815680d2e417f4384ed9062660
Signed-off-by: pengyiqiang <pengyiqiang@xiaomi.com>
2021-08-20 16:41:52 +08:00
liuhaitao 54f4c43e0a Add libcxxabi into .gitignore
Signed-off-by: liuhaitao <liuhaitao@xiaomi.com>
Change-Id: I076f4c203b72bc039dea63b4a98e0db241628cef
2021-08-19 20:56:16 +08:00
chao.an 7f192ca255 sched/backtrace: add sched_backtrace support
Change-Id: Ia764cf54dfa215b313f9d5f1a060aac18d765982
Signed-off-by: chao.an <anchao@xiaomi.com>
2021-08-18 19:36:38 +08:00
chao.an db06f769ff libs/libc: move the backtrace implement to sched
1. move the backtrace implement to sched
2. rename CONFIG_UNWINDER to CONFIG_SCHED_BACKTRACE

Change-Id: I8176727602bfc695184b88210a3aaf90c6acaac7
Signed-off-by: chao.an <anchao@xiaomi.com>
2021-08-18 19:36:23 +08:00
jordi cd2fbf0b3c Kconfig: add quotes in source to clean warnings from setconfig
To avoid the setconfig warning "style: quotes recommended around xxx in
source xxx"

Change-Id: Iaec3ae59ba2ec15337652c9962b25081ff03e1d7
Signed-off-by: chao.an <anchao@xiaomi.com>
2021-08-18 19:35:59 +08:00
Xiang Xiao 622c637832 fs/userfs: Support fchstat and chstat callback
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-08-11 18:18:52 +08:00
Xiang Xiao 7afb3354cc fs: Add utimens and lutimens
https://pubs.opengroup.org/onlinepubs/9699919799/functions/futimens.html
https://www.daemon-systems.org/man/utimens.2.html

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-08-09 21:09:35 +08:00
Xiang Xiao ad827673b2 Rename CONFIG_LIB_BOARDCTL to CONFIG_BOARDCTL
since boardctl isn't a libc feature

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: If32db0451e10fb02e0c12ed48f2b7120859b8ae3
2021-08-09 21:03:17 +08:00
Xiang Xiao 4bffde887d Rename LIB_ to LIBC_ for all libc Kconfig
follow other libc component naming convention

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: I66cf8f3201560ce71576279640e94ae3147ad0a2
2021-08-09 21:03:17 +08:00
liuhaitao 6442b8ea2d Revert "libc: Implement fesetround & fegetround for arm"
The updated GNU Arm Embedded Toolchain Version 10.3-2021.07 has implemented
fesetround & fegetround.

This reverts commit 5c0a079aea.

Change-Id: I6418c1f47a6c1a319a2973f01340480d50f54e8e
2021-08-09 20:02:47 +08:00
Xiang Xiao e783f6e648 libc/gettext: Change g_domain to array
otherwise textdomain will deference NULL pointer in the default case

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-08-05 12:14:52 +08:00
Xiang Xiao 43e98a5d2d Fix variable 'catd' is used uninitialized whenever 'if' condition is false
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-08-04 14:02:30 +08:00
Xiang Xiao b2b4ad864b libc: Implement gettext function
https://www.man7.org/linux/man-pages/man3/dcgettext.3.html

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: I5817bb8114a1bb05c4dfa133baa084d1cd5f1b06
2021-08-04 14:02:16 +08:00
Xiang Xiao b7ca3dbbc8 fs: Save umask to tls_task_s for non kernel mode only
since the kernel mode has the dedicated userspace

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-08-03 14:43:34 +08:00
Xiang Xiao af26bc798d libc: Remove include/nuttx/lib/regex.h and libs/libc/misc/lib_match.c
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-08-03 14:39:11 +08:00
Jiuzhu Dong b05bce3090 tzset: avoid taking semaphore in interrupt for non-kernel mode
Change-Id: Ic72819eddb38621751e462fe32e9e433288fb33c
Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
2021-08-02 20:45:34 +08:00
Xiang Xiao 31f761cd48 libc: Support message catalog function
https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/nl_types.h.html

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-08-02 19:47:20 +08:00
Xiang Xiao 400db72d79 libc: Rename match to fnmatch
specified here:
https://pubs.opengroup.org/onlinepubs/007904875/functions/fnmatch.html

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-08-02 12:02:39 +08:00