summaryrefslogtreecommitdiffstats
path: root/cpukit/posix/Makefile.am (follow)
Commit message (Collapse)AuthorAgeFilesLines
* build: Merge posix/Makefile.amSebastian Huber2018-10-101-200/+0
|
* build: Remove specialized CPPFLAGSSebastian Huber2018-10-091-1/+0
|
* Rename files to make them unique within cpukitSebastian Huber2018-10-041-2/+2
| | | | This allows to build librtemscpu.a in one rush in the future.
* build: Remove EXTRA_DISTSebastian Huber2018-04-041-2/+0
| | | | | A "make dist" is not supported. So, it makes no sense to have pure "make dist" related stuff in the Makefile.am.
* Remove make preinstallChris Johns2018-01-251-37/+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.
* posix: Fix POSIX disabled buildSebastian Huber2017-10-231-1/+4
| | | | Update #2514.
* posix: Unconditional thread attribute supportSebastian Huber2017-10-101-13/+16
| | | | Update #2514.
* posix: Remove rtems_pthread_attribute_compare()Sebastian Huber2017-10-091-3/+0
| | | | | Update #2514. Close #3174.
* posix: Simplify POSIX_API_ControlSebastian Huber2017-10-091-7/+5
| | | | | | | | | | | | | | | | | | | | | | | | Return stack area via pthread_getattr_np(). Simplify * pthread_attr_setaffinity_np(), and * pthread_attr_getaffinity_np() and let the scheduler do the more sophisticated error checks. Make * pthread_setaffinity_np(), * pthread_getaffinity_np(), * pthread_attr_setaffinity_np(), and * pthread_attr_getaffinity_np() available in all configurations. Update #2514. Close #3145. Close #3168.
* posix: Resurrect signal supportSebastian Huber2017-10-061-0/+4
| | | | | This was accidentally removed during a merge conflict by 89fc9345dea5c675f8d93546fa3c723918d3279a.
* posix: Implement self-contained POSIX mutexSebastian Huber2017-10-051-12/+11
| | | | | | | | 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-051-11/+10
| | | | | | | | 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-051-8/+3
| | | | | | | | POSIX rwlocks are now available in all configurations and no longer depend on --enable-posix. Update #2514. Update #3115.
* posix: Implement self-contained POSIX barriersSebastian Huber2017-10-051-6/+5
| | | | | | | | POSIX barriers are now available in all configurations and no longer depend on --enable-posix. Update #2514. Update #3114.
* posix: Implement self-contained POSIX semaphoresSebastian Huber2017-10-051-8/+16
| | | | | | | | | | | | | | For semaphore object pointer and object validation see POSIX_SEMAPHORE_VALIDATE_OBJECT(). Destruction or close of a busy semaphore returns an error status. The object is not flushed. POSIX semaphores are now available in all configurations and no longer depend on --enable-posix. Update #2514. Update #3116.
* posix: Add mmap/unmap support for mapping files.Chris Johns2017-05-051-0/+1
| | | | | | | This version of mmap comes from early work done on the RTL code base circa 2012. Update #2859.
* posix: shared memory supportGedare Bloom2017-01-131-0/+5
| | | | | | | | | Add POSIX shared memory manager (Shm). Includes a hook-based approach for the backing memory storage that defaults to the Workspace, and a test is provided using the heap. A test is also provided for the basic use of mmap'ing a shared memory object. This test currently fails at the mmap stage due to no support for mmap.
* posix: add stub implementations for mman functionsGedare Bloom2017-01-131-0/+8
|
* configure: Remove HAVE_SEMAPHORE_H supportSebastian Huber2017-01-131-3/+0
|
* posix: Add pthread_getname_np(), ...Sebastian Huber2017-01-131-0/+2
| | | | | | Add pthread_getname_np() and pthread_setname_np(). Update #2858.
* posix: Add self-contained pthread spinlockSebastian Huber2016-11-231-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Turn pthread_spinlock_t into a self-contained object. On uni-processor configurations, interrupts are disabled in the lock/trylock operations and the previous interrupt status is restored in the corresponding unlock operations. On SMP configurations, a ticket lock is a acquired and released in addition. The self-contained pthread_spinlock_t object is defined by Newlib in <sys/_pthreadtypes.h>. typedef struct { struct _Ticket_lock_Control _lock; __uint32_t _interrupt_state; } pthread_spinlock_t; This implementation is simple and efficient. However, this test case of the Linux Test Project would fail due to call of printf() and sleep() during spin lock ownership: https://github.com/linux-test-project/ltp/blob/master/testcases/open_posix_testsuite/conformance/interfaces/pthread_spin_lock/1-2.c There is only limited support for profiling on SMP configurations. Delete CORE spinlock implementation. Update #2674.
* posix: _POSIX_Mutex_Default_attributesSebastian Huber2016-06-221-1/+1
| | | | | | Make _POSIX_Mutex_Default_attributes constant and independent of the scheduler instance. Use INT_MAX to indicate the default ceiling priority.
* Add pthread_condattr_getclock() and pthread_condattr_setclock()Joel Sherrill2016-06-161-1/+3
| | | | updates #2608.
* posix: sched_get_priority_max()Sebastian Huber2016-06-141-1/+2
| | | | | | Enable for all configurations since it pulls in no additional dependencies. Return value of the scheduler instance of the executing thread.
* posix: sched_get_priority_min()Sebastian Huber2016-06-141-1/+3
| | | | | Enable for all configurations since it pulls in no additional dependencies.
* posix: Add pthread_setschedprio()Sebastian Huber2016-06-131-0/+1
| | | | Close #2734.
* score: Add Status_Control for all APIsSebastian Huber2016-05-261-7/+6
| | | | | | | | | | | Unify the status codes of the Classic and POSIX API to use the new enum Status_Control. This eliminates the Thread_Control::Wait::timeout_code field and the timeout parameter of _Thread_queue_Enqueue_critical() and _MPCI_Send_request_packet(). It gets rid of the status code translation tables and instead uses simple bit operations to get the status for a particular API. This enables translation of status code constants at compile time. Add _Thread_Wait_get_status() to avoid direct access of thread internal data structures.
* posix: Rework thread cancellationSebastian Huber2016-05-201-2/+1
| | | | | | | | Add Thread_Life_state::THREAD_LIFE_CHANGE_DEFERRED and rework the POSIX thread cancellation to use the thread life states. Update #2555. Update #2626.
* posix: _POSIX_Message_queue_Create_support()Sebastian Huber2016-05-021-1/+1
| | | | | Make _POSIX_Message_queue_Create_support() static since it is only used by mq_open().
* Add pthread_getconcurrency() and pthread_setconcurrency()Joel Sherrill2016-04-141-0/+1
| | | | | | | | | This is the very simple implementation specified by the Open Group for implementations with 1:1 kernel thread to user thread mappings. http://pubs.opengroup.org/onlinepubs/9699919799/functions/pthread_getconcurrency.html updates #2680.
* posix: Make _POSIX_signals_Check_signal() staticSebastian Huber2016-04-061-1/+1
|
* posix: Use per-thread lookup tree for POSIX KeysSebastian Huber2016-03-181-1/+1
| | | | | | Yields higher performance on SMP systems. Close #2625.
* score: Replace watchdog handler implementationSebastian Huber2016-03-041-2/+1
| | | | | | | | | Use a red-black tree instead of delta chains. Close #2344. Update #2554. Update #2555. Close #2606.
* Optional POSIX Keys initializationSebastian Huber2016-02-031-1/+1
| | | | Update #2408.
* Optional POSIX Cleanup initializationSebastian Huber2016-02-031-2/+2
| | | | Update #2408.
* posix/src/exec*: Remove all variants already in NewlibJoel Sherrill2016-01-191-3/+1
| | | | | | | | The RTEMS build of Newlib includes implementations of all exec*() variants. They rely on the _execve() support method. RTEMS already had this and it returned ENOSYS. There is no functional change. closes #2537.
* posix: Remove clock_getenable_attr() and clock_setenable_attr()Joel Sherrill2016-01-181-2/+1
| | | | | | | | | These were not implemented and it does not appear that they were ever officially part of an approved POSIX standard. They were likely part of the Draft 8 of POSIX 1003.1b that RTEMS pthreads were initially based upon. closes #2531.
* score: Rename _POSIX_Absolute_timeout_to_ticks()Sebastian Huber2015-07-281-2/+1
| | | | | | Rename _POSIX_Absolute_timeout_to_ticks() to _TOD_Absolute_timeout_to_ticks() and move it to the score directory. Delete empty <rtems/posix/time.h>.
* posix: Install <semaphore.h> only if not providedSebastian Huber2015-03-101-0/+2
|
* sys/mman.h: New file. Clean up and add supporting stubsJoel Sherrill2014-11-201-0/+2
| | | | | | * Makefile.am updated and preinstall.am regenerated. * mprotect.c had a prototype removed now that we have mman.h * mmap.c, munmap.c: New stub files.
* posix: Use interal mutex for once implementationSebastian Huber2014-03-191-4/+3
| | | | | | Enable pthread_once() for all configurations. The pthread_once() function is one means to initialize POSIX keys. Another use case is the C++ support.
* POSIX keys now enabled in all configurations.Joel Sherrill2014-03-071-9/+11
| | | | | | | Formerly POSIX keys were only enabled when POSIX threads were enabled. Because they are a truly safe alternative to per-task variables in an SMP system, they are being enabled in all configurations.
* Remove trailing whitespace in previous patchesJennifer Averett2014-03-071-2/+2
|
* posix: Add pthread_getattr_np().Jennifer Averett2014-03-071-0/+1
| | | | | This is a useful POSIX thread API helper which is found in `GNU/Linux and *BSD.
* posix: Add dynamic pthread get and set affinity.Jennifer Averett2014-03-071-1/+2
| | | | | | | This patch adds the following methods: + pthread_get_affinity_np + pthread_set_affinity_np
* posix: Add pthread_attr_t methods to get/set affinity.Jennifer Averett2014-03-071-0/+6
| | | | | | | This patch adds the following methods: + pthread_attr_get_affinity_np + pthread_attr_set_affinity_np
* posix: Add support method to compare two pthread attribute structures.Jennifer Averett2014-03-071-0/+3
|
* posix: Change pthread_once to be SMP safe.Chris Johns2013-08-141-1/+5
| | | | | | | | | | Change pthread_once from using disabled pre-emption to using a pthread mutex making it SMP safe. GCC using a posix threading model uses pthread_once. The pthread mutex requires at least 1 mutex is configured so confdefs.h has been updated to account for the internal mutex.
* PR766: Delete __RTEMS_INSIDE__Sebastian Huber2013-08-081-2/+0
|
* posix: Create key implementation headerSebastian Huber2013-08-061-2/+1
| | | | | | Move implementation specific parts of key.h and key.inl into new header file keyimpl.h. The key.h contains now only the application visible API.