diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2015-05-06 11:54:19 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2015-05-06 11:54:19 +0200 |
commit | a6502a58e64eb47b4c987884fdcb6af79fae792c (patch) | |
tree | bebd6e828aa2a360cb48db15815dbbc3d2ff45d2 /cpukit/score/src/thread.c | |
parent | score: Delete unused Thread_queue_Timeout_callout (diff) | |
download | rtems-a6502a58e64eb47b4c987884fdcb6af79fae792c.tar.bz2 |
score: Fix Thread_Control and Thread_Proxy_control
Fix layout of the common block of Thread_Control and
Thread_Proxy_control. Ensure that the offsets match.
Diffstat (limited to 'cpukit/score/src/thread.c')
-rw-r--r-- | cpukit/score/src/thread.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/cpukit/score/src/thread.c b/cpukit/score/src/thread.c index 3cf061fdb9..88b3272d0a 100644 --- a/cpukit/score/src/thread.c +++ b/cpukit/score/src/thread.c @@ -21,6 +21,25 @@ #include <rtems/score/threadimpl.h> #include <rtems/score/interr.h> +#define THREAD_OFFSET_ASSERT( field ) \ + RTEMS_STATIC_ASSERT( \ + offsetof( Thread_Control, field ) == offsetof( Thread_Proxy_control, field ), \ + field \ + ) + +THREAD_OFFSET_ASSERT( Object ); +THREAD_OFFSET_ASSERT( RBNode ); +THREAD_OFFSET_ASSERT( current_state ); +THREAD_OFFSET_ASSERT( current_priority ); +THREAD_OFFSET_ASSERT( real_priority ); +THREAD_OFFSET_ASSERT( Priority ); +THREAD_OFFSET_ASSERT( resource_count ); +THREAD_OFFSET_ASSERT( Wait ); +THREAD_OFFSET_ASSERT( Timer ); +#if defined(RTEMS_MULTIPROCESSING) +THREAD_OFFSET_ASSERT( receive_packet ); +#endif + void _Thread_Handler_initialization(void) { rtems_stack_allocate_init_hook stack_allocate_init_hook = |