public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* Re: Nonlocal gotos on s390
@ 2003-09-29  0:42 Ulrich Weigand
  2003-09-29  1:14 ` Frank Heckenbach
  0 siblings, 1 reply; 6+ messages in thread
From: Ulrich Weigand @ 2003-09-29  0:42 UTC (permalink / raw)
  To: frank; +Cc: GerhardTonn, doko, hebisch, krebbel1, gcc

Frank Heckenbach wrote:

<snip testcase - nonlocal goto doesn't work on s390>

This should be fixed by Andreas' patch:
http://gcc.gnu.org/ml/gcc-patches/2003-09/msg01872.html

Could you verify whether your original testcases work now?

Bye,
Ulrich

-- 
  Dr. Ulrich Weigand
  weigand@informatik.uni-erlangen.de

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

* Re: Nonlocal gotos on s390
  2003-09-29  0:42 Nonlocal gotos on s390 Ulrich Weigand
@ 2003-09-29  1:14 ` Frank Heckenbach
  2003-09-29 10:48   ` Ulrich Weigand
  0 siblings, 1 reply; 6+ messages in thread
From: Frank Heckenbach @ 2003-09-29  1:14 UTC (permalink / raw)
  To: weigand, GerhardTonn, doko, hebisch, krebbel1, gcc

> Frank Heckenbach wrote:
> 
> <snip testcase - nonlocal goto doesn't work on s390>
> 
> This should be fixed by Andreas' patch:
> http://gcc.gnu.org/ml/gcc-patches/2003-09/msg01872.html
> 
> Could you verify whether your original testcases work now?

Waldek, can you test it? (I can't directly apply the patch -- not
sure if it's because a problem when extracting it from HTML (tried
to fix it), or because a version mismatch ...)

Frank

-- 
Frank Heckenbach, frank@g-n-u.de
http://fjf.gnu.de/
GnuPG and PGP keys: http://fjf.gnu.de/plan (7977168E)

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

* Re: Nonlocal gotos on s390
  2003-09-29  1:14 ` Frank Heckenbach
@ 2003-09-29 10:48   ` Ulrich Weigand
  2003-09-29 13:37     ` Gerhard Tonn
  0 siblings, 1 reply; 6+ messages in thread
From: Ulrich Weigand @ 2003-09-29 10:48 UTC (permalink / raw)
  To: Frank Heckenbach; +Cc: weigand, GerhardTonn, doko, hebisch, krebbel1, gcc

Frank Heckenbach wrote:

> Waldek, can you test it? (I can't directly apply the patch -- not
> sure if it's because a problem when extracting it from HTML (tried
> to fix it), or because a version mismatch ...)

The HTML version was line-wrapped; if you prefer you could just
extract the patch from CVS instead:
http://gcc.gnu.org/ml/gcc-cvs/2003-09/msg00794.html

If you want to apply it to an earlier release, you'll probably 
have white-space mismatches, but they should be easy to fix.

Bye,
Ulrich

-- 
  Dr. Ulrich Weigand
  weigand@informatik.uni-erlangen.de

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

* Re: Nonlocal gotos on s390
  2003-09-29 10:48   ` Ulrich Weigand
@ 2003-09-29 13:37     ` Gerhard Tonn
  2003-09-29 14:37       ` Frank Heckenbach
  0 siblings, 1 reply; 6+ messages in thread
From: Gerhard Tonn @ 2003-09-29 13:37 UTC (permalink / raw)
  To: Ulrich Weigand; +Cc: Frank Heckenbach, doko, hebisch, krebbel1, gcc

The latest Debian gcc 3.3 version plus the nonlocal goto patch gives the 
results below. If this is okay I will commit the patch to the Debian gcc
cvs.

Regards,
Gerhard


TEST    asmtest.pas:    SKIPPED: only for IA32
TEST    asmtest2.pas:   SKIPPED: only for IA32
TEST    asmtest3.pas:   SKIPPED: only for IA32
TEST    dario.pas:      SKIPPED: only for IA32
TEST    fjf105a.pas:    SKIPPED: librx not installed
TEST    fjf105b.pas:    SKIPPED: librx not installed
TEST    fjf77.pas:      SKIPPED: range of LongReal not sufficient for test
TEST    jj5.pas:        SKIPPED: `attribute (stdcall)' not available
TEST    longr2.pas:     SKIPPED: no LongReal math routines available
TEST    mir029el.pas:   failed
TEST    regextest.pas:  SKIPPED: librx not installed

# of GPC tests          3794
# of GPC tests passed   3783
# of GPC tests skipped  10
# of GPC tests failed   1

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

* Re: Nonlocal gotos on s390
  2003-09-29 13:37     ` Gerhard Tonn
@ 2003-09-29 14:37       ` Frank Heckenbach
  0 siblings, 0 replies; 6+ messages in thread
From: Frank Heckenbach @ 2003-09-29 14:37 UTC (permalink / raw)
  To: GerhardTonn, weigand, doko, hebisch, krebbel1, gcc

> The latest Debian gcc 3.3 version plus the nonlocal goto patch gives the 
> results below. If this is okay I will commit the patch to the Debian gcc
> cvs.

That's fine.

For the one remaining failure (mir029el.pas), the following patch
should help (this one seems to occur on all targets). If you can
commit this too, it would be fine, but it's independent of the
nonlocal goto bug.

*** gcc/tree.c.orig	Wed Aug 20 03:07:35 2003
--- gcc/tree.c	Sat Sep 13 13:23:49 2003
***************
*** 4920,4925 ****
--- 4920,4929 ----
  	    && ! REAL_VALUE_MINUS_ZERO (TREE_REAL_CST (TREE_IMAGPART (init))));
      case CONSTRUCTOR:
        {
+         /* A set constructor `[0]' is not the same as `[]'. */
+         if (TREE_CODE (TREE_TYPE (init)) == SET_TYPE && TREE_OPERAND (init, 1))
+           return false;
+ 
  	if (AGGREGATE_TYPE_P (TREE_TYPE (init)))
  	  {
  	    tree aggr_init = TREE_OPERAND (init, 1);

Frank

-- 
Frank Heckenbach, frank@g-n-u.de
http://fjf.gnu.de/
GnuPG and PGP keys: http://fjf.gnu.de/plan (7977168E)

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

* Re: Nonlocal gotos on s390
       [not found]   ` <3F4F555C.2030109@gammatau.de>
@ 2003-08-31 15:39     ` Frank Heckenbach
  0 siblings, 0 replies; 6+ messages in thread
From: Frank Heckenbach @ 2003-08-31 15:39 UTC (permalink / raw)
  To: GerhardTonn, doko, hebisch, gcc

Gerhard Tonn wrote:

> Matthias Klose wrote:
> > Frank forwarded this to me.
> > Gerhard, please could you help/forward this to the s390 porters? 
> > 
> > Thanks, Matthias
> >  
> > 
> >>fjf558[m-p].pas 
> >>fproc.pas 
> >>goto5.pas 
> >>nlgpp2.pas 
> >> 
> > 
> > 
> > Waldek Hebisch writes:
> > 
> >>I played a little with Hercules and s390 Debian. I think I have 
> >>found the reason for failures of nonlocal gotos. On s390 constants
> >>are stored in memory and accesed via a base register. Each 
> >>function has its own "pool" of constants. Nonlocal gotos were
> >>not restoring the base register. It seems that the code to 
> >>restore the base register is present, but "short-circuit" by
> >>an optimization.
> 
> Uli Weigand, the main s390 backend maintainer, told me that your 
> workaround is not correct. He is interested in a short example, if 
> possible coded in C, that shows this misbehaviour you mention above. 
> Since he is going on vacation for the next weeks, it would be helpful, 
> if you could post it to the gcc mailing list so that somebody else could 
> look into the problem.

frank@trex:~# uname -a
Linux trex 2.4.17 #1 SMP Thu Apr 3 08:58:03 UTC 2003 s390 unknown
frank@trex:~# gcc -v
Reading specs from /home/frank/usr/lib/gcc-lib/s390-ibm-linux/3.2.1/specs
Configured with: ../gcc-3.2.1/configure --enable-languages=pascal --prefix=/home/frank/usr
Thread model: posix
gcc version 3.2.1
frank@trex:~# cat goto5.c
#include <stdio.h>

static void foo ()
{
  __label__ bar;

  static void baz ()
  {
    puts ("OK 1");
    goto bar;
    puts ("failed 1");
  }

  baz ();
  puts ("failed 2");
bar:
  puts ("OK 2");
}

int main ()
{
  foo ();
  return 0;
}
frank@trex:~# gcc goto5.c
frank@trex:~# ./a.out
OK 1
Segmentation fault

Frank

-- 
Frank Heckenbach, frank@g-n-u.de
http://fjf.gnu.de/
GnuPG and PGP keys: http://fjf.gnu.de/plan (7977168E)

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

end of thread, other threads:[~2003-09-29 13:37 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-09-29  0:42 Nonlocal gotos on s390 Ulrich Weigand
2003-09-29  1:14 ` Frank Heckenbach
2003-09-29 10:48   ` Ulrich Weigand
2003-09-29 13:37     ` Gerhard Tonn
2003-09-29 14:37       ` Frank Heckenbach
     [not found] <E19rnNE-0000YX-00@hera.math.uni.wroc.pl>
     [not found] ` <16205.37893.667281.678184@gargle.gargle.HOWL>
     [not found]   ` <3F4F555C.2030109@gammatau.de>
2003-08-31 15:39     ` Frank Heckenbach

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).