public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
From: Jan-Benedict Glaw <jbglaw@lug-owl.de>
To: Mikhail Teterin <mi+kde@aldan.algebra.com>
Cc: Dave Korn <dave.korn@artimi.com>,
		'Daniel Jacobowitz' <drow@false.org>,
	binutils@sources.redhat.com
Subject: Re: backward/forward compatibility of binutils
Date: Fri, 07 Jul 2006 16:30:00 -0000	[thread overview]
Message-ID: <20060707163042.GI22573@lug-owl.de> (raw)
In-Reply-To: <200607071215.33372@aldan>

[-- Attachment #1: Type: text/plain, Size: 3127 bytes --]

On Fri, 2006-07-07 12:15:32 -0400, Mikhail Teterin <mi+kde@aldan.algebra.com> wrote:
> On Friday 07 July 2006 11:40, Dave Korn wrote:
> = > Why not? How hard is it to keep API compatibility (no need for ABI)?
> = 
> =   Fairly.  If it was trivial, it would be that way already!
> 
> More difficult, than for the PNG, EXPAT, or TCL maintainers, for example? I 
> know, it is not "trivial", but let's not exclude the middle of "possible, I 
> guess" :-)

For sure, yes. Just look at binutils and its users. Every now and
then, there's an extension to some processor architecture imposing new
defines etc. Each time, you have to increase the version number of the
libbfd. That way, if you install binutils and gdb at two times, you're
likely ending up with one lib for each, as well as two sets of header
files.

For eg. file parsing libraries like PNG, there's not much that changes
in the PNG standard over the time. For processors and their features,
a lot changes. All the time.

> This is a reason to keep the native tool-chain executables linked statically 
> (as well as make, and whatever else is needed to rebuild the shared libs).
> 
> This is NOT a reason for each tool bundling its own version... There is not 
> one, I think...

Actually, there isn't one version for each tool. Don't only have a
look at the released tarballs, but also at the CVS server. You'll find
out that there's only one libbfd.

> A complete, compatible, centrally installed (with headers and both static and 
> shared libraries) version of bfd would also allow make installing various 
> cross-compilers and cross-debuggers easier, and allow disassembling foreign 
> binaries, and analyzing foreign cores.

Forget that, quickly.  If you install one set of toolchains, once, you
get away with that.  But if you follow development where CPU features
are added all the time, you likely end up with a dozend installations
of libbfd, along with header files.

> A new version of, say, gdb would not need to include its own bfd anymore -- it 
> could simply require one to be present on the system and to be at a certain 
> version or higher. Whether or not it ends up linking with it statically is a 
> different issue altogether, actually...

You will probably face quite a hard time linking different snapshots
of objdump, gdb, readelf etc. with one single libbfd. Every time new
features are included (or existing features are changed), all
components in the `src' CVS repository will be touched. That just
won't work.

> Still unsure?

Yap.  Conceptionally, there is no such thing like a "stand-alone,
feature-complete libbfd". It's highly interwoven with the tools, and
both will be adopted matching each other whenever a change is needed.

MfG, JBG

-- 
Jan-Benedict Glaw       jbglaw@lug-owl.de    . +49-172-7608481             _ O _
"Eine Freie Meinung in  einem Freien Kopf    | Gegen Zensur | Gegen Krieg  _ _ O
 für einen Freien Staat voll Freier Bürger"  | im Internet! |   im Irak!   O O O
ret = do_actions((curr | FREE_SPEECH) & ~(NEW_COPYRIGHT_LAW | DRM | TCPA));

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

  reply	other threads:[~2006-07-07 16:30 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-07-07  6:50 Mikhail Teterin
2006-07-07 12:51 ` Jan-Benedict Glaw
2006-07-07 13:22   ` Daniel Jacobowitz
2006-07-07 13:28     ` Jan-Benedict Glaw
2006-07-07 14:44       ` Mikhail Teterin
2006-07-07 15:11         ` Daniel Jacobowitz
2006-07-07 15:32           ` Mikhail Teterin
2006-07-07 17:27             ` Ian Lance Taylor
2006-07-07 15:40         ` Dave Korn
2006-07-07 16:18           ` Mikhail Teterin
2006-07-07 16:30             ` Jan-Benedict Glaw [this message]
2006-07-07 16:39               ` Dave Korn
2006-07-07 18:42               ` Mikhail Teterin
2006-07-07 18:45                 ` 'Daniel Jacobowitz'
2006-07-07 18:56                   ` Mikhail Teterin
2006-07-07 18:58                     ` 'Daniel Jacobowitz'
2006-07-07 19:02                 ` Jan-Benedict Glaw
2006-07-07 19:46                   ` Mikhail Teterin
2006-07-07 20:29                     ` Jan-Benedict Glaw
2006-07-07 20:33                     ` Ian Lance Taylor
2006-07-07 20:33                     ` Christopher Faylor

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=20060707163042.GI22573@lug-owl.de \
    --to=jbglaw@lug-owl.de \
    --cc=binutils@sources.redhat.com \
    --cc=dave.korn@artimi.com \
    --cc=drow@false.org \
    --cc=mi+kde@aldan.algebra.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).