Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT sources DOT redhat DOT com Delivered-To: mailing list cygwin AT sources DOT redhat DOT com Date: Thu, 25 Jan 2001 19:10:32 -0500 From: Christopher Faylor To: Cygwin Subject: Re: Newlib's non-posix'ness [Re: KSH is pdksh] Message-ID: <20010125191032.A11141@redhat.com> Reply-To: cygwin AT cygwin DOT com Mail-Followup-To: Cygwin References: <3A709B7F DOT 7F908FA0 AT yahoo DOT com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.3.11i In-Reply-To: ; from khan@NanoTech.Wisc.EDU on Thu, Jan 25, 2001 at 04:30:52PM -0600 On Thu, Jan 25, 2001 at 04:30:52PM -0600, Mumit Khan wrote: >On Thu, 25 Jan 2001, Earnie Boyd wrote: > >> Matthew Smith wrote: >> > >> > Can anyone suggest an elegant way around this? >> > >> >> Fix the code. Remove the redefinitions. > >FYI, it's newlib that provides the incorrect declaration. It's one of >those cases where newlib's declarations don't quite match POSIX/UNIX98, >but small enough that nobody has bothered to fix those. Mostly has to >do with signed vs unsigned (eg., size_t vs ssize_t) and those little >nits. Interestingly enough, someone, quite possibly Joel Scherrill, had >gone through newlib and fixed most of these, if not all, but only for >RTEMS! > >POSIX: > ssize_t read (int, void *, size_t); > >newlib: > #ifdef __rtems__ > ssize_t read (int, void *, size_t); > #else > int read (int, void *, size_t); > #endif > >Perhaps Chris and/or DJ know why that is the case. Because the only thing that Joel cares about is RTEMS, basically. He broke Cygwin builds a couple of times with his changes and, I assume, rather than try to build Cygwin after a change, opted to just conditionalize everything. >When you have a conflict between Glenn Fowler's AT&T AST and another >library, chances are that AST is doing the right thing. Probably, but any package that doesn't build because it relies on read being defined as ssize_t is not exactly portable. cgf -- Want to unsubscribe from this list? Check out: http://cygwin.com/ml/#unsubscribe-simple