summaryrefslogtreecommitdiffstats
path: root/cpukit/posix/Makefile.am (unfollow)
Commit message (Collapse)AuthorFilesLines
2018-10-10build: Merge posix/Makefile.amSebastian Huber1-200/+0
2018-10-09build: Remove specialized CPPFLAGSSebastian Huber1-1/+0
2018-10-04Rename files to make them unique within cpukitSebastian Huber1-2/+2
This allows to build librtemscpu.a in one rush in the future.
2018-04-04build: Remove EXTRA_DISTSebastian Huber1-2/+0
A "make dist" is not supported. So, it makes no sense to have pure "make dist" related stuff in the Makefile.am.
2018-01-25Remove make preinstallChris Johns1-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.
2017-10-23posix: Fix POSIX disabled buildSebastian Huber1-1/+4
Update #2514.
2017-10-10posix: Unconditional thread attribute supportSebastian Huber1-13/+16
Update #2514.
2017-10-09posix: Remove rtems_pthread_attribute_compare()Sebastian Huber1-3/+0
Update #2514. Close #3174.
2017-10-09posix: Simplify POSIX_API_ControlSebastian Huber1-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.
2017-10-06posix: Resurrect signal supportSebastian Huber1-0/+4
This was accidentally removed during a merge conflict by 89fc9345dea5c675f8d93546fa3c723918d3279a.
2017-10-05posix: Implement self-contained POSIX mutexSebastian Huber1-12/+11
POSIX mutexes are now available in all configurations and no longer depend on --enable-posix. Update #2514. Update #3112.
2017-10-05posix: Implement self-contained POSIX condvarSebastian Huber1-11/+10
POSIX condition variables are now available in all configurations and no longer depend on --enable-posix. Update #2514. Update #3113.
2017-10-05posix: Implement self-contained POSIX rwlocksSebastian Huber1-8/+3
POSIX rwlocks are now available in all configurations and no longer depend on --enable-posix. Update #2514. Update #3115.
2017-10-05posix: Implement self-contained POSIX barriersSebastian Huber1-6/+5
POSIX barriers are now available in all configurations and no longer depend on --enable-posix. Update #2514. Update #3114.
2017-10-05posix: Implement self-contained POSIX semaphoresSebastian Huber1-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.
2017-05-05posix: Add mmap/unmap support for mapping files.Chris Johns1-0/+1
This version of mmap comes from early work done on the RTL code base circa 2012. Update #2859.
2017-01-13posix: shared memory supportGedare Bloom1-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.
2017-01-13posix: add stub implementations for mman functionsGedare Bloom1-0/+8
2017-01-13configure: Remove HAVE_SEMAPHORE_H supportSebastian Huber1-3/+0
2017-01-13posix: Add pthread_getname_np(), ...Sebastian Huber1-0/+2
Add pthread_getname_np() and pthread_setname_np(). Update #2858.
2016-11-23posix: Add self-contained pthread spinlockSebastian Huber1-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.
2016-06-22posix: _POSIX_Mutex_Default_attributesSebastian Huber1-1/+1
Make _POSIX_Mutex_Default_attributes constant and independent of the scheduler instance. Use INT_MAX to indicate the default ceiling priority.
2016-06-16Add pthread_condattr_getclock() and pthread_condattr_setclock()Joel Sherrill1-1/+3
updates #2608.
2016-06-14posix: sched_get_priority_max()Sebastian Huber1-1/+2
Enable for all configurations since it pulls in no additional dependencies. Return value of the scheduler instance of the executing thread.
2016-06-14posix: sched_get_priority_min()Sebastian Huber1-1/+3
Enable for all configurations since it pulls in no additional dependencies.
2016-06-13posix: Add pthread_setschedprio()Sebastian Huber1-0/+1
Close #2734.
2016-05-26score: Add Status_Control for all APIsSebastian Huber1-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.
2016-05-20posix: Rework thread cancellationSebastian Huber1-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.
2016-05-02posix: _POSIX_Message_queue_Create_support()Sebastian Huber1-1/+1
Make _POSIX_Message_queue_Create_support() static since it is only used by mq_open().
2016-04-14Add pthread_getconcurrency() and pthread_setconcurrency()Joel Sherrill1-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.
2016-04-06posix: Make _POSIX_signals_Check_signal() staticSebastian Huber1-1/+1
2016-03-18posix: Use per-thread lookup tree for POSIX KeysSebastian Huber1-1/+1
Yields higher performance on SMP systems. Close #2625.
2016-03-04score: Replace watchdog handler implementationSebastian Huber1-2/+1
Use a red-black tree instead of delta chains. Close #2344. Update #2554. Update #2555. Close #2606.
2016-02-03Optional POSIX Keys initializationSebastian Huber1-1/+1
Update #2408.
2016-02-03Optional POSIX Cleanup initializationSebastian Huber1-2/+2
Update #2408.
2016-01-19posix/src/exec*: Remove all variants already in NewlibJoel Sherrill1-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.
2016-01-18posix: Remove clock_getenable_attr() and clock_setenable_attr()Joel Sherrill1-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.
2015-07-28score: Rename _POSIX_Absolute_timeout_to_ticks()Sebastian Huber1-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>.
2015-03-10posix: Install <semaphore.h> only if not providedSebastian Huber1-0/+2
2014-11-20sys/mman.h: New file. Clean up and add supporting stubsJoel Sherrill1-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.
2014-03-19posix: Use interal mutex for once implementationSebastian Huber1-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.
2014-03-07POSIX keys now enabled in all configurations.Joel Sherrill1-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.
2014-03-07Remove trailing whitespace in previous patchesJennifer Averett1-2/+2
2014-03-07posix: Add pthread_getattr_np().Jennifer Averett1-0/+1
This is a useful POSIX thread API helper which is found in `GNU/Linux and *BSD.
2014-03-07posix: Add dynamic pthread get and set affinity.Jennifer Averett1-1/+2
This patch adds the following methods: + pthread_get_affinity_np + pthread_set_affinity_np
2014-03-07posix: Add pthread_attr_t methods to get/set affinity.Jennifer Averett1-0/+6
This patch adds the following methods: + pthread_attr_get_affinity_np + pthread_attr_set_affinity_np
2014-03-07posix: Add support method to compare two pthread attribute structures.Jennifer Averett1-0/+3
2013-08-14posix: Change pthread_once to be SMP safe.Chris Johns1-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.
2013-08-08PR766: Delete __RTEMS_INSIDE__Sebastian Huber1-2/+0
2013-08-06posix: Create key implementation headerSebastian Huber1-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.