public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* Re: An important patch for egcs 1.0.1
@ 1998-02-15 11:33 Daniel Egger
  1998-02-15 11:41 ` H.J. Lu
  0 siblings, 1 reply; 12+ messages in thread
From: Daniel Egger @ 1998-02-15 11:33 UTC (permalink / raw)
  To: H.J. Lu; +Cc: egcs, GNU C Library

On Thu, 12 Feb 1998, you wrote:

>> Below I have a program that dies under egcs1.0.1+glibc.  There may be =
a=0D
>=09=09=09=09^^^^^^^^^^^^^^^^=0D
=0D
>That is a bad combination.=0D

 I wonder why...

--

Servus,
       Daniel

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: An important patch for egcs 1.0.1
  1998-02-15 11:33 An important patch for egcs 1.0.1 Daniel Egger
@ 1998-02-15 11:41 ` H.J. Lu
  1998-02-15 13:42   ` Mark Mitchell
  0 siblings, 1 reply; 12+ messages in thread
From: H.J. Lu @ 1998-02-15 11:41 UTC (permalink / raw)
  To: Daniel.Egger; +Cc: egcs, libc-linux

> 
> On Thu, 12 Feb 1998, you wrote:
> 
> >> Below I have a program that dies under egcs1.0.1+glibc.  There may be =
> =3D
> a=3D0D
> >=3D09=3D09=3D09=3D09^^^^^^^^^^^^^^^^=3D0D
> =3D0D
> >That is a bad combination.=3D0D
> 
>  I wonder why...
> 

egcs 1.0.1 miscompiles glibc, especially long double.

-- 
H.J. Lu (hjl@gnu.org)

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: An important patch for egcs 1.0.1
  1998-02-15 11:41 ` H.J. Lu
@ 1998-02-15 13:42   ` Mark Mitchell
  1998-02-15 17:27     ` Michael Neuffer
  1998-02-16 14:21     ` Joe Buck
  0 siblings, 2 replies; 12+ messages in thread
From: Mark Mitchell @ 1998-02-15 13:42 UTC (permalink / raw)
  To: H.J. Lu; +Cc: egcs

>>>>> "H" == H J Lu <hjl@lucon.org> writes:

    H> egcs 1.0.1 miscompiles glibc, especially long double.

It's not obvious to me that just because 1.0.1 miscompiles glibc 2.x
the long double fix can't wait for 1.1.  If programs that use glibc
are miscompiled, that's much worse (although even then, if only
programs that use long double are affected, I'm not sure).  However,
most users do not compile glibc themselves; on the systems you
mentioned earlier (RedHat 5.0, Debian, SUSE) glibc comes as a
precompiled package.  I myself use RH5.0 and have never built glibc.

I think that one of the strengths of egcs has been and will continue
to be frequent releases, including *major* releases.  So, I'm eager to
see 1.1, with its many improvements; time we spend on 1.0.2 will (to
some extent) delay 1.1.  However, if the fixes are simple, my points
may be moot, and I don't pretend to pass judgement on the fixes
themselves.  So, this is not an argument not to put the fixes in; only
one about how we should determine what fixes are to go in.

    H> -- H.J. Lu (hjl@gnu.org)

-- 
Mark Mitchell		mmitchell@usa.net
Stanford University	http://www.stanford.edu


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: An important patch for egcs 1.0.1
  1998-02-15 13:42   ` Mark Mitchell
@ 1998-02-15 17:27     ` Michael Neuffer
  1998-02-16 14:21     ` Joe Buck
  1 sibling, 0 replies; 12+ messages in thread
From: Michael Neuffer @ 1998-02-15 17:27 UTC (permalink / raw)
  To: Mark Mitchell; +Cc: H.J. Lu, egcs

On Sun, 15 Feb 1998, Mark Mitchell wrote:
> >>>>> "H" == H J Lu <hjl@lucon.org> writes:
>     H> egcs 1.0.1 miscompiles glibc, especially long double.
> 
> It's not obvious to me that just because 1.0.1 miscompiles glibc 2.x
> the long double fix can't wait for 1.1.  If programs that use glibc
> are miscompiled, that's much worse (although even then, if only
> programs that use long double are affected, I'm not sure).  However,
> most users do not compile glibc themselves; on the systems you
> mentioned earlier (RedHat 5.0, Debian, SUSE) glibc comes as a
> precompiled package.  I myself use RH5.0 and have never built glibc.

I'd consider it a major problem if I could not compile glibc anymore.

It is almost as bad as not beeing able to compile the Linux kernel and
would prompt me to switch back to gcc 2.8 as fast as I can download and
compile it on my different machines.

Mike


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: An important patch for egcs 1.0.1
  1998-02-16 14:21     ` Joe Buck
@ 1998-02-16 14:21       ` H.J. Lu
  1998-02-16 16:56       ` Mark Mitchell
  1998-02-16 21:16       ` Jeffrey A Law
  2 siblings, 0 replies; 12+ messages in thread
From: H.J. Lu @ 1998-02-16 14:21 UTC (permalink / raw)
  To: Joe Buck; +Cc: egcs

> 
> 
> > It's not obvious to me that just because 1.0.1 miscompiles glibc 2.x
> > the long double fix can't wait for 1.1.
> 
> HJ just sent the patch, and it seems short, and furthermore, he says
> it's been in the snapshots since before egcs-1.0.1.  So why the
> resistance?
> 

It is in now. The patch was actually installed when merging with
gcc 2.8. The ChangeLog entry in my patch was wrong. It should be

Mon Sep 29 08:21:35 1997  Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
   
	* i386.c (notice_update_cc): Use reg_overlap_mentioned_p.



-- 
H.J. Lu (hjl@gnu.org)

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: An important patch for egcs 1.0.1
  1998-02-15 13:42   ` Mark Mitchell
  1998-02-15 17:27     ` Michael Neuffer
@ 1998-02-16 14:21     ` Joe Buck
  1998-02-16 14:21       ` H.J. Lu
                         ` (2 more replies)
  1 sibling, 3 replies; 12+ messages in thread
From: Joe Buck @ 1998-02-16 14:21 UTC (permalink / raw)
  To: mmitchell; +Cc: hjl, egcs

> It's not obvious to me that just because 1.0.1 miscompiles glibc 2.x
> the long double fix can't wait for 1.1.

HJ just sent the patch, and it seems short, and furthermore, he says
it's been in the snapshots since before egcs-1.0.1.  So why the
resistance?

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: An important patch for egcs 1.0.1
  1998-02-16 14:21     ` Joe Buck
  1998-02-16 14:21       ` H.J. Lu
@ 1998-02-16 16:56       ` Mark Mitchell
  1998-02-16 18:19         ` Joe Buck
  1998-02-16 21:16       ` Jeffrey A Law
  2 siblings, 1 reply; 12+ messages in thread
From: Mark Mitchell @ 1998-02-16 16:56 UTC (permalink / raw)
  To: Joe Buck; +Cc: hjl, egcs

>>>>> "Joe" == Joe Buck <jbuck@Synopsys.COM> writes:

    >> It's not obvious to me that just because 1.0.1 miscompiles
    >> glibc 2.x the long double fix can't wait for 1.1.

    Joe> HJ just sent the patch, and it seems short, and furthermore,
    Joe> he says it's been in the snapshots since before egcs-1.0.1.
    Joe> So why the resistance?

I'm afraid I didn't make myself clear.  In the mail you refer to, I
also wrote:

    However, if the fixes are simple, my points may be moot, and I
    don't pretend to pass judgement on the fixes themselves.  So, this
    is not an argument not to put the fixes in; only one about how we
    should determine what fixes are to go in.

I was not, therefore, trying to "resist" any particular fix.  You'll
note that I explicitly express ignorance about the particular patch in
question.

However, I stand by my statement that the bugs we fix for 1.0.2 should
be: 

  truly egregious and horrible bugs that can be fixed with very simple
  changes

The statement you quoted was meant to imply that the mere fact that
glibc cannot be compiled with the egcs release branch does not
immediately imply (in my opinion) that we are not ready for that
release.  If however, you find that bug very disturbing (and obviously
many people do!) and you believe that HJs fixes are simple (and
obviously many people do!), then I think it's clear that the fixes
should go in.  

I really didn't mean to create any controversy, or to criticize any
patches (I haven't even looked at them!).  I simply meant to caution
all of us against spending too much time messing with 1.0.2; releasing
1.1 will fix many more problems and add many more features.  I bet we
all agree; the only question is where to draw the line on 1.0.2.  I
advocate drawing the line soon, even if it means that some programs
will not work.  Again, that's not a specific comment on this
*particular* program (glibc) or the *particular* patch (HJ's long
double repair).

-- 
Mark Mitchell		mmitchell@usa.net
Stanford University	http://www.stanford.edu


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: An important patch for egcs 1.0.1
  1998-02-16 16:56       ` Mark Mitchell
@ 1998-02-16 18:19         ` Joe Buck
  1998-02-16 18:43           ` Mark Mitchell
  0 siblings, 1 reply; 12+ messages in thread
From: Joe Buck @ 1998-02-16 18:19 UTC (permalink / raw)
  To: mmitchell; +Cc: jbuck, hjl, egcs

> I was not, therefore, trying to "resist" any particular fix.  You'll
> note that I explicitly express ignorance about the particular patch in
> question.
> 
> However, I stand by my statement that the bugs we fix for 1.0.2 should
> be: 
> 
>   truly egregious and horrible bugs that can be fixed with very simple
>   changes

If you'd accept the amendment ", plus embarrassing bugs that we already
have low-risk fixes for", we're in agreement.



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: An important patch for egcs 1.0.1
  1998-02-16 18:19         ` Joe Buck
@ 1998-02-16 18:43           ` Mark Mitchell
  0 siblings, 0 replies; 12+ messages in thread
From: Mark Mitchell @ 1998-02-16 18:43 UTC (permalink / raw)
  To: Joe Buck; +Cc: hjl, egcs

>>>>> "Joe" == Joe Buck <jbuck@Synopsys.COM> writes:

    >> I was not, therefore, trying to "resist" any particular fix.
    >> You'll note that I explicitly express ignorance about the
    >> particular patch in question.
    >> 
    >> However, I stand by my statement that the bugs we fix for 1.0.2
    >> should be:
    >> 
    >> truly egregious and horrible bugs that can be fixed with very
    >> simple changes

    Joe> If you'd accept the amendment ", plus embarrassing bugs that
    Joe> we already have low-risk fixes for", we're in agreement.

Sure.  

-- 
Mark Mitchell		mmitchell@usa.net
Stanford University	http://www.stanford.edu


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: An important patch for egcs 1.0.1
  1998-02-16 14:21     ` Joe Buck
  1998-02-16 14:21       ` H.J. Lu
  1998-02-16 16:56       ` Mark Mitchell
@ 1998-02-16 21:16       ` Jeffrey A Law
  2 siblings, 0 replies; 12+ messages in thread
From: Jeffrey A Law @ 1998-02-16 21:16 UTC (permalink / raw)
  To: Joe Buck; +Cc: mmitchell, hjl, egcs

  In message < 199802162200.OAA11328@atrus.synopsys.com >you write:
  > 
  > > It's not obvious to me that just because 1.0.1 miscompiles glibc 2.x
  > > the long double fix can't wait for 1.1.
  > 
  > HJ just sent the patch, and it seems short, and furthermore, he says
  > it's been in the snapshots since before egcs-1.0.1.  So why the
  > resistance?
Once HJ notified us that the long double bug was causing glibc2 to be
mis-compiled I extracted the relavent bits from his patch and installed
them on the branch.

jeff

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: An important patch for egcs 1.0.1
@ 1998-02-15 13:42 Daniel Egger
  0 siblings, 0 replies; 12+ messages in thread
From: Daniel Egger @ 1998-02-15 13:42 UTC (permalink / raw)
  To: H.J. Lu; +Cc: egcs, libc-linux

On Sun, 15 Feb 1998, you wrote:

>egcs 1.0.1 miscompiles glibc, especially long double.

 Sorry, but I can't agree... glibc runs perfectly on my system...
 even compiled with egcs-1.0.1 ... at the moment my libc is compiled
 with the recently received egcs-980214...

--

Servus,
       Daniel

^ permalink raw reply	[flat|nested] 12+ messages in thread

* An important patch for egcs 1.0.1
       [not found] <34E2AFA6.F4E316C@erols.com>
@ 1998-02-12 20:07 ` H.J. Lu
  0 siblings, 0 replies; 12+ messages in thread
From: H.J. Lu @ 1998-02-12 20:07 UTC (permalink / raw)
  To: Douglas Kilpatrick; +Cc: egcs, GNU C Library

> 
> H.J. Lu wrote:
> > 
> > This test failed on both egcs 1.0.1 and egcs 1.0.2 under Linux/x86.
> 
> Sorry to do this to you... but I was wondering if you could explain the
> test case... I've been digging into long double's trying to find the
> root cause of a problem in kcalc, so it looks like this test case could
> Below I have a program that dies under egcs1.0.1+glibc.  There may be a
					^^^^^^^^^^^^^^^^

That is a bad combination.

> glibc bug in here, but I think it may also show an egcs bug.  Is this a
> related problem?
> 
> Doug
> -- kilpatds@erols.com
> 
> #include <stdio.h>
> #include <stdlib.h>
> #include <sys/types.h>
> #include <math.h>
> 
> int main(int argc, char *argv[])
> {
>     long double ld;
>     long l;
> 
>     modfl(1.0, &ld);
>     l = ld;
>     printf("Long Double: %lf\nLong: %ld\nLong: %X\n", ld, l);
>     if (l > 1)
>         abort();
>     if (l < 0)
>         abort();
>     
>     return EXIT_SUCCESS;
> }

Please include this in egcs 1.0.2. It may fix your bug. At least,
mine is fixed.

BTW, given this bad bug, which is fixed in gcc 2.8.0, we
should make egcs 1.0.2 ASAP. Otherwise, it will be hard for
us to convince the people to use egcs.

Thanks.


----
Fri Dec  5 16:26:03 1997  Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>

	* i386.c (notice_update_cc): Remove bogus pentium GCC code.

--- ./../../../import/egcs/gcc/config/i386/i386.c	Fri Dec 19 00:47:13 1997
+++ config/i386/i386.c	Thu Feb 12 10:49:09 1998
@@ -3397,31 +3397,37 @@
 	  if (cc_status.value1
 	      && reg_overlap_mentioned_p (SET_DEST (exp), cc_status.value1))
 	    cc_status.value1 = 0;
+
 	  if (cc_status.value2
 	      && reg_overlap_mentioned_p (SET_DEST (exp), cc_status.value2))
 	    cc_status.value2 = 0;
+
 	  return;
 	}
+
       /* Moving register into memory doesn't alter the cc's.
 	 It may invalidate the RTX's which we remember the cc's came from.  */
       if (GET_CODE (SET_DEST (exp)) == MEM
 	  && (REG_P (SET_SRC (exp))
 	      || GET_RTX_CLASS (GET_CODE (SET_SRC (exp))) == '<'))
 	{
-	  if (cc_status.value1 && GET_CODE (cc_status.value1) == MEM
-	      || reg_mentioned_p (SET_DEST (exp), cc_status.value1))
+	  if (cc_status.value1
+	      && reg_overlap_mentioned_p (SET_DEST (exp), cc_status.value1))
 	    cc_status.value1 = 0;
-	  if (cc_status.value2 && GET_CODE (cc_status.value2) == MEM
-	      || reg_mentioned_p (SET_DEST (exp), cc_status.value2))
+	  if (cc_status.value2
+	      && reg_overlap_mentioned_p (SET_DEST (exp), cc_status.value2))
 	    cc_status.value2 = 0;
+
 	  return;
 	}
+
       /* Function calls clobber the cc's.  */
       else if (GET_CODE (SET_SRC (exp)) == CALL)
 	{
 	  CC_STATUS_INIT;
 	  return;
 	}
+
       /* Tests and compares set the cc's in predictable ways.  */
       else if (SET_DEST (exp) == cc0_rtx)
 	{
@@ -3429,14 +3435,14 @@
 	  cc_status.value1 = SET_SRC (exp);
 	  return;
 	}
+
       /* Certain instructions effect the condition codes. */
       else if (GET_MODE (SET_SRC (exp)) == SImode
 	       || GET_MODE (SET_SRC (exp)) == HImode
 	       || GET_MODE (SET_SRC (exp)) == QImode)
 	switch (GET_CODE (SET_SRC (exp)))
 	  {
-	  case ASHIFTRT: case LSHIFTRT:
-	  case ASHIFT:
+	  case ASHIFTRT: case LSHIFTRT: case ASHIFT:
 	    /* Shifts on the 386 don't set the condition codes if the
 	       shift count is zero. */
 	    if (GET_CODE (XEXP (SET_SRC (exp), 1)) != CONST_INT)
@@ -3444,6 +3450,7 @@
 		CC_STATUS_INIT;
 		break;
 	      }
+
 	    /* We assume that the CONST_INT is non-zero (this rtx would
 	       have been deleted if it were zero. */
 
@@ -3468,6 +3475,7 @@
       if (SET_DEST (XVECEXP (exp, 0, 0)) == pc_rtx)
 	return;
       if (SET_DEST (XVECEXP (exp, 0, 0)) == cc0_rtx)
+
 	{
 	  CC_STATUS_INIT;
           if (stack_regs_mentioned_p (SET_SRC (XVECEXP (exp, 0, 0))))
@@ -3481,6 +3489,7 @@
 	    cc_status.value1 = SET_SRC (XVECEXP (exp, 0, 0));
 	  return;
 	}
+
       CC_STATUS_INIT;
     }
   else

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~1998-02-16 21:16 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1998-02-15 11:33 An important patch for egcs 1.0.1 Daniel Egger
1998-02-15 11:41 ` H.J. Lu
1998-02-15 13:42   ` Mark Mitchell
1998-02-15 17:27     ` Michael Neuffer
1998-02-16 14:21     ` Joe Buck
1998-02-16 14:21       ` H.J. Lu
1998-02-16 16:56       ` Mark Mitchell
1998-02-16 18:19         ` Joe Buck
1998-02-16 18:43           ` Mark Mitchell
1998-02-16 21:16       ` Jeffrey A Law
  -- strict thread matches above, loose matches on Subject: below --
1998-02-15 13:42 Daniel Egger
     [not found] <34E2AFA6.F4E316C@erols.com>
1998-02-12 20:07 ` H.J. Lu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).