public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
From: Joern Rennecke <amylaar@cambridge.redhat.com>
To: zackw@stanford.edu (Zack Weinberg)
Cc: nix@esperi.demon.co.uk (Nix), gcc@gcc.gnu.org
Subject: Re: Libgcc symbols
Date: Tue, 17 Apr 2001 16:17:00 -0000	[thread overview]
Message-ID: <200104172317.f3HNHT405338@phal.cambridge.redhat.com> (raw)
In-Reply-To: <20010416090821.L339@stanford.edu>

> This does raise a question in my mind: if a target defines additional
> support routines in a lib1funcs.asm, how do they get into the symbol
> map?

More urgently: how do you keep crap out of the symbol map?  The
multi-precision arithmetic in libgcc.c is not much more than a proof
of concept, and results in very poor code.  Even if you need to write
an out-of-line piece of code, you can generally do much better doing so
in optimized assembler.  But the libgcc2.c versions are in the way.
For a static library, that is not an issue: you make the compiler call
a function with a different name, which is coded in lib1funcs.asm
(sometimes even with a streamlined calling convention).  The libgcc2.c
version gets still compiled to a junk .o file, but it only costs a few
bytes of disk space in the static library.
But this junk shouldn't be included in a shared library - it's just bloat.
Likewise, even where the multiprecision arithmetic is still used, this is
likely only because nobody has cared much about its performance so far.
When someone does, you want to delete that function and swap it for a
lib1funcs.asm one.  So we should only compile these functions for the
static libgcc.a (unless the target system has no concept of static
libraries).

It's much easier to add symbols than to delete them from a shared library,
so why not start with the symbols we really do want to he shared on only
put those into a shared library?

  parent reply	other threads:[~2001-04-17 16:17 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-04-13 21:11 Mark Mitchell
2001-04-14  8:02 ` law
2001-04-16  5:54 ` Nix
2001-04-16  9:08   ` Zack Weinberg
2001-04-16  9:28     ` Phil Edwards
2001-04-16  9:44       ` Zack Weinberg
2001-04-16 10:43         ` Gabriel Dos Reis
2001-04-16 11:52         ` Phil Edwards
2001-04-16 10:39       ` Gabriel Dos Reis
2001-04-16 11:00     ` Nix
2001-04-17 11:23     ` Richard Henderson
2001-04-17 16:17     ` Joern Rennecke [this message]
2001-04-16 10:17   ` Profiling with '-a' [was Re: Libgcc symbols] Scott A Crosby
2001-04-16 15:01     ` Nix
2001-04-16 11:06   ` Libgcc symbols Mark Mitchell
2001-04-17 16:10 ` Michael Meissner
2001-04-17 17:57   ` Joe Buck
2001-04-17 23:11     ` Russ Allbery
2001-04-17 23:14       ` Russ Allbery
2001-04-16  9:35 Richard Kenner
2001-04-16 12:22 ` Alexandre Oliva
2001-04-16 12:25 Richard Kenner
2001-04-16 12:48 ` Alexandre Oliva
2001-04-17 11:29 ` Richard Henderson
2001-04-16 12:49 Richard Kenner
2001-04-16 12:58 dewar
2001-04-17 11:33 Richard Kenner
2001-04-17 12:14 dewar

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=200104172317.f3HNHT405338@phal.cambridge.redhat.com \
    --to=amylaar@cambridge.redhat.com \
    --cc=gcc@gcc.gnu.org \
    --cc=nix@esperi.demon.co.uk \
    --cc=zackw@stanford.edu \
    /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).