summaryrefslogtreecommitdiffstats
path: root/cpukit/libcsupport (unfollow)
Commit message (Collapse)AuthorFilesLines
2024-01-26cpukit/cache: Report coherent add area failuresKinsey Moore1-12/+18
This alters the API for rtems_cache_coherent_add_area to allow reporting of failures that can occur during the process of adding a new area to the coherent cache heap.
2023-10-13cpukit: Remove unused includesKinsey Moore4-5/+0
2023-07-28score: Move formatted I/O functionsSebastian Huber1-1/+1
These functions do not belong to an super core service.
2023-07-26libcsupport: Add file to Doxygen groupSebastian Huber1-2/+9
Update #3707.
2023-05-31termios: Add <rtems/termiosdevice.h>Sebastian Huber1-4/+7
Add <rtems/termiosdevice.h> which does not depend on <rtems/libio.h> to provide rtems_termios_device_context and rtems_termios_device_handler. For polled serial device drivers, this removes a header file dependency to the full file system support.
2023-05-20Update company nameSebastian Huber55-55/+55
The embedded brains GmbH & Co. KG is the legal successor of embedded brains GmbH.
2022-07-21Support _REENT_THREAD_LOCAL Newlib configurationMatt Joyce2-0/+8
In case the Newlib _REENT_THREAD_LOCAL configuration option is enabled, the struct _reent is not defined (there is only a forward declaration in <sys/reent.h>). Instead, the usual members of struct _reent are available as dedicatd thread-local storage objects. Update #4560.
2022-07-04gcov: Add fork(), etc. gcov wrappersSebastian Huber1-0/+94
The compiler wraps fork(), etc. system calls if coverage generation is enabled. These functions must be provided by the system. For RTEMS, they just return an error status. Update #4670.
2022-06-15cpukit: Change _COMPILING_NEWLIB to _LIBC for helper functions declsChris Johns2-3/+3
Updates #4662
2022-05-17Synchronize all file descriptors in sync()Sebastian Huber1-72/+12
Synchronize all file descriptors and not just the ones associated with a FILE object. Close #4656.
2022-05-04error.c: Add file header and licenseRyan Long1-2/+28
This file had no header, copyright, or license. Based on git history, added appropriate copyright and license.
2022-05-04__getpid: Add file headers and licensesRyan Long1-0/+28
This file had no header, copyright, or license. Based on git history, added appropriate copyright and license.
2022-05-04cpukit/libcsupport: Adding file headers and licensesRyan Long25-10/+734
These files had no file header, copyright, or license. Based on git history, added appropriate copyright and license.
2022-04-05Update email address of Fernando Ruiz Casas to <fruizcasas@gmail.com>Joel Sherrill6-10/+10
This was requested to be executed prior to relicensing to BSD-2.
2022-04-01cpukit/libcsupport/src/_*: Change license to BSD-2Joel Sherrill8-24/+176
Updates #3053.
2022-04-01cpukit/libcsupport/src/[g-r]*: Change license to BSD-2Joel Sherrill51-157/+1132
Updates #3053.
2022-04-01cpukit/libcsupport/src/[s-z]*: Change license to BSD-2Joel Sherrill40-127/+893
Updates #3053.
2022-04-01cpukit/libcsupport/src/[a-f]*: Change license to BSD-2Joel Sherrill38-117/+841
Updates #3053.
2022-04-01libcsupport: Use _fwalk_reent()Sebastian Huber1-19/+10
Use _fwalk_reent() instead of _fwalk(), since _fwalk() was removed from Newlib. Include <sys/reent.h> and remove local declarations.
2022-03-24cpukit/: Update Eric Norum contact info and normalize file headersJoel Sherrill6-22/+12
2022-03-10cpukit/: Scripted embedded brains header file clean upJoel Sherrill29-173/+1
Updates #4625.
2022-02-10termios: Pass number of sent chars to l_startChristian Mauderer1-2/+3
At the moment the line discipline start function (l_start) has no possibility to get feedback about the number of characters that have been sent. This patch passes that information via an additional parameter. The change might trigger a warning on existing code because of a pointer mismatch but it shouldn't break it. An existing function with the old API will just ignore the additional parameter. Update #4493
2022-01-27Remove obsolete rtems_gxx_*() implementationSebastian Huber1-261/+0
GCC versions prior to 6.1 used a RTEMS thread model based on rtems_gxx_*() functions. GCC version 6.1 or later uses the self-contained synchronization objects of Newlib <sys/lock.h> for the RTEMS thread model. Remove the obsolete implementation. Close #3143.
2021-11-30libc: Optimize malloc() initializationSebastian Huber2-82/+1
The BSPs provide memory for the separate C Program Heap initialization via _Memory_Get(). Most BSPs provide exactly one memory area. Only two BSPs provide more than one memory area (arm/altera-cyclone-v and bsps/powerpc/mpc55xxevb). Only if more than one memory area is provided, there is a need to use _Heap_Extend(). Provide two implementations to initialize the separate C Program Heap and let the BSP select one of the implementations based on the number of provided memory areas. This gets rid of a dependency on _Heap_Extend(). It also avoids dead code sections for most BSPs. Change licence to BSD-2-Clause according to file history. Update #3053.
2021-10-25rtems: Fix rate monotonic statisticsSebastian Huber1-1/+2
The rate monotonic period statistics were affected by rtems_cpu_usage_reset(). The logic to detect and work around a CPU usage reset was broken. The Thread_Contol::cpu_time_used is changed to contain the processor time used throughout the entire lifetime of the thread. The new member Thread_Contol::cpu_time_used_at_last_reset is added to contain the processor time used at the time of the last reset through rtems_cpu_usage_reset(). This decouples the resets of the CPU usage and the rate monotonic period statistics. Update #4528.
2021-09-20pxcdevctl: Adjust for standardRyan Long1-8/+72
psxdevctl is supposed to return the value in errno. Before, it was returning -1 and setting errno. Changed the tests to reflect these changes. Added code from RRADE's posix_devctl.c. Closes #4506
2021-08-02rtems: Generate <rtems/bspIo.h>Sebastian Huber7-14/+28
Change license to BSD-2-Clause according to file histories and documentation re-licensing agreement. Place the group into the I/O Manager group. Add all source files to the group. Update #3899. Update #3993. Update #4482.
2021-07-28libcsupport: Consistent rtems_putc() outputSebastian Huber1-16/+34
Use the same function to output the '\r\n' combination produced by rtems_putc(). Fix the format. Change licence according to file history. Update #3053.
2021-07-28libcsupport: Fix TOCTOU in getchark()Sebastian Huber1-8/+13
Use the same function pointer value to check against NULL and call the function (if non-NULL). Fix format, add Doxygen comments, and reduce includes.
2021-06-09futimens.c, utime.c: Remove unnecessary include of <sys/stat.h>.Joel Sherrill2-2/+0
2021-05-28Change filesystem utime_h handler to utimens_hRyan Long3-13/+30
Also updated licenses. Closes #4400 Updates #3899
2021-05-28libcsupport: Implement utimes() in terms of utimensat()Ryan Long1-14/+49
utimes() now calls utimensat() to update file access and modification timestamps. Updated license. Closes #4398
2021-05-28libcsupport: Implement utime() in terms of utimensat()Ryan Long1-32/+40
utime() now calls utimensat() to update file access and modification timestamps. Updated license. Closes #4397
2021-05-28libcsupport: Added futimens() and utimensat()Ryan Long2-0/+312
Created futimens.c and utimensat.c to add support for the POSIX methods futimens() and utimensat(). utime() and utimes() are considered obsolote by POSIX, but RTEMS will continue to support them. Closes #4396
2021-05-25sysinit: Do not open console when just referencing reentrancy structure.Joel Sherrill1-6/+0
This change eliminates a system initialization dependentcy which resulted in an application without a file system or console referencing errno being forced to include the code to open(/dev/console), close(), atexit(), and the unmount infrastructure. Closes #4439.
2021-05-07Check the alignment in posix_memalign() earlierSebastian Huber1-4/+4
Make sure all conditions to do a proper memory allocation are satisfied before a zero size memory allocation is performed. Update #4390.
2021-05-06Return NULL for zero size allocationsSebastian Huber7-8/+30
In POSIX, zero size memory allocations are implementation-defined behaviour. The implementation has two options: https://pubs.opengroup.org/onlinepubs/9699919799/functions/malloc.html https://pubs.opengroup.org/onlinepubs/9699919799/functions/posix_memalign.html Linux and FreeBSD return a unique pointer for zero size memory allocations. Return NULL on RTEMS to more likely catch the use of a zero size memory area by erroneous applications. Update #4390.
2021-05-06libc: Reimplement posix_memlign()Sebastian Huber1-7/+22
Move all error checks into posix_memalign() so that the returned memory pointer is set to NULL under all error conditions except memptr == NULL. Use parameter names of POSIX documentation.
2021-05-04Make zero size allocation result consistentSebastian Huber3-14/+4
The zero size allocations had no consistent behaviour in RTEMS. For example, malloc( 0 ) returned NULL and posix_memalign( &p, align, 0 ) returned in p a unique pointer (or NULL if no memory is available). In POSIX, zero size memory allocations are implementation-defined behaviour. The implementation has two options: https://pubs.opengroup.org/onlinepubs/9699919799/functions/malloc.html https://pubs.opengroup.org/onlinepubs/9699919799/functions/posix_memalign.html Linux and FreeBSD return a unique pointer for zero size memory allocations. Use this approach for RTEMS as well throughout the memory allocation directives Close #4390.
2021-04-29pwdgrp.c: Removed unused variableRyan Long1-2/+0
The 'sc' variable was originally storing the return value of mkdir(). This was causing an issue, so it was changed to make it to where we ignored the return value with (void). The 'sc' variable was left in by mistake.
2021-04-20Fix calloc() behaviour in case of overflowSebastian Huber2-2/+20
The multiplication to calculate the length of the memory area to allocate may overflow. Return NULL in case of an overflow. Close #4389.
2021-04-20malloc: Hide RTEMS_Malloc_Sbrk_amountSebastian Huber1-1/+6
Move RTEMS_Malloc_Sbrk_amount to the only implementation file which uses it and make it private to hide implementation-details from an API header.
2021-04-20libcsupport: Move rtems_calloc()Sebastian Huber2-15/+57
Move rtems_calloc() since it only depends on rtems_malloc(). This may make it easier to customize the heap allocator. Change licence to BSD-2-Clause according to file history. Update #3053.
2021-04-20Remove superfluous <rtems/score/wkspace.h> includesSebastian Huber1-1/+0
2021-03-27pwdgrp.c: Change to simply ignore return value from mkdir(/etc)Joel Sherrill1-3/+1
At this point in time, /etc can be created in multiple ways. There is a discussion (#4354) that would define a mechanism for instantiating a base file system with some flexibility for the set of directories included. For now, this particular mkdir() call can fail because /etc could already have been created by at least an initial filesystem image, the shell, or libbsd. closes #4382.
2021-03-23pwdgrp.c: Remove _Assert. /etc may already existRyan Long1-1/+5
Removed the _Assert_unused_variable_equals macro due to /etc having already been created by the network stack initialization or an initial filesystem image. Closes #4282
2021-03-08pwdgrp.c: Fix Unchecked return value from library (CID #1255518)Ryan Long1-1/+5
CID 1255518: Unchecked return value from library in pwdgrp_init(). Closes #4282
2021-02-27getgrent.c, record-client.c: Add missing includes for assert.hVijay Kumar Banerjee1-0/+1
2021-02-26getgrent.c: Fix Unchecked return value error (CID #1459004)Ryan Long1-1/+3
CID 1459004: Unchecked return value in endgrent(). Closes #4261
2021-02-26printertask.c: Fix Unchecked return value (CID #1399710)Ryan Long1-3/+8
CID 1399710: Unchecked return value in printer_task(). CID 1472764: Unchecked return value in rtems_print_printer_task(). Closes #4258