gcl-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Gcl-devel] Windows Maxima ignore errors bug


From: Camm Maguire
Subject: Re: [Gcl-devel] Windows Maxima ignore errors bug
Date: 29 May 2004 14:44:05 -0400
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2

Greetings, and thanks fr this!

1) I'm inclined to believe the stack fix is real, though perhaps
   incidental.  My guess is that the threshhold for breakage is
   somewhere around 4Mb, as with 8Mb the compiler is forced to place
   the stack above the text code addresses starting somewhere around
   0x400000, i.e starting at 0xc... instead of 0x2 as per your other
   email.  That said, I doubt we're actually overruning the stack,
   though this is possible, but that there is a subtle issue with the
   stack beneath the code growing down to 0.  

2) I'm inclined to forgo the cnil var initializations for 2.6.2 --
   they do not appear essential.  Please correct me if wrong.

3) Its looking like the best configuration is with a 8Mb stack and max
   optimizations short of triggering the ansi bug.  What would make my
   day is if you told me we could build with gcc 3.3.3 and gcc 3.4.0
   with this configuration.  If so, may I suggest we make the minimal
   default flag changes, together with your fgetc fix, for 2.6.2.

Mike Thomas <address@hidden> writes:

> And one last note:
> 
> I have here a modified 2.6.1 tree which does not exhibit the
> ignore-errors bug either when configured with CVS default
> optimisations or --enable-debug.  It remains to be shown whether this
> is pure luck or not.  CVS diff below.  Gcc 3.3.1, binutils 2.14.90.
> 
> I rearranged the way I approached the extended stack, and included my
> alteration to string.d reported yesterday as well as a few
> initialisations of local object vars in pathname.d etc.
> 
> This build does still exhibit the universe.lisp bug per my other
> emails, but I think that is a separate issue.
> 
> Cheers
> 
> Mike Thomas
> 
> Index: configure.in
> ===================================================================
> RCS file: /cvsroot/gcl/gcl/configure.in,v
> retrieving revision 1.112.4.1.2.2.2.47
> diff -r1.112.4.1.2.2.2.47 configure.in
> 395c395
> <     LDFLAGS=" "
> ---
>  >    LDFLAGS=" -Wl,--stack=8388608 "
> Index: h/mingw.h
> ===================================================================
> RCS file: /cvsroot/gcl/gcl/h/mingw.h,v
> retrieving revision 1.17.6.6
> diff -r1.17.6.6 mingw.h
> 137c137
> <     while ((i = getc(fp)) == 0) \
> ---
>  >    while ((i = fgetc(fp)) == 0) \
> Index: o/file.d
> ===================================================================
> RCS file: /cvsroot/gcl/gcl/o/file.d,v
> retrieving revision 1.21.4.1.2.8
> diff -r1.21.4.1.2.8 file.d
> 245c245
> <     object x;
> ---
>  >    object x = Cnil;
> 349c349
> <     object x;
> ---
>  >    object x = Cnil;
> 532c532
> <     object x;
> ---
>  >    object x=Cnil;
> Index: o/main.c
> ===================================================================
> RCS file: /cvsroot/gcl/gcl/o/main.c,v
> retrieving revision 1.26.4.1.2.21
> diff -r1.26.4.1.2.21 main.c
> 156c156
> <         _stacktop    = _stackbottom - 0x10000; // ???
> ---
>  >        _stacktop    = _stackbottom - 8388608; // ???
> Index: o/pathname.d
> ===================================================================
> RCS file: /cvsroot/gcl/gcl/o/pathname.d,v
> retrieving revision 1.12.6.4
> diff -r1.12.6.4 pathname.d
> 79,80c79,80
> <     object *vsp;
> <     object x;
> ---
>  >    object *vsp = NULL;
>  >    object x = Cnil;
> 258c258,264
> <     object host, device, directory, name, type, version;
> ---
>  >    object
>  >      host = Cnil
>  >    , device = Cnil
>  >    , directory = Cnil
>  >    , name = Cnil
>  >    , type = Cnil
>  >    , version = Cnil;
> 307c313,314
> <     object l, y;
> ---
>  >    object l = Cnil
>  >    , y = Cnil;
> Index: o/string.d
> ===================================================================
> RCS file: /cvsroot/gcl/gcl/o/string.d,v
> retrieving revision 1.7.6.2
> diff -r1.7.6.2 string.d
> 163c163
> <     object y;
> ---
>  >    object y = Cnil;
> 204a205
>  >    vs_reset;
> 571c572
> <     object *v;
> ---
>  >    object *v = NULL;
> Index: unixport/makefile
> ===================================================================
> RCS file: /cvsroot/gcl/gcl/unixport/makefile,v
> retrieving revision 1.42.2.1.2.1.2.19
> diff -r1.42.2.1.2.1.2.19 makefile
> 121c121
> <     $(CC) $(CFLAGS) -I$(HDIR) -I$(ODIR) -o $(RSYM) $(SPECIAL_RSYM)
> ---
>  >    $(CC) -Wl,--stack=8388608 $(CFLAGS) -I$(HDIR) -I$(ODIR) -o
> $(RSYM) $(SPECIAL_RSYM)
> 153c153
> <             -L. $(EXTRA_LD_LIBS) -Wl,-Map raw_$*_map
> $(LD_LIBS_PRE) -l$* $(LD_LIBS_POST)
> ---
>  >            -L. $(EXTRA_LD_LIBS) -Wl,--stack=8388608 -Wl,-Map
> raw_$*_map $(LD_LIBS_PRE) -l$* $(LD_LIBS_POST)
> 
> 
> 
> 
> _______________________________________________
> Gcl-devel mailing list
> address@hidden
> http://lists.gnu.org/mailman/listinfo/gcl-devel
> 
> 

-- 
Camm Maguire                                            address@hidden
==========================================================================
"The earth is but one country, and mankind its citizens."  --  Baha'u'llah




reply via email to

[Prev in Thread] Current Thread [Next in Thread]