public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: Jan Hubicka <jh@suse.cz>
To: Lubos Lunak <l.lunak@sh.cvut.cz>, rth@cygnus.com
Cc: Jan Hubicka <jh@suse.cz>, Jakub Jelinek <jakub@redhat.com>,
	gcc-patches@gcc.gnu.org, patches@x86-64.org
Subject: Re: KDE a gcc
Date: Mon, 12 Nov 2001 12:11:00 -0000	[thread overview]
Message-ID: <20011112155258.H8833@atrey.karlin.mff.cuni.cz> (raw)
Message-ID: <20011112121100.U47Z5mfSaTew2UsGtL3G9diyfID52TnHEhEnLrsAOLY@z> (raw)
In-Reply-To: <200111011733.SAA25987@stoupa.sh.cvut.cz>

Hi,
this patch implements idea described in:
> http://dforce.sh.cvut.cz/~seli/en/linking2/#data_segment

basically in KDE/QT applications there is lots of pregenerated data that is
read only, but in PIC compilation it isn't because of dynamic linking.  This
code is intermixed with other readwrite data then.  With prelinking this is a
waste, as the pregenereated data is really readonly so it should be put
together and without it is waste too, as dynamic linker needs to COW much more
pages.

This patch adds two new sections. .data.rel is used for read/write data that
contains relocations (so it will be COWed on startup in case no prelinking is
done) and .data.rel.ro contains read/only data with relocations that are
read-only for prelinking and COWed on startup.

Lubos measured about 60Kb saving on simple QT application requiring about 500Kb
resources with the prelinking. He estimates savings for KDE application to
about 200Kb.  I made simple test with sartup time on the c++ library from
crystal space w/o prelinking and got about 6% savings in startup time too.

Note that I am not quite sure whether .data.rel / .data.rel.ro are handled as
.data subsections on all systems.  The patch uses the named sections by
default, but allows to define new opcodes for that too, hope it is flexible
enought and will not bring considerable compatibility issues.

Honza

       reply	other threads:[~2001-11-12 12:11 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <200110030715.f937FCT75772@ns.felk.cvut.cz>
     [not found] ` <200110312108.WAA21661@stoupa.sh.cvut.cz>
     [not found]   ` <20011101145241.E31305@atrey.karlin.mff.cuni.cz>
     [not found]     ` <200111011733.SAA25987@stoupa.sh.cvut.cz>
2001-11-02 10:58       ` Jan Hubicka [this message]
2001-11-02 11:24         ` Jakub Jelinek
2001-11-02 12:25           ` [patches] " Jan Hubicka
2001-11-12 12:11             ` Jan Hubicka
2001-11-13  4:26             ` Jan Hubicka
2001-11-13 15:03             ` Jan Hubicka
2001-11-12 12:11           ` Jakub Jelinek
2001-11-13  4:26           ` Jakub Jelinek
2001-11-13 15:03           ` Jakub Jelinek
2001-11-02 12:23         ` [patches] " Jan Hubicka
2001-11-12 12:11           ` Jan Hubicka
2001-11-13  4:26           ` Jan Hubicka
     [not found]           ` <20011112092319.A15349@redhat.com>
2001-11-13 15:03             ` Jan Hubicka
2001-11-13 15:03               ` Jakub Jelinek
2001-11-13 15:03                 ` Jakub Jelinek
2001-11-13 15:03                   ` KDE and gcc take III Jan Hubicka
2001-11-14  7:28                     ` Richard Henderson
2001-11-14  8:35                       ` Jan Hubicka
2001-11-14 11:17                         ` Richard Henderson
2001-11-24 12:26                           ` Richard Henderson
2001-11-24 11:20                         ` Jan Hubicka
2001-11-24 11:10                       ` Richard Henderson
2001-11-22  5:06                     ` Jan Hubicka
2001-11-22  1:32                   ` [patches] Re: KDE a gcc Jakub Jelinek
2001-11-13 15:03           ` Jan Hubicka
2001-11-12 12:11         ` Jan Hubicka
2001-11-13  4:26         ` Jan Hubicka
2001-11-13 15:03         ` Jan Hubicka

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=20011112155258.H8833@atrey.karlin.mff.cuni.cz \
    --to=jh@suse.cz \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=jakub@redhat.com \
    --cc=l.lunak@sh.cvut.cz \
    --cc=patches@x86-64.org \
    --cc=rth@cygnus.com \
    /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).