summaryrefslogtreecommitdiffstats
path: root/cpukit/libcsupport (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Remove superfluous <rtems/system.h> includesSebastian Huber2019-03-145-5/+0
|
* memalign: Add missing attributes to fix warningSebastian Huber2019-01-101-1/+3
| | | | Update #3666.
* Add aligned_alloc() and memalign()Sebastian Huber2018-12-211-0/+41
| | | | | | Ensure that the C++17 aligned new operator works. Close #3666.
* or1k: Support GCC 9Sebastian Huber2018-11-141-1/+2
| | | | Close #3602.
* Add rtems_malloc() and rtems_calloc()Sebastian Huber2018-11-121-0/+25
| | | | Close #3583.
* libcsupport: Add missing includeSebastian Huber2018-11-081-0/+1
| | | | Update #3598.
* config: Include <rtems.h> for RTEMS_NEWLIBSebastian Huber2018-11-071-0/+2
|
* termios: Move default lock functionsSebastian Huber2018-11-072-18/+18
| | | | | | | Move rtems_termios_device_lock_acquire_default() and rtems_termios_device_lock_release_default() to a file separate from the general Termios support. This avoids complex dependencies in printk() only scenarios.
* config: Fix CONFIGURE_DISABLE_NEWLIB_REENTRANCYSebastian Huber2018-11-071-0/+26
| | | | | | | | | | | Move the __getreent() variant using the global reentrancy structure to librtemscpu.a. This avoids a definition of __getreent() in the configuration module if CONFIGURE_DISABLE_NEWLIB_REENTRANCY is defined. This avoids all the dependencies which would be exposed by a reference to the global reentrancy structure. This change is only possible since the default configuration moved to librtemsdefaultconfig.a recently.
* posix: Provide threads by defaultSebastian Huber2018-10-291-26/+4
| | | | Update #2514.
* Remove checks for flockfile(), etc. declarationsSebastian Huber2018-10-223-3/+3
| | | | | | Declarations provided by Newlib since 2002. Update #3409.
* Remove getcwd()Sebastian Huber2018-10-221-296/+0
| | | | | | This function is provided by Newlib since 2000. Update #3409.
* Remove optional getrusage() declarationSebastian Huber2018-10-221-4/+0
| | | | | | Declaration provided by Newlib since 2014. Update #3409.
* Remove ttyname()Sebastian Huber2018-10-221-121/+0
| | | | | | This function is provided by Newlib since 2000. Update #3409.
* Remove __assert()Sebastian Huber2018-10-221-15/+0
| | | | | | This function is provided by Newlib since 2000. Update #3409.
* Remove isatty()Sebastian Huber2018-10-221-40/+0
| | | | | | These functions are provided by Newlib since 2000. Update #3409.
* Remove strlcat(), strlcpy(), strsep(), readdir_r()Sebastian Huber2018-10-223-131/+0
| | | | | | These functions are provided by Newlib since 2002. Update #3409.
* Support O_NOFOLLOW open() flagSebastian Huber2018-10-221-1/+6
| | | | Close #3546.
* Support O_DIRECTORY open() flagSebastian Huber2018-10-181-2/+13
| | | | Close #3545.
* console: Be fair in simple console readSebastian Huber2018-10-181-2/+7
| | | | | | | Wait for one tick in case no character is available after a call to getchark(). Otherwise the system is constantly busy within an input loop (for example in the RTEMS shell). The polled Termios driver uses the same approach.
* build: Merge libcsupport/Makefile.amSebastian Huber2018-10-091-134/+0
|
* build: Remove specialized CPPFLAGSSebastian Huber2018-10-091-2/+0
|
* Optimize calloc()Sebastian Huber2018-10-041-4/+5
| | | | Use return value of memset() to enable tail call optimizations.
* Avoid need for -fno-builtin for calloc()Sebastian Huber2018-10-041-0/+2
| | | | Use RTEMS_OBFUSCATE_VARIABLE() instead.
* Remove superfluous pipe_create()Sebastian Huber2018-10-042-40/+1
|
* Use rtems_task_exit()Sebastian Huber2018-10-021-2/+2
| | | | | Update #3530. Update #3533.
* riscv: Fix global constructionSebastian Huber2018-06-291-1/+1
| | | | Update #3433.
* console: Add missing return statusSebastian Huber2018-06-271-0/+2
| | | | Update #3320.
* Add RTEMS_FATAL_SOURCE_INVALID_HEAP_FREESebastian Huber2018-06-051-6/+1
| | | | | | | | An invalid heap usage such as a double free is usually a fatal error since this indicates a use after free. Replace the use of printk() in free() with a fatal error. Update #3437.
* build: Remove EXTRA_DISTSebastian Huber2018-04-041-1/+0
| | | | | A "make dist" is not supported. So, it makes no sense to have pure "make dist" related stuff in the Makefile.am.
* Add a simple task console driverSebastian Huber2018-03-065-25/+284
| | | | Close #3320.
* termios: Fix use of uninitialized variableSebastian Huber2018-02-221-4/+4
| | | | Update #2840.
* termios: Use self-contained objectsSebastian Huber2018-02-022-181/+77
| | | | Update #2840.
* Remove make preinstallChris Johns2018-01-2525-5758/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A speciality of the RTEMS build system was the make preinstall step. It copied header files from arbitrary locations into the build tree. The header files were included via the -Bsome/build/tree/path GCC command line option. This has at least seven problems: * The make preinstall step itself needs time and disk space. * Errors in header files show up in the build tree copy. This makes it hard for editors to open the right file to fix the error. * There is no clear relationship between source and build tree header files. This makes an audit of the build process difficult. * The visibility of all header files in the build tree makes it difficult to enforce API barriers. For example it is discouraged to use BSP-specifics in the cpukit. * An introduction of a new build system is difficult. * Include paths specified by the -B option are system headers. This may suppress warnings. * The parallel build had sporadic failures on some hosts. This patch removes the make preinstall step. All installed header files are moved to dedicated include directories in the source tree. Let @RTEMS_CPU@ be the target architecture, e.g. arm, powerpc, sparc, etc. Let @RTEMS_BSP_FAMILIY@ be a BSP family base directory, e.g. erc32, imx, qoriq, etc. The new cpukit include directories are: * cpukit/include * cpukit/score/cpu/@RTEMS_CPU@/include * cpukit/libnetworking The new BSP include directories are: * bsps/include * bsps/@RTEMS_CPU@/include * bsps/@RTEMS_CPU@/@RTEMS_BSP_FAMILIY@/include There are build tree include directories for generated files. The include directory order favours the most general header file, e.g. it is not possible to override general header files via the include path order. The "bootstrap -p" option was removed. The new "bootstrap -H" option should be used to regenerate the "headers.am" files. Update #3254.
* Remove obsolete network header filesSebastian Huber2017-12-078-940/+0
| | | | Update #3254.
* libio: Use API mutexSebastian Huber2017-12-062-47/+16
|
* sapi: New implementation of rtems_panic()Sebastian Huber2017-11-222-24/+1
| | | | | | | | | | | | The previous rtems_panic() implementation was quite heavy weight. It depended on _exit() which calls the global destructors. It used fprintf(stderr, ...) for output which depends on an initialized console device and the complex fprintf(). Introduce a new fatal source RTEMS_FATAL_SOURCE_PANIC for rtems_panic() and output via vprintk(). Update #3244.
* cpukit: Add _arc4random_getentropy_fail.Christian Mauderer2017-11-172-1/+23
| | | | | | | Add a default implementation of _arc4random_getentropy_fail with an internal error. Update #3239.
* libio: Add assert to rtems_libio_iop_drop()Sebastian Huber2017-11-151-0/+23
| | | | | | | This assert helps to detect an invalid reference counting in RTEMS_DEBUG configurations. Update #3132.
* score: Change _Timecounter_Time_uptime to int32_tSebastian Huber2017-11-094-0/+60
| | | | | | | Move basic timecounter API shared with BSD network stack to <machine/_timecounter.h>. Update #3185.
* termios: Fix canonical modeSebastian Huber2017-11-071-2/+4
| | | | | | | In canonical mode, input is made available line by line. We must stop the canonical buffer filling upon reception of an end-of-line character. Close #3218.
* Add simple console driverSebastian Huber2017-11-062-0/+98
| | | | | Update #3170. Update #3199.
* score: Add _IO_Printf() and _IO_Vprintf()Sebastian Huber2017-11-061-206/+14
| | | | | | | | | | | | | | The previous vprintk() implementation had a questionable licence header, lacks support for the 'z' and 'j' format specifiers, is not robust against invalid format specifiers, uses a global variable for output. Replace it with a stripped down version of the FreeBSD kernel kvprintf() function. The new implementation allows a low overhead rtems_snprintf() if necessary. Update #3199. Close #3216.
* rtems: Add rtems_print_printer_fprintf_putc()Sebastian Huber2017-10-282-0/+68
| | | | | Update #3170. Update #3199.
* tests: Move rtems_test_printer definitionSebastian Huber2017-10-281-2/+2
| | | | | | | Statically initialize it to use printk(). Update #3170. Update #3199.
* Use right time format in _times()Sebastian Huber2017-10-121-9/+5
| | | | | Update #2740. Close #3179.
* timecounter: Merge FreeBSD change r303382Konstantin Belousov2017-10-121-1/+3
| | | | | | | | | | | | | | | | | | | | | | Hide the boottime and bootimebin globals, provide the getboottime(9) and getboottimebin(9) KPI. Change consumers of boottime to use the KPI. The variables were renamed to avoid shadowing issues with local variables of the same name. Issue is that boottime* should be adjusted from tc_windup(), which requires them to be members of the timehands structure. As a preparation, this commit only introduces the interface. Some uses of boottime were found doubtful, e.g. NLM uses boottime to identify the system boot instance. Arguably the identity should not change on the leap second adjustment, but the commit is about the timekeeping code and the consumers were kept bug-to-bug compatible. Tested by: pho (as part of the bigger patch) Reviewed by: jhb (same) Discussed with: bde Sponsored by: The FreeBSD Foundation MFC after: 1 month X-Differential revision: https://reviews.freebsd.org/D7302 Update #3175.
* posix: Implement self-contained POSIX mutexSebastian Huber2017-10-052-2/+0
| | | | | | | | POSIX mutexes are now available in all configurations and no longer depend on --enable-posix. Update #2514. Update #3112.
* posix: Implement self-contained POSIX condvarSebastian Huber2017-10-052-3/+0
| | | | | | | | POSIX condition variables are now available in all configurations and no longer depend on --enable-posix. Update #2514. Update #3113.
* posix: Implement self-contained POSIX rwlocksSebastian Huber2017-10-052-3/+0
| | | | | | | | POSIX rwlocks are now available in all configurations and no longer depend on --enable-posix. Update #2514. Update #3115.