public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "ian at wasabisystems dot com" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug pch/14400] Cannot compile qt-x11-free-3.3.0
Date: Sat, 27 Mar 2004 07:03:00 -0000	[thread overview]
Message-ID: <20040327070342.22930.qmail@sources.redhat.com> (raw)
In-Reply-To: <20040303083528.14400.schmid@snake.iap.physik.tu-darmstadt.de>


------- Additional Comments From ian at wasabisystems dot com  2004-03-27 07:03 -------
I was able to recreate this problem with the 3.4 branch compiler.  The problem
is that the PCH is loaded at an address which is not the address at which it was
saved.  On the 3.4 branch this leads to a segmentation violation, because of
some code which uses mincore to check whether an address is available.  mincore
on Linux does not work as expected, so that code loads the PCH on top of memory
space which is already being used.  The result is a crash.  This particular
problem does not occur on mainline, because the code which calls mincore has
been moved to host-solaris.c, and thus is not called on Linux.

If I change line 610 of ggc-common.c to
#if HAVE_MINCORE && ! defined (__linux__)
then I get a sorry() message.

Now, why does the mmap return a different value?  It is because the input file
is large--142253 bytes.  The input file is loaded into memory in
c_common_post_options.  The -include command line option is processed by
finish_options(), called just before c_parse_file().  Since the input file is so
large, the memory map is changed before gcc tries to load the PCH.  The effect
is that the PCH winds up at the wrong address.

I suspect that this is a general problem with PCH, and that the problem will
also occur with mainline.  However, I haven't tried it yet.

I don't see any good fix for this at the moment.  I suspect that PCH is going to
generally break when used with large input files, except on Darwin which does
not use the mmap scheme.  But I haven't verified it.

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14400


  parent reply	other threads:[~2004-03-27  7:03 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-03-03  8:35 [Bug pch/14400] New: " schmid at snake dot iap dot physik dot tu-darmstadt dot de
2004-03-03 12:40 ` [Bug pch/14400] " giovannibajo at libero dot it
2004-03-03 16:44 ` pinskia at gcc dot gnu dot org
2004-03-04  6:07 ` schmid at snake dot iap dot physik dot tu-darmstadt dot de
2004-03-04  7:03 ` schmid at snake dot iap dot physik dot tu-darmstadt dot de
2004-03-17  5:50 ` mmitchel at gcc dot gnu dot org
2004-03-17  5:56 ` pinskia at gcc dot gnu dot org
2004-03-25  6:57 ` pinskia at gcc dot gnu dot org
2004-03-26  8:01 ` schmid at snake dot iap dot physik dot tu-darmstadt dot de
2004-03-27  7:03 ` ian at wasabisystems dot com [this message]
2004-03-30  1:42 ` geoffk at gcc dot gnu dot org
2004-03-30  7:07 ` ian at wasabisystems dot com
2004-04-01  1:17 ` geoffk at apple dot com
2004-04-02 15:18 ` ian at wasabisystems dot com
2004-04-02 19:16 ` geoffk at apple dot com
2004-04-04  3:39 ` ian at wasabisystems dot com
2004-04-05 20:40 ` [Bug pch/14400] [3.4 regression] " ian at wasabisystems dot com
2004-04-05 20:54 ` mrs at apple dot com
2004-04-05 22:50 ` geoffk at apple dot com
2004-04-06  0:39 ` ian at wasabisystems dot com
2004-04-06 13:34 ` [Bug pch/14400] [3.4/3.5 " ian at wasabisystems dot com
2004-04-07 18:01 ` mmitchel at gcc dot gnu dot org
2004-04-07 18:34 ` mueller at kde dot org
2004-04-07 18:53 ` ian at wasabisystems dot com
2004-04-07 19:21 ` mark at codesourcery dot com
2004-04-07 19:22 ` [Bug pch/14400] " pinskia at gcc dot gnu dot org
2004-04-07 19:35 ` ian at wasabisystems dot com
2004-04-07 20:44 ` ian at wasabisystems dot com
2004-04-12 21:11 ` mmitchel at gcc dot gnu dot org
2004-04-12 22:07 ` geoffk at gcc dot gnu dot org
2004-04-12 22:45 ` ian at wasabisystems dot com
2004-04-12 23:13 ` geoffk at apple dot com
2004-04-13 15:07 ` ian at wasabisystems dot com
2004-04-13 18:38 ` geoffk at gcc dot gnu dot org
2004-04-13 19:48 ` ian at wasabisystems dot com
2004-04-13 19:53 ` geoffk at gcc dot gnu dot org
2004-05-29 22:54 ` [Bug pch/14400] [pch] " mmitchel at gcc dot gnu dot org
2004-06-18 23:57 ` mmitchel at gcc dot gnu dot org
2004-08-23 20:55 ` mmitchel at gcc dot gnu dot org
2004-11-01  0:47 ` mmitchel at gcc dot gnu dot org
2005-04-14  0:28 ` pinskia at gcc dot gnu dot org
2005-05-19 17:50 ` mmitchel at gcc dot gnu dot org
2005-08-02 19:04 ` cvs-commit at gcc dot gnu dot org
2005-08-02 19:05 ` ian at airs dot com

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20040327070342.22930.qmail@sources.redhat.com \
    --to=gcc-bugzilla@gcc.gnu.org \
    --cc=gcc-bugs@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).