* libmisc/monitor/mon-extension.c, libmisc/monitor/mon-itask.c,
libmisc/monitor/mon-part.c, libmisc/monitor/mon-prmisc.c,
libmisc/monitor/mon-queue.c, libmisc/monitor/mon-region.c,
libmisc/monitor/mon-sema.c, libmisc/monitor/mon-task.c,
libmisc/monitor/monitor.h: Use rtems_object_get_name() instead of
internal routine. This makes it possible to also print string names
of POSIX objects. Adjust task report to realign since we can have
longer names.
* irq/irq_init.c, include/bsp.h:
define BSP_PPC403_CLOCK_HOOK_EXCEPTION
so that we hook the timer exception rather than going
through the interrupt dispatcher.
* ppc403/clock/clock.c: Added (conditionally compiled)
code so that a BSP can choose to hook the timer exception
directly rather than going through the interrupt dispatcher.
* startup/bspstart.c: Removed SPRG0 warning - this BSP
is OK.
Use interrupt stack limits from linker script.
No need to reserve space beyond '_end'. linkcmds now
reserves space below '_end'.
Use low-level exception handling support from
new-exceptions/bspsupport.
* dlentry/dlentry.S: load R13 with _SDA_BASE_ so that
SVR4-ABI access of short data area works. No support
for R2/sdata2/eabi, so far but that would be easy
(atm R2 is loaded with got address IIRC).
* startup/linkcmds: fixed sdata/sbss areas -- these
must be contiguous for SVR4 complicant access via R13.
Use kludged layout so that sbss, bss, sbss2 are all
contiguous and zeroed by dlentry.S.
Provide _SDA_BASE_ and _SDA2_BASE_ for loading R13 (and
R2 if anyone wants to use EABI).
Make sure interrupt stack is never in heap area by
moving it below '_end'.
Provide symbols for start + end of interrupt stack.
PR 1291/cpukit
* psx05/init.c, psxmsgq01/init.c: As part of addressing timeouts and
POSIX services taking relative instead of absolute time for timeouts,
these tests were updated.
PR 1291/cpukit
* itron/inline/rtems/itron/semaphore.inl, itron/src/twai_sem.c,
posix/include/mqueue.h, posix/include/rtems/posix/mqueue.h,
posix/include/rtems/posix/semaphore.h,
posix/include/rtems/posix/time.h, posix/src/condtimedwait.c,
posix/src/mqueuereceive.c, posix/src/mqueuerecvsupp.c,
posix/src/mqueuesend.c, posix/src/mqueuesendsupp.c,
posix/src/mqueuetimedreceive.c, posix/src/mqueuetimedsend.c,
posix/src/mutextimedlock.c, posix/src/mutextranslatereturncode.c,
posix/src/posixtimespecabsolutetimeout.c,
posix/src/prwlocktimedrdlock.c, posix/src/prwlocktimedwrlock.c,
posix/src/semaphoretranslatereturncode.c,
posix/src/semaphorewaitsupp.c, posix/src/semtimedwait.c,
posix/src/semtrywait.c, posix/src/semwait.c,
posix/src/sigtimedwait.c, posix/src/timersettime.c,
posix/src/ualarm.c, rtems/src/semobtain.c,
rtems/src/semtranslatereturncode.c,
score/include/rtems/score/coremutex.h,
score/include/rtems/score/coresem.h, score/src/coresemseize.c: This
patch addresses issues on implementation of the timeout on the
following POSIX services. Some of these services incorrectly took a
timeout as a relative time. Others would compute a 0 delta to timeout
if the absolute time and the current time were equal and thus
incorrectly block the caller forever. The root of the confusion is
that POSIX specifies that if the timeout is incorrect (e.g. in the
past, is now, or is numerically invalid), that it does not matter if
the call would succeed without blocking. This is in contrast to RTEMS
programming style where all errors are checked before any critical
sections are entered. This fix implemented a more uniform way of
handling POSIX absolute time timeouts.
+ pthread_cond_timedwait - could block forever
+ mq_timedreceive - used relative not absolute time
+ mq_timedsend - used relative not absolute time
+ pthread_mutex_timedlock - used relative not absolute time
+ pthread_rwlock_timedrdlock- used relative not absolute time
+ pthread_rwlock_timedwrlock- used relative not absolute time
+ sem_timedwait - could block forever
* libmisc/monitor/mon-monitor.c, libmisc/monitor/mon-object.c,
libmisc/monitor/monitor.h, libmisc/shell/main_chmod.c,
libmisc/shell/main_tty.c, libmisc/shell/main_umask.c,
libmisc/shell/main_whoami.c: Add pthread command to monitor when
POSIX is enabled. Remove include of rtems/monitor.h from files not
related.