Mailing-List: contact cygwin-help@sourceware.cygnus.com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe@sources.redhat.com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin@sources.redhat.com>
List-Help: <mailto:cygwin-help@sources.redhat.com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner@sources.redhat.com
Delivered-To: mailing list cygwin@sources.redhat.com
Message-Id: <200011211839.eALIdOd15553@ahmlir2.mail.eds.com>
From: "Kelley Cook" <Kelley.Cook@home.com>
To: "Zack Weinberg" <zackw@Stanford.EDU>
Cc: "GCC-Bugs@gcc.gnu.org" <GCC-Bugs@gcc.gnu.org>,
        "GCC-patches@gcc.gnu.org" <GCC-patches@gcc.gnu.org>,
        "Cygwin mailing list" <Cygwin@sources.redhat.com>
Date: Tue, 21 Nov 2000 13:39:01 -0500
Reply-To: "Kelley Cook" <Kelley.Cook@home.com>
X-Mailer: PMMail 2000 Standard (2.10.2010) For Windows 2000 (5.0.2195;1)
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Subject: Re: Reason for cygwin GCC 2.97 non-bootstrap found

>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@sourceware.cygnus.com

