Commit graph

51 commits

Author SHA1 Message Date
Lars Kruse
4568110d63 fix misspelled names in locally scoped code
These misspelled words are used in strictly local scopes.
Renaming these variables should not cause any problems.
2025-05-15 10:12:12 +08:00
ligd
7d218f93fa libc: add nx_strdup() & nx_strndup() support
Signed-off-by: ligd <liguiding1@xiaomi.com>
2024-10-15 01:16:48 +08:00
Alin Jerpelea
cd2fcf5252 include: migrate to SPDX identifier
Most tools used for compliance and SBOM generation use SPDX identifiers
This change brings us a step closer to an easy SBOM generation.

Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2024-10-04 08:18:42 +08:00
anjiahao
d5981375a6 Support gcc FORTIFY_SOURCE features for nuttx libc
This function will use gcc's function
__builtin_dynamic_object_size and __builtin_object_size

Its function is to obtain the size of the object through compilation,
so as to judge whether there are out-of-bounds operations in commonly used functions.
It should be noted that the option -O2 and above is required to enable this function

Signed-off-by: anjiahao <1090959677@qq.com>
2023-06-22 20:38:45 +08:00
chenrun1
5430de72f8 libc/lib_rawmemchr.c:Add rawmemchr methon. 2023-02-24 04:06:04 +08:00
crafcat7
33b22f51da libc/lib_memcpy.c: Add mempcpy method.
Signed-off-by: crafcat7 <chenrun1@xiaomi.com>
2023-02-17 15:15:19 +08:00
dongjiuzhu1
28027d0bee libc/versionsort: support versionsort and strverscmp
Signed-off-by: dongjiuzhu1 <dongjiuzhu1@xiaomi.com>
2023-01-15 11:24:40 +08:00
dongjiuzhu1
191d453063 string/strdupa: support strdupa strndupa
refs:https://sites.uclouvain.be/SystInfo/manpages/man3/strdup.3.html

Signed-off-by: dongjiuzhu1 <dongjiuzhu1@xiaomi.com>
2022-12-31 00:59:28 +08:00
Xiang Xiao
e1f45857e3 compiler.h: Add malloc_like? and realloc_like macro
and apply them to the related functions

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-12-18 09:47:12 -03:00
anjiahao
1a5351edac libc:add timingsafe_bcmp to libc
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2022-09-05 22:27:05 +08:00
Karel Kočí
6c7f99189b libs/libc/string: add memmem
This function is the GNU extension.
2022-07-22 19:04:11 +03: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
Michael Jung
9114f849ae Include nuttx/compiler.h from string.h
NuttX' string.h is using the FAR preprocessor definition, which is
defined in nuttx/compiler.h.  Thus, it should include it.

Signed-off-by: Michael Jung <mijung@gmx.net>
2022-03-02 18:14:12 +08:00
ligd
5b369c5cec libs/lbc: remove CHAR_BIT = 16 support
For CEVA platform CHAR_BIT is 16, and will do lots of extra work
when use IPC.
We will not support this platform anymore, so remove all the b2c operations.

Signed-off-by: ligd <liguiding1@xiaomi.com>
2021-12-13 11:08:28 -06:00
anjiahao
80d32edbe1 libc/str:add strlcat to libc
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2021-11-26 15:24:35 -03:00
FASTSHIFT
f3477a86d2 libc/string: add lib_strchrnul. 2021-09-22 09:20:06 -03:00
Xiang Xiao
cdc781bdfd libc: Implement local_t related functions
since local_t isn't really implemented on NuttX,
we can simply redirect to the non-locale version.

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-07-30 09:43:26 -03:00
Alin Jerpelea
9b9be7e1f0 include: Author: Gregory Nutt: update licenses to Apache 2.0
Update files from Gregory Nutt to Apache 2.0 license.

Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2021-02-04 03:33:58 -08:00
chao.an
7356b5a2ed libc: Implement strlcpy function
Reference:
http://www.delorie.com/djgpp/doc/libc/libc_763.html

Signed-off-by: chao.an <anchao@xiaomi.com>
2020-08-14 03:44:26 -07:00
Gregory Nutt
3927be2612 libs/libc/string/Make.defs: Need to include build support for files needed when CHAR_BIT != 8. 2019-11-04 16:02:50 -06:00
Guiding Li
8b92305265 This commit brings in the drivers needed to support OpenAMP. These changes were ported from https://github.com/FishsemiCode/nuttx. The current state: Most drivers do now compile but are not yet verfied.
This port was effort of a number of people, I rather arbitrarily gave authorship to Guiding Li because he has the largest number of fundamental quashed commits from the Xiamoi repository.

Squashed commit of the following:

Author: Xiang Xiao <xiaoxiang@pinecone.net>
    include/nuttx/b2c.h and libx/libc/string:  Add non-standard string functions to deal with cases where there are more than 8-bits in a type char.

Author: Gregory Nutt <gnutt@nuttx.org>
    Fix several build issues/missing definitiona needed for OpenAMP build in drivers/.
    Add OpenAMP code has been reviewed and ran through tools/nxstyle (with all reports accounted for).

Author: Xiang Xiao <xiaoxiang@xiaomi.com>
    tools/:  Fix the minor issue in Makefile

Author: Gregory Nutt <gnutt@nuttx.org>
    drivers/rptun/rptun.c:  Review for coding standard.  Run against tools/nxstyle.
    tools/LibTargets.mk:  Fix some TABs that were turned into spaces by a copy-paste.
    fs/hostfs:  Add configure and build support for hostfs RPC.
    drivers/timer:  Add configure and build support for syslog RTC.
    drivers/syslog:  Add configure and build support for syslog RPC.
    drivers/serial:  Add configure and build support for serial RPC.
    Kconfig, tools/*.mk. openamp/:  Add basic OpenAMP build support.
    drivers/rptun:  Add configure and build support for OpenAMP tunnel drivers.
    drivers/net:  Update Make.defs and Kconfig for OpenSDA support.
    Remove drivers/clk/clk-rpmsg.c drivers/power/rpmsg_regulator.c.  These depend on upstreaming support for a new subsystem based on the clk/regulator is model from Linux.  Removed because we want to separate the activities.  We will just try to get the basic OpenAMP support in place for now.
    Remove drivers/misc/misc_rpmsg.c and include/nuttx/misc/misc_rpmsg.h.  These are specific to the Xiaomi application.

Author: zhuyanlin <zhuyanlin@pinecone.net>
    This commit brings in the OpenAMP OS driver/RPC components from https://github.com/FishsemiCode/nuttx.  Initial commit is source files only.  Additional changes to Kconfig and Make.defs files still needed.

Author: Jianli Dong <dongjianli@pinecone.net>
    This commit brings in the OpenAMP OS driver/RPC components from https://github.com/FishsemiCode/nuttx.  Initial commit is source files only.  Additional changes to Kconfig and Make.defs files still needed.

Author: Guiding Li <liguiding@pinecone.net>
    This commit brings in the OpenAMP OS driver/RPC components from https://github.com/FishsemiCode/nuttx.  Initial commit is source files only.  Additional changes to Kconfig and Make.defs files still needed.
2019-11-02 11:30:33 -06:00
Xiang Xiao
756c9f4eac libs/libc/string/lib_strsep.c: Add strsep BSD/Linux function. 2019-03-19 08:25:29 -06:00
Xiang Xiao
5ab668ffae libs/libc/string/lib_memrchr.c: Add memrchr() function 2018-11-08 08:37:34 -06:00
Gregory Nutt
68d4c1d4ed C library: Add some new functions defined in POSIX.1-2017: stpncpy(), strsignal(), psignal(), psiginfo(). 2018-09-17 13:55:33 -06:00
Jussi Kivilinna
dffb8a67e3 Add entropy pool and strong random number generator
Entropy pool gathers environmental noise from device drivers, user-space, etc., and returns good random numbers, suitable for cryptographic use. Based on entropy pool design from *BSDs and uses BLAKE2Xs algorithm for CSPRNG output.

Patch also adds /dev/urandom support for using entropy pool RNG and new 'getrandom' system call for getting randomness without file-descriptor usage (thus avoiding file-descriptor exhaustion attacks). The 'getrandom' interface is similar as 'getentropy' and 'getrandom' available on OpenBSD and Linux respectively.
2017-03-30 07:38:37 -06:00
Gregory Nutt
05a288f2e1 C library: Add strerror_r 2017-03-08 12:14:07 -06:00
Gregory Nutt
4f5879f998 C library: Add ffs(). Add strings.h. Move strcasecmp, strncasecmp, bzero, bcmp, and bcopy to where they belong in strings.h.h, not string.h. bzero, bcmp, and bcopy are legacy functions; the contemporary counterparts should be used instead. 2017-02-16 16:10:09 -06:00
Gregory Nutt
6d1f3da289 C library: Add support for rindex(). 2017-02-16 15:22:30 -06:00
Gregory Nutt
3c4684ef5f Eliminate CONFIG_ARCH_OPTIMIZED_FUNCTIONS. Move options to select architectur-specific C library options from libc/Kconfig to libc/machine/Kconfig and rename. 2017-01-20 09:30:07 -06:00
Alan Carvalho de Assis
4d39b513b5 Add functions wcrtomb, wcslcpy, wcsxfrm, wctob, wctomb, wctype, localeconv, strcoll, strxfrm 2016-10-18 18:15:54 -06:00
Gregory Nutt
9cbac41e78 Clean-up/standardize a few header files 2015-08-03 11:01:41 -06:00
Gregory Nutt
4e2c140124 Add stpcpy() 2014-01-09 14:08:48 -06:00
patacongo
e08e917d5a Add memccpy{}
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4990 42af7a65-404d-4744-a932-0658087f49c3
2012-07-29 14:50:02 +00:00
patacongo
114d5ae1ad Add memchr()
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4989 42af7a65-404d-4744-a932-0658087f49c3
2012-07-28 20:45:29 +00:00
patacongo
8379a2ca32 RPC updates
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4446 42af7a65-404d-4744-a932-0658087f49c3
2012-03-03 00:15:10 +00:00
patacongo
3856d9897f Add strcasestr()
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4364 42af7a65-404d-4744-a932-0658087f49c3
2012-02-03 16:41:28 +00:00
patacongo
a201aecd89 Add strndup()
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3649 42af7a65-404d-4744-a932-0658087f49c3
2011-05-29 16:07:13 +00:00
patacongo
cb9de2289f Move string.h functions in lib/ to lib/string
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3439 42af7a65-404d-4744-a932-0658087f49c3
2011-03-30 19:51:19 +00:00
patacongo
61955434b1 Add strnlen()
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3054 42af7a65-404d-4744-a932-0658087f49c3
2010-10-27 20:54:11 +00:00
patacongo
eeec4073a9 Switching to C99 stdint.h types
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@2340 42af7a65-404d-4744-a932-0658087f49c3
2009-12-14 23:32:23 +00:00
patacongo
cd37d9323a cosmetic updates
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1709 42af7a65-404d-4744-a932-0658087f49c3
2009-04-19 15:21:22 +00:00
patacongo
85911f6a9d cosmetic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1256 42af7a65-404d-4744-a932-0658087f49c3
2008-11-16 16:36:30 +00:00
patacongo
4a9e922943 Add dd command to NSH
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1241 42af7a65-404d-4744-a932-0658087f49c3
2008-11-15 15:36:16 +00:00
patacongo
ea2ca7bfc3 Several webserver bugs fixed
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@391 42af7a65-404d-4744-a932-0658087f49c3
2007-11-20 20:32:33 +00:00
patacongo
238334bcd9 Add strerror()
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@80 42af7a65-404d-4744-a932-0658087f49c3
2007-03-17 16:18:49 +00:00
patacongo
aab0d08d21 Add to nsh, add limits.h, gets, strtok, strtok_r
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@54 42af7a65-404d-4744-a932-0658087f49c3
2007-03-10 14:42:30 +00:00
patacongo
9014f894a2 Code complete for 8051 (not tested)
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@29 42af7a65-404d-4744-a932-0658087f49c3
2007-03-02 21:27:47 +00:00
patacongo
bcd6ba97bd This creates a 8051 build that can run in 24Kb of RAM
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@26 42af7a65-404d-4744-a932-0658087f49c3
2007-03-01 21:05:55 +00:00
patacongo
a60059d9d0 Finally, a clean SDCC compile
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@20 42af7a65-404d-4744-a932-0658087f49c3
2007-02-27 21:17:21 +00:00
patacongo
469b933b63 SDCC detected bugs
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@11 42af7a65-404d-4744-a932-0658087f49c3
2007-02-20 19:15:03 +00:00