This is the mail archive of the
newlib@sources.redhat.com
mailing list for the newlib project.
Re: RTEMS patch sweep: stdint.h/inttypes.h
- From: "Joel Sherrill <joel at OARcorp dot com>" <joel dot sherrill at OARcorp dot com>
- To: Jeff Johnston <jjohnstn at redhat dot com>
- Cc: Nicholas Wourms <nwourms at netscape dot net>, Newlib List <newlib at sources dot redhat dot com>
- Date: Mon, 07 Mar 2005 06:24:48 -0600
- Subject: Re: RTEMS patch sweep: stdint.h/inttypes.h
- Organization: OAR Corporation
- References: <1FEC5568.3579AA69.00213C57@netscape.net> <422B9C13.9000204@redhat.com>
- Reply-to: joel dot sherrill at OARcorp dot com
Jeff Johnston wrote:
Hi Nicholas. See the discussion this last week on the list. It was
initially RTEMS only, but it was suggested it be made shared as the
defines will be needed by other non-rtems builds. Corinna has been part
of the conversation. If Cygwin needs to revert or modify it, I'm ok
with Corinna doing that. I will be away this next week and am getting
ready to leave right now.
There already is machine header directories per platform in newlib so
perhaps I do not understand your request.
-- Jeff J.
Nicholas Wourms wrote:
Why is machine/_types.h in a shared directory?
Why shouldn't it be? For the most part, the type definitions are CPU
and multilib variant dependent.
I guess what I'm saying is: what is the point of adding these defines
globally if they are only being used by rtems? This stuff is really
platform specific and shouldn't be filled with crazy ifdef logic.
It is standard "don't redefine this" logic that has been common in
types.h/stdint.h files since the beginning of time. It is just an
extension of what was already being used to prevent certain
times (time_t?) from being defined in two .h files.
However, it seems the damage is done, so I've come up with another
idea. A better soultion would be to add a "machine" directory for
each platform and put it there. That way, each platform could modify
it to their needs. This is how GLIBC does it, so I see no reason why
we can't.
WIthout knowing why glibc did what it did, why is it necessary to
duplicate all those definitions?
Cheers,
Nicholas
P.S. - I'm sorry if I sound a little cranky, it's just that I've been
working on a cygwin project for 6 months now to add a whole bunch of
c99 extensions. As part of this, I had to create a file of the same
name, but I put it in winsup/cygwin/include/machine/_types.h.
Ralf has been working on converting RTEMS to C99 types for at least
the same length of time. We just want to reduce the unnecessary
variations and duplication.
__________________________________________________________________
Switch to Netscape Internet Service.
As low as $9.95 a month -- Sign up today at
http://isp.netscape.com/register
Netscape. Just the Net You Need.
New! Netscape Toolbar for Internet Explorer
Search from anywhere on the Web and block those annoying pop-ups.
Download now at http://channels.netscape.com/ns/search/install.jsp
--
Joel Sherrill, Ph.D. Director of Research & Development
joel@OARcorp.com On-Line Applications Research
Ask me about RTEMS: a free RTOS Huntsville AL 35805
Support Available (256) 722-9985