Commit Graph

702 Commits

Author SHA1 Message Date
Alan Carvalho de Assis
3ccef07863 C library: Add wcstoll function 2017-03-08 12:26:35 -06:00
Gregory Nutt
05a288f2e1 C library: Add strerror_r 2017-03-08 12:14:07 -06:00
Gregory Nutt
f97a99e051 C library: Remove unused static global from lib_dtoa.c 2017-02-26 18:17:08 -06:00
David Sidrane
4692399e18 Fixes warning and file name 2017-02-22 19:19:49 +00:00
Gregory Nutt
4539988d00 Removed CONFIG_LIBC_ARCH_BZERO. bzero() is a deprecated interface. There are no architecture-specific replacements and, if there were, they should replace memset(), not bzero(). 2017-02-22 10:41:49 -06:00
Gregory Nutt
4d23bfd73d Update libc/libc.csv 2017-02-16 16:35:24 -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
2cfbf9c8d8 C library: Add strtoimax and strtoumax. 2017-02-16 15:12:37 -06:00
Gregory Nutt
4ed3ae19d7 Add file that I forgot to add in last commit. Move libc/stdlib/lib_imaxabs.c to inittypes/. 2017-02-16 14:54:35 -06:00
Gregory Nutt
a49b349614 C library: Add swab() 2017-02-16 14:42:27 -06:00
Gregory Nutt
fed9d5a0f8 cunistd: Fix stray single back quote the crept in in last commit. 2017-02-16 11:22:02 -06:00
Gregory Nutt
b4d378adb8 Don't build libc/pthread if pthreasa are disable. Fix a warning in dirent logic if mountpoints are disabled. 2017-02-16 09:53:13 -06:00
Gregory Nutt
1ca0437909 libc/Kconfig: Remove source'ing file twice. Use cleaner dependencies in some menus. 2017-02-10 10:28:34 -06:00
Gregory Nutt
67feda60b2 libc/Kconfig: Use menus vs. comments to better organize the C library menus 2017-02-10 10:04:56 -06:00
Gregory Nutt
de1b68dc4e libc/Kconfig: Break big Kconfig up into separate Kconfig files in each libc subdirectory. 2017-02-10 09:32:55 -06:00
David Sidrane
6295d571ce Minor typos 2017-02-09 22:58:37 +00:00
Gregory Nutt
9946969c6c libc/stdio/Make.defs: the no-flush stubs now need to be built unconditionally 2017-02-09 16:37:17 -06:00
Gregory Nutt
0b4a9539be tools/mkconfig.c: Add logic to keep all of the buffering options in sync. 2017-02-09 16:17:54 -06:00
Gregory Nutt
98d072a1f7 Apparently setvbuf() size can be nonzero with _IONBF. That makes no sense, but is necessary if setbuf() is to work as it is defined at OpenGroup.org. 2017-02-09 15:39:33 -06:00
Gregory Nutt
ffbf6bc9a6 libc/misc/fs_filesem.c references struct file_struct. Should include nuttx/fs/fs.h 2017-02-09 15:16:36 -06:00
Gregory Nutt
c19aa094e1 C Library: Add setbuf() which is a trivial wrapper around setvbuf(). 2017-02-09 15:04:53 -06:00
Gregory Nutt
085dcf92e3 Update Coding Standard and some Kconfig comments. 2017-02-09 12:57:44 -06:00
Gregory Nutt
abcbb24cf2 sem_open(): Fix a compiler error introduced with the setvbuf() changes. 2017-02-09 10:56:12 -06:00
Gregory Nutt
03120aca70 C Library: Clean-up buffer selections in Kconfig 2017-02-09 10:28:18 -06:00
Gregory Nutt
889ff4b01e setvbuf: Fix some compile errors in first build of logic to enable/disable buffering. 2017-02-09 09:53:50 -06:00
Gregory Nutt
1d290c2b37 setvbuf: Add support for disabling I/O buffering. Initially cut; untested. 2017-02-09 09:24:44 -06:00
Gregory Nutt
f126cd9d46 Remove comment about being based on a Newlib implementation. That is not true. This is an original work. 2017-02-08 14:17:25 -06:00
Gregory Nutt
a92887c63d setvbuf: Correct some errors detected by code review. 2017-02-08 14:06:29 -06:00
Gregory Nutt
1393061400 Update some comments 2017-02-08 11:47:12 -06:00
Gregory Nutt
9f859774a1 setvbuf: Add support for configuration of line buffering. 2017-02-08 11:28:24 -06:00
Gregory Nutt
51a14c9b2f C Library: Add a very limited, first step implementation of setvbuf(). This is a collaborative effort. Alan Carvalho de Assis did the initial prototype. 2017-02-08 10:33:18 -06:00
Gregory Nutt
4700499b59 C library: Remove comments blocks before empty sections 2017-02-08 07:55:37 -06:00
Gregory Nutt
e30b2617e3 Shared Libs: Implement module based shared libraries for the PROTECTED mode build 2017-01-29 13:03:53 -06:00
Gregory Nutt
2c45f482b1 Module names are not needed in libc/modlib when the module library is used only for shared library support. 2017-01-29 12:23:24 -06:00
Gregory Nutt
86bdd0a4c7 Modules: Move last of many C files from sched/module to libc/modlib 2017-01-29 11:54:54 -06:00
Gregory Nutt
6da66fb5c8 Modules: Move next five of many C files from sched/module to libc/modlib 2017-01-29 11:17:29 -06:00
Gregory Nutt
5e94dd22bb Modules: Move first five of many C files from sched/module to libc/modlib 2017-01-29 10:05:15 -06:00
Gregory Nutt
00e46b5966 Move gnu-elf.ld from sched/module to libc/modlib. Update paths in Make.defs files to account for new location of file 2017-01-29 09:03:01 -06:00
Gregory Nutt
2717e781f0 libc/modlib: Add build a configuration logic for a shared module library. 2017-01-29 08:55:27 -06:00
Gregory Nutt
3af8da9c48 Fix 'the the' 2017-01-29 07:52:44 -06:00
Gregory Nutt
a06d26e044 Shared libraries: Add a non-standard dllfnc.h function to set the symbol table. 2017-01-23 08:20:24 -06:00
Gregory Nutt
c4acabaa74 In dlopen(), use the basename of the file as the module name 2017-01-22 16:01:03 -06:00
Gregory Nutt
8d52ad9dd6 Shared Libraries: In the FLAT build mode, kernel modules may be used to provide minimal shared library functionality. 2017-01-22 15:33:19 -06:00
Gregory Nutt
2a284a95b1 C library: Add framework that may (or may not) eventually support shared libraries. 2017-01-22 09:14:18 -06:00
Gregory Nutt
ba2b345990 Remove a few remaining use of the obsolteted 'Compilation Switches' program section 2017-01-22 08:57:18 -06:00
Gregory Nutt
b656e371d3 ELF: Move sim and x86 ARM versions of ELF relocation logic to libc/machine 2017-01-21 15:40:51 -06:00
Gregory Nutt
4a8c6a6d2d ELF: Move ARMv6-M, ARMv7-M, and legacy ARM versions of ELF relocation logic to libc/machine 2017-01-21 15:24:25 -06:00
Gregory Nutt
edd9186540 ELF: Move ARMv7-A and ARMv7-R versions of ELF relocation logic to libc/machine 2017-01-21 14:40:26 -06:00
Gregory Nutt
49c39f0999 libc/machine/: Move all ARM subdirectories under a common arm/ sub-directory 2017-01-21 13:43:45 -06:00
Gregory Nutt
7578382890 Add dllfcn.h header file (no implementation of shared objects yet in place). 2017-01-21 13:07:40 -06:00
Gregory Nutt
4346a66ad7 ARM memcpy(): Use DWord vs. HWord offset. ARM 32-bit instructions must be aligned to DWord boundaries and this gives us more range in the jump tables. 2017-01-20 14:53:50 -06:00
Gregory Nutt
2782ce10d3 Update copyright notice. 2017-01-20 14:35:27 -06:00
Gregory Nutt
a8a66667c1 libc: Fix ARMv7-A/R memcpy assembly. 2017-01-20 13:33:50 -06:00
Gregory Nutt
be5ba90d4f Move optimized ARM memcpy functions from arch/arm/src/ to libc/machine/. This is necessary for the PROTECTED and KERNEL build modes. Otherwise, memcpy() will be built in to kernel space and not accessible to applications. 2017-01-20 10:53:46 -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
Gregory Nutt
9cc37d8ee1 Math library optimatizations for FPU only apply to ARMv8 which is not yet supported. 2017-01-20 08:24:59 -06:00
Gregory Nutt
2f8c2b62e1 Correct cloned typographical error in name of Rhombus OS 2017-01-19 12:11:30 -06:00
Gregory Nutt
21746c588f Update Copyright for NuttX adaption 2017-01-19 09:57:16 -06:00
Gregory Nutt
eba03c2590 Math library: Leverage optimized ARM functions from BSD license ARM file. 2017-01-19 09:37:33 -06:00
Gregory Nutt
e3a535f66f Fix verboten C99/C11 construct in sscanf() 2017-01-09 11:23:05 -06:00
Gregory Nutt
bbc16f9aea libc/Kconfig: Correct an error in variable type 2017-01-09 11:15:06 -06:00
Gregory Nutt
81712be04e sscanf: Backs out logic of ca1150ce6c 2017-01-09 10:35:28 -06:00
Gregory Nutt
7fbc3ba1e1 Comments should begin with uppercase letters. 2017-01-09 09:22:46 -06:00
Gregory Nutt
07e832340f dtoa: More white space 2017-01-07 15:13:48 -06:00
Gregory Nutt
e568253eb3 Update README, some comments, and fix some spacing. 2017-01-07 10:36:18 -06:00
Pierre-noel Bouteville
562fa6b400 Add debug assertion in libdtoa to catch attempts to use floating point output formats from within an interrupt handler. That will cause assertions or crashes downstream because __dtoa will attempt to allocate memory. 2017-01-06 15:45:03 -06:00
Gregory Nutt
0b52e6f571 Font cache: Replace fixed-size array with variable size link list. 2017-01-06 09:07:25 -06:00
Gregory Nutt
8ce1fdaab0 Add an attribution to the scanset addition to sscanf() 2016-12-17 16:18:04 -06:00
Author: Aleksandr Vyhovanec
7be1b86a81 Add scansets to the scanf function. Enabled CONFIG_LIBC_SCANSET option. 2016-12-17 14:39:19 -06:00
Gregory Nutt
c83da3c48f Remove minnsh configurations and support logic: up_getc() and lowinstream.
This was an interesting exercise to see just how small you could get NuttX, but otherwise it was not useful:  (1) the NSH code violated the OS interface layer by callup up_getc and up_putc directly, and (2) while waiting for character input, NSH would call up_getc() which would hog all of the CPU.  NOt a reasonably solution other than as a proof of concept.
2016-12-13 18:01:23 -06:00
Gregory Nutt
5d99a37ab7 Update user manual 2016-12-11 13:40:26 -06:00
Gregory Nutt
d648f9c8b4 Add task_testcancel() 2016-12-10 16:34:14 -06:00
Gregory Nutt
50a25c3fde Forget to add files before last commits 2016-12-10 16:12:35 -06:00
Gregory Nutt
f132960789 Add task_setcanceltype() 2016-12-10 16:06:14 -06:00
Gregory Nutt
4c68c93f47 Forgot to add some files in the last commit. 2016-12-10 07:41:56 -06:00
Gregory Nutt
e62b3bccd3 pthread_setcanceltype() and pthread_testcancel() do not have to be system calls if cancellation points are not enabled. 2016-12-10 07:40:48 -06:00
Gregory Nutt
7fce8022c6 Finishes all cancellation point logic 2016-12-09 16:50:34 -06:00
Gregory Nutt
16be9b332e More cancellation points 2016-12-09 15:17:58 -06:00
Gregory Nutt
7c4e3e21b8 Allow option to enable IP address conversions even when the IP address family is not supported. 2016-12-04 09:06:08 -06:00
Eunbong Song
4545af3249 sleep() was returning remaining nanoseconds (kind of), instead the remaining seconds. 2016-11-15 06:47:59 -06:00
Juha Niskanen
b7ed12ebd3 Patch brings strtol() and related functions more conformant with POSIX. Corner cases like strtol(-2147483648, NULL, 10) now pass clang -fsanitize=integer without warnings. 2016-11-10 06:18:42 -06:00
Gregory Nutt
796969f6b6 Update TODO. Provide do-nothing stubs for mutex attribute interfaces if features not enabled. pthread_cond includes a signaling semaphore and should call sem_setprotocol. 2016-11-05 11:06:52 -06:00
Gregory Nutt
b0dffdc2ca Fix a number of header files with mismatched 'extern C {' and '}' 2016-11-05 07:25:05 -06:00
Gregory Nutt
73fc186beb sem_setprotocol: Handle a case of missing proxy for sem_setprotocol. Reorder so that (1) this error is avoided, and (2) >No proxy is needed if priority inheritance is not enabled. 2016-11-03 18:51:38 -06:00
Gregory Nutt
4c8ec0d2ca include/nuttx/semaphore.h: Fix broken macros 2016-11-03 12:49:44 -06:00
Gregory Nutt
d5b4d848d3 Move protoypes for the non-standard include/semaphore.h file to the non-standard include/nuttx/semaphore.h with the other non-standard semaphore interfaces. 2016-11-02 14:43:03 -06:00
Gregory Nutt
b738a646ad sem_getprotocol() can be in C library 2016-11-02 09:29:16 -06:00
Gregory Nutt
92d3022411 Add pthread_mutexattr_get/set_protocol and non-standard sem_get/set_protocol. These may use to enable or disable priority inheritance on a single semaphore. 2016-11-02 09:05:18 -06:00
Gregory Nutt
14e06a3ce3 libc/pthread: Rename long files so that they are more readable 2016-11-02 07:37:56 -06:00
Gregory Nutt
123c520db4 Correct time initialization for the case where time is initialized from settings in the .config file. The correct range for month (tm_mon) internally is 0-11, not 1-12 as it is in the .config file. 2016-10-27 08:36:24 -06:00
Gregory Nutt
0967864c92 Correct clock initialization. The correct range for the month is 0-11 but is entered as 1-12 in the .config file 2016-10-27 08:32:23 -06:00
Gregory Nutt
57ad019fba Revert "Correct a problem in clock_gettime(CLOCK_REALTIME, &time); which is ahead by 1 month of the specified CONFIG_START_MONTH"
I don't believe this change is correct in general.  Nomralling clock_isleapyear() is called with tm_mon which is in the range of 0-11.  That change would be bad for that range.  It would make sense for a range of 1-12, but that is not how tm_mon is defined.

This reverts commit 1796a25e53.
2016-10-27 08:20:16 -06:00
Marc Rechté
1796a25e53 Correct a problem in clock_gettime(CLOCK_REALTIME, &time); which is ahead by 1 month of the specified CONFIG_START_MONTH 2016-10-27 07:10:36 -06:00
Gregory Nutt
177239feae sscanf: Use strtof() instead of strtod() if a short floating point value was requested. The should help performance with MCUs with 32-bit FPU support 2016-10-22 13:42:43 -06:00
Gregory Nutt
d08596a653 libc/stdlib: Fix a few minor coding style issues 2016-10-22 13:27:56 -06:00
Gregory Nutt
41137b82fa Add strtold() 2016-10-22 13:02:55 -06:00
Gregory Nutt
9438c42fff strtof: Also make sure that all integer values use in expressions are cast to float 2016-10-20 13:06:55 -06:00
Gregory Nutt
e30a47ba46 libc: Make sure that all constant floating point values have F suffix in strtof() 2016-10-20 13:03:15 -06:00
Gregory Nutt
2b22666554 Forgot to add a file before the last commit 2016-10-20 12:57:27 -06:00
Gregory Nutt
30ab01b1d8 strtof: Add strtof() as simply a compy of strtod with types and limits changed 2016-10-20 12:07:12 -06:00