X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f X-Recipient: djgpp AT delorie DOT com X-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=moKFmNjvT+liHZt0resvQfXIxpzBTTuPiCWmmQQ4R8E=; b=GnH/ZTA4RFRdS1nfxlKJluv5sBp6Vz70BlmU4Xlha5YpBNae/s4o+ZrJBgWTmcLEM1 g77+QX3NaIj7uLsG/sN/f/c2pWUifyG+ll1tcHWkGo424qV3p9t75Lo7c1zbrDkXyYZD hLDx2uelKQkDM07TcfRli0h+/Ks3Y2ENPXgvumixOVDWYNIjvqllBm2SKsJj+be7GKlq Ihgip/FLM1KW9UfbH87Jq1XdEzBJ4CRf8hoayxdNPq0nEwCvtXJb33fXHA6cKamm6iaw LnKp7lWoNp+pAvuiphxKAqFJtTMGxjhhRWzr/mMPXqjaHZGl8P1ew6RZogmu4aFWgZbQ 9F4w== MIME-Version: 1.0 X-Received: by 10.107.12.93 with SMTP id w90mr17654593ioi.10.1431962555376; Mon, 18 May 2015 08:22:35 -0700 (PDT) In-Reply-To: <83zj52dkns.fsf@gnu.org> References: <201505042003 DOT t44K3odg011007 AT delorie DOT com> <554DF584 DOT 4020309 AT iki DOT fi> <55501DAD DOT 1080604 AT iki DOT fi> <55579278 DOT 8090301 AT iki DOT fi> <555829A6 DOT 8010502 AT iki DOT fi> <555870E8 DOT 7040302 AT iki DOT fi> <201505180114 DOT t4I1EiaX017288 AT envy DOT delorie DOT com> <201505181216 DOT t4ICGaKO014123 AT envy DOT delorie DOT com> <83zj52dkns DOT fsf AT gnu DOT org> Date: Mon, 18 May 2015 18:22:35 +0300 Message-ID: Subject: Re: ANNOUNCE: DJGPP 2.05 beta 1 From: "Ozkan Sezer (sezeroz AT gmail DOT com)" To: djgpp AT delorie DOT com Content-Type: text/plain; charset=UTF-8 Reply-To: djgpp AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: djgpp AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk On 5/18/15, Eli Zaretskii (eliz AT gnu DOT org) wrote: >> Date: Mon, 18 May 2015 16:06:19 +0300 >> From: "Ozkan Sezer (sezeroz AT gmail DOT com)" >> >> The discussion is about we are pointing to gcc's headers directory >> for allowed includes when building djgpp itself, whereas >> >> (i) we don't need that at all anymore (it was done only to work around >> a gcc builtin problem and it got solved without needing this hack), >> >> (ii) we are building with -nostdinc which means we are self- >> sufficient, and that hack is against this, >> >> (iii) since our DBL_MAX, etc are not compile time constants but symbols, >> and gcc ones are, the binary output of several djgpp functions such as >> strtod, etc, are different with and without gcc-headers hack. >> >> Those are the reasons I am against allowing gcc's headers in djgpp >> build. > > AFAIR, -nostdinc means without library headers, but it does not > preclude the headers that are internal to the compiler. > See below, > IOW, I'm not sure I understand the problem you have with what we do. > Can you elaborate? > I thought that I elaborated enough in the whole thread, but here goes. Get the cvs, compile normally under src/. Make a backup copy of src/libc/ansi/stdlib/strtod.d and then do the following: Index: makefile.inc =================================================================== RCS file: /cvs/djgpp/djgpp/src/makefile.inc,v retrieving revision 1.16 diff -u -r1.16 makefile.inc --- makefile.inc 30 Apr 2015 18:50:42 -0000 1.16 +++ makefile.inc 18 May 2015 15:15:30 -0000 @@ -51,7 +51,7 @@ # Find GCC own include directory and add it to CFLAGS GCC_INC_DIR := $(shell $(CROSS_GCC) -print-file-name=include) -CFLAGS += -I$(GCC_INC_DIR) +#CFLAGS += -I$(GCC_INC_DIR) # Pass defines as compiler/assembler switches CFLAGS += -DGAS_MAJOR=$(GAS_MAJOR) Now do a make clean, recompile and compare the old and new strtod.d: --- strtod.d.bak +++ strtod.d @@ -1,7 +1,6 @@ strtod.o: strtod.c ../../../../include/libc/stubs.h \ ../../../../include/locale.h ../../../../include/math.h \ ../../../../include/stdlib.h ../../../../include/sys/djtypes.h \ - /usr/local/cross-djgpp/lib/gcc/i586-pc-msdosdjgpp/3.4.6/include/float.h \ ../../../../include/float.h ../../../../include/errno.h \ ../../../../include/ctype.h ../../../../include/inlines/ctype.ha \ ../../../../include/inlines/ctype.hp \ As you see, -nostdinc does prevent compiler's own headers from being used. But with current cvs as it is, we are telling the compiler to do use its own headers: Not a good idea IMO.