public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
From: Joern Rennecke <amylaar@spamcop.net>
To: Basile Starynkevitch <basile@starynkevitch.net>
Cc: Gabriel Dos Reis <gdr@integrable-solutions.net>,
	Diego Novillo	<dnovillo@google.com>,
	gcc@gcc.gnu.org
Subject: Re: Plugins always enabled in GCC 4.8?
Date: Mon, 02 Apr 2012 13:05:00 -0000	[thread overview]
Message-ID: <20120402090458.7thypwmwgsww88sk-nzlynne@webmail.spamcop.net> (raw)
In-Reply-To: <20120402111723.GA27639@ours.starynkevitch.net>

Quoting Basile Starynkevitch <basile@starynkevitch.net>:

> I also am in favor of having a software linked dynamically with shared
> libraries, for a very pragramtical reason: If a software has shared
> libraries, then modifying one such library in its implementation (not its
> interface) is very often easier for the developer, who can, thanks to the
> dynamic linking, test and use his improved shared library more easily and
> more quickly. In particular, if GCC were made of shared libraries, I believe
> that the build time would be much faster for the developer (ie the GCC
> contributor), and this is a big comfort in practice.

I don't see that.  Re-linking cc1 / cc1plus is reasonably fast.  And you'll
have to rebuild all the target libraries for a full test, no matter if
you have a monolithic exectuable or one with lots of dsos.  But in the
latter case, you'll have to dynamically link against numerous
dso for each library file compilation.

Where we could save rebuilding time is in cutting unwanted header
file dependencies, like tm.h included by frontends.
So, in that sense, more modularity helps build times.

But any gain from not statically re-linking the full executable is likely
already lost by more resource-hungry -fpic compilation, and even more
so by the dynamic link overhead.

Time savings when compiling the compiler with lto might be more noticable,
but only because you add additionaly boundaries which severely limit of
what lto can do for you.  lto and fast turn-around times don't mix very
well, anyway.

      parent reply	other threads:[~2012-04-02 13:05 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-03-31 17:51 Basile Starynkevitch
2012-04-01 20:41 ` Diego Novillo
2012-04-02  5:38   ` Basile Starynkevitch
2012-04-02  8:44     ` Richard Guenther
2012-04-02  9:33       ` Basile Starynkevitch
2012-04-02 10:40     ` Gabriel Dos Reis
2012-04-02 11:17       ` Basile Starynkevitch
2012-04-02 12:38         ` Gabriel Dos Reis
2012-04-02 12:43           ` Richard Guenther
2012-04-02 13:05         ` Joern Rennecke [this message]

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=20120402090458.7thypwmwgsww88sk-nzlynne@webmail.spamcop.net \
    --to=amylaar@spamcop.net \
    --cc=basile@starynkevitch.net \
    --cc=dnovillo@google.com \
    --cc=gcc@gcc.gnu.org \
    --cc=gdr@integrable-solutions.net \
    /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).