[RFA] confine _TIMEVAL_DEFINED guard in libc/include/sys/time.h
Mon Nov 12 17:29:00 GMT 2012
On 11/12/2012 09:20 AM, Christopher Faylor wrote:
> On Mon, Nov 12, 2012 at 11:40:31AM +0100, Corinna Vinschen wrote:
>> On Nov 11 13:58, Christopher Faylor wrote:
>>> The _TIMEVAL_DEFINED guard in time.h is a little to enthusiastic in what
>>> it is guarding. It's possible that there are other guards needed here
>>> but, IMO, _TIMEVAL_DEFINED shouldn't be turning off the declaration of
>>> timezone. Without this change, using Mingw64 headers becomes
>>> Ok to apply?
>> More or less, yes. The Mingw64 header uses the _TIMEVAL_DEFINED guard
>> also to guard the macros timerisset, timercmp, and timerclear, so we
>> should do the same. Would you mind to add that?
> Well, maybe, but that isn't a necessary change as far as getting 32-bit
> Cygwin building is concerned*. Although I can see the sense in putting
> the macros under this conditional, the macros on Linux are not protected
> by the equivalent "__need_timeval". Also, moving the macros has
> potential side-effects for rtems. Do they have to weigh in on this too?
RTEMS only supports newlib currently so as long as newlib is
internally consistent, we should be OK.
As a disclaimer to that, we have lots of code from NetBSD and
FreeBSD for things that range from shell commands to the
USB and TCP/IP stacks. Those may have .h files which depend
on the structure of this conditional. But I don't see _TIMEVAL_DEFINED
used in any of that code.
I think changing this to the cleanest form is OK for RTEMS.
> I thought this was an obvious change architecturally for newlib since
> the guard (or at least the naming of the guard) was clearly wrong.
> Moving the macros seems slightly less obvious.
What's correct and what breaks assumptions that have been
in place for years are unfortunately often two different things.
> *I've had to make a number of changes to Cygwin to get it to build with
> the latest released version of the mingw64 headers.
Joel Sherrill, Ph.D. Director of Research& Development
joel.sherrill@OARcorp.com On-Line Applications Research
Ask me about RTEMS: a free RTOS Huntsville AL 35806
Support Available (256) 722-9985
More information about the Newlib