delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2015/05/18/11:22:48

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>
<CAA2C=vAjN-HamFRWCQak=QF_NPjR5-TBYZw1U5707MO0b=qXkw AT mail DOT gmail DOT com>
<554DF584 DOT 4020309 AT iki DOT fi>
<CAA2C=vDaOJb_RW2bQEFoM_cqwp7yhzwX-CB328r5GCCi6XcooA AT mail DOT gmail DOT com>
<55501DAD DOT 1080604 AT iki DOT fi>
<CAA2C=vAvMW-yquZLSN=Z39NU24Kqf7urjan90801i7BDTdqOvQ AT mail DOT gmail DOT com>
<55579278 DOT 8090301 AT iki DOT fi>
<CAA2C=vBaQKzmch_buxFm20DJLcG+zv6d6803+qMEx=baA4Frog AT mail DOT gmail DOT com>
<555829A6 DOT 8010502 AT iki DOT fi>
<CAA2C=vA73qPvoDFytp3FeW6bCD1-XuGsFFoDinoKn2KYY1fkow AT mail DOT gmail DOT com>
<555870E8 DOT 7040302 AT iki DOT fi>
<CAA2C=vDhD6BJj89o1i0FRd2U0H4bTpGGN4zH6qs7FJKxzqhuQg AT mail DOT gmail DOT com>
<201505180114 DOT t4I1EiaX017288 AT envy DOT delorie DOT com>
<CAA2C=vCyrQ_+Yq6XsRD-UO4r=j9WoGGiXoqQFrkbiEQpzX+=MA AT mail DOT gmail DOT com>
<201505181216 DOT t4ICGaKO014123 AT envy DOT delorie DOT com>
<CAA2C=vCk5MY74z+HNVzzdLByg71Y_9ObK-1jPxJ_KF8eqRDZMQ AT mail DOT gmail DOT com>
<83zj52dkns DOT fsf AT gnu DOT org>
Date: Mon, 18 May 2015 18:22:35 +0300
Message-ID: <CAA2C=vAPcN+MKC_2tcZqVmo9gvF2Cxdo+K+-qfKaNrQuCkMnEw@mail.gmail.com>
Subject: Re: ANNOUNCE: DJGPP 2.05 beta 1
From: "Ozkan Sezer (sezeroz AT gmail DOT com)" <djgpp AT delorie DOT com>
To: djgpp AT delorie DOT com
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

On 5/18/15, Eli Zaretskii (eliz AT gnu DOT org) <djgpp AT delorie DOT com> wrote:
>> Date: Mon, 18 May 2015 16:06:19 +0300
>> From: "Ozkan Sezer (sezeroz AT gmail DOT com)" <djgpp AT delorie 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.

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019