[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Help with MinGW and 4.8 release candidate
- Date: Wed, 09 Jan 2008 18:31:13 +1100
- From: chrisj at rtems.org (Chris Johns)
- Subject: Help with MinGW and 4.8 release candidate
Ralf Corsepius wrote:
> Instead of shooting at sight at what you don't like, we should analyze
> the problem and find a solution.
I have taken a look at the code and see the following:
Newlib:
Writes to stderr and calls abort.
RTEMS:
Writes to printk and calls rtems_fatal_error_occurred.
The RTEMS version allows asserts in newlib or any other library to be present
and to not have newlib's stdio being linked in. This is important for the
small footprint targets.
So it would seem we have to resolve standards verses small footprint embedded
systems.
The standard requires the message be printed to stderr. Is printk always
stderr ? If we state stderr (outside of ptys or redirection) shall always
appear on the same device as printk would that be ok ?
The standard requires assert call abort. The standard states abort shall cause
abnormal process termination unless the signal SIGABRT is being caught. We do
not handle signals so the SIGABRT issue is not important. The newlib code
calls exit which is nice but is it important to us. We should never get
asserts outside the development environment so a clean exit is not that
important. I would consider a watchdog and reset more important.
Looking at this code I wonder if abort should also be replaced (bucket or mug
at the ready :-)).
I hope this helps.
>> Is this a 4.8 issue as well ?
> No, 4.8 uses newlib-1.15.0
Thanks.
Regards
Chris