[Top][All Lists]
[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