This is the mail archive of the gcc-prs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: preprocessor/6084: cpp Segmentation Fault


The following reply was made to PR preprocessor/6084; it has been noted by GNATS.

From: "Gerwin, Joshua A" <joshua.a.gerwin@intel.com>
To: "'Neil Booth'" <neil@daikokuya.demon.co.uk>,
   "Gerwin, Joshua A" <joshua.a.gerwin@intel.com>
Cc: "'Phil Edwards'" <phil@jaj.com>, joshg@hf.intel.com, gcc-gnats@gcc.gnu.org,
   rnesius@ichips.intel.com, "Nguyen, Tuan"<tuan.nguyen@intel.com>,
   gcc-bugs@gcc.gnu.org
Subject: RE: preprocessor/6084: cpp Segmentation Fault
Date: Mon, 15 Apr 2002 11:25:25 -0700

 > -----Original Message-----
 > From: 'Neil Booth' [mailto:neil@daikokuya.demon.co.uk]
 > Sent: Monday, April 15, 2002 11:16 AM
 > To: Gerwin, Joshua A
 > Cc: 'Phil Edwards'; joshg@hf.intel.com; gcc-gnats@gcc.gnu.org;
 > rnesius@ichips.intel.com; Nguyen, Tuan; gcc-bugs@gcc.gnu.org
 > Subject: Re: preprocessor/6084: cpp Segmentation Fault
 > 
 > 
 > Gerwin, Joshua A wrote:-
 > 
 > > OK, here's my theory as to why I think you aren't seeing it in
 > > maybe_print_line.  Often when we compile, we use an 
 > optimizing flag (admit
 > > it, you do this sometimes too!) and in this case the 
 > optimizer dropped the
 > > jump to the separate print_line function and put the 
 > fprintf directly in
 > > maybe_print_line.  So in cppmain.c (line 329 by my 
 > reckoning), effectively
 > > substitute 
 > > 
 > >     else
 > >     {
 > >       print.lineno = line;
 > >       print_line ("");
 > >     }
 > > 
 > > with 
 > > 
 > >     else
 > >     {
 > >       print.lineno = line;
 > >       if (print.printed) putc ('\n', print.outf);
 > >       print.printed = 0;
 > >       fprintf (print.outf, "# %u \"%s\"%s%s\n",
 > >            print.lineno, print.last_fname, "", print.syshdr_flags);
 > >     }
 > >  
 > > This saves a subroutine call.
 > 
 > OK.  Why can't you give me more info?  Like the variables in question;
 > clearly one is NULL?  Maybe investigate why it is NULL in this case
 > and not when you switch command line args?  It would save us 
 > both a lot
 > of time.
 > 
 > Neil.
 > 
 I would if I could, but the debugger often reports back that it can't get at
 the variables in question.
 
 (gdb) info mem
 Num Enb Low Addr           High Addr          Attrs 
 2   y   0x000000010000349c 0x0000000100012344 rw nocache 
 1   y   0x000000000011b018 0x0000000000120000 rw nocache 
 (gdb) break maybe_print_line
 Cannot access memory at address 0x3c28
 
 for instance.  This prohibition is applied to display, print, and trace as
 well.  I've had some success in getting DDD to sneak in there, and I'll see
 if I can convince it can put a display on the print structure. 
 
 -- Josh 


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]