Mail Archives: cygwin/2000/11/21/13:49:06
>That change was a marginal performance hack and I don't think it'd do
>any harm to scrap it. However, I am currently testing a patch which
>moves the memory allocation mess into libiberty. (It's a modified
>version of the patch by Alexandre Oliva and Laurnyas Bivenis - less
>complex, hopefully just as effective.) I'd be curious to know how it
>works on cygwin. Patch is appended.
Thanks Zack for looking at this.
Unfortunately, your new patch also fails, a least as applied to the
version I have at work. Because of CVS/firewall issues, I am working
with the 11-13-2000 snapshot, which doesn't have your stringpool.c
changes. I am pretty sure that the patch applied sucessfully though.
BTW, is there a direct way of applying a CVS -diff to files using
patch? I ended up breaking your patch into 11 different .diff files
and apply them each individually.
----------
...
stage1/xgcc.exe -Bstage1/ -B/usr/local/i686-pc-cygwin/bin/ -DIN_GCC -g
-O2 -W -Wall -Wwrite-strings -Wstrictprototypes -Wmissing-prototypes
-Wtraditional -pedantic -Wno-long-long -DHAVE_CONFIG_H -I. -I.
-I/src/gcc-20001113/gcc -I/src/gcc-20001113/gcc/.
-I/src/gcc-20001113/gcc/config -I/src/gcc-20001113/gcc/../include -c
/src/gcc-20001113/gcc/c-parse.c
/usr/share/bison.simple: In function `yyparse':
/usr/share/bison.simple:761: Internal compiler error in clear_marks, at
ggc-page.c:815
Please submit a full bug report.
See <URL:http://www.gnu.org/software/gcc/bugs.html> for
instructions.
make[2]: *** [c-parse.o] Error 1
make[2]: Leaving directory `/obj/gcctest/gcc'
make[1]: *** [stage_c] Error 2
make[1]: Leaving directory `/obj/gcctest/gcc'
make: *** [bootstrap] Error 2
--------
Line 815 is the check for page-alignedness in clear_marks
---------
static inline void
clear_marks ()
{
unsigned order;
for (order = 2; order <= G.lg_pagesize; order++)
{
size_t num_objects = OBJECTS_PER_PAGE (order);
size_t bitmap_size = BITMAP_SIZE (num_objects + 1);
page_entry *p;
for (p = G.pages[order]; p != NULL; p = p->next)
{
#ifdef ENABLE_CHECKING
/* The data should be page-aligned. */
if ((size_t) p->page & (G.pagesize - 1))
abort (); /* Line 815 */
#endif
...
--------------
Attempting to compile with --enable-checking=no will segfault on the
same file.
I am flying out to California for Thanksgiving, so I unfortunately will
not be able to test anything more until Sunday.
Thanks again,
Kelley Cook
--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe AT sourceware DOT cygnus DOT com
- Raw text -