public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
From: Paul Koning <pkoning@xedia.com>
To: jbuck@synopsys.com
Cc: egcs@cygnus.com
Subject: Re: need for flag for incompatible-changes
Date: Wed, 28 Jan 1998 15:03:00 -0000	[thread overview]
Message-ID: <9801282027.AA19216@kona.> (raw)
In-Reply-To: <199801282008.MAA03266@atrus.synopsys.com>

>>>>> "Joe" == Joe Buck <jbuck@Synopsys.COM> writes:

 >> If object files contained version numbers, you wouldn't have to
 >> break anything.  (More precisely, you would only have to break
 >> things that are older than the oldest version you want to continue
 >> supporting in the linker.)

 Joe> Where we have control over the linker (Linux, or platforms where
 Joe> GNU ld will work), we could use the linker to handle some types
 Joe> of incompatibilities.  In many cases, I'm afraid that all it
 Joe> will lets us do is say "sorry, incompatible object files".

Good point, I was silently assuming GNU ld.  If version number is
encoded in a way that doesn't bother other linkers (e.g., by a magical
global symbol) then users of other linkers would be no worse off than
they would be otherwise.

I wonder about the comment that even GNU ld often would only be able
to say "sorry, incompatible object files".  Some things, like naming
(namespace support) clearly aren't like that.  Similarly, adding a
handler type to the exception table shouldn't be a problem either (the
linker can supply the implied default value when it sees an old
table).

It seems to me that the ability to create a backwards compatibility
mechanism should be a design goal, and a high priority one at that.
In other words, if a feature requires an object format change, it
should be done in such a way that the linker can continue to accept
both old and new formats and make the right things happen -- unless it
is really and truly impossible to do that.  (Are there examples where
that is so?)

Again, using network protocol design as a precedent here, there are
many cases where not having the goal caused incompatible protocols to
be designed, but I can't think of one where, once the goal was put in
place, it was found to be impossible to meet.  Yes, it does make
things harder, though usually not by much.  But the benefit obtained
is very large.  Flag days are *bad news*...

	paul

  reply	other threads:[~1998-01-28 15:03 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <January_28_1998_at_05_17_03_18503_Joseph_H._Buehler@altera>
1998-01-28  6:10 ` Joseph H. Buehler
1998-01-28  9:12   ` Joe Buck
1998-01-28 14:23     ` Paul Koning
1998-01-28 12:09       ` Joe Buck
1998-01-28 15:03         ` Paul Koning [this message]
1998-01-29 14:41         ` Andi Kleen
1998-01-28 15:03     ` Jeffrey A Law
1998-01-28 15:03 Joe Buck
1998-01-29  6:24 ` Paul Koning
1998-01-29 11:20   ` Joe Buck
1998-01-29 11:20   ` Richard Henderson
1998-01-29 13:44     ` Joe Buck
1998-01-29 14:41       ` Paul Koning
1998-01-29 13:44         ` Joe Buck
1998-01-29 13:44           ` Paul Koning
1998-01-29 14:41   ` Fred Eisele
1998-01-29 16:16     ` Joe Buck
  -- strict thread matches above, loose matches on Subject: below --
1998-01-27 19:15 Mike Stump
1998-01-27 16:18 Per Bothner
1998-01-27 16:52 ` Joe Buck
1998-01-27 17:03   ` Per Bothner
1998-01-27 19:15     ` Joe Buck
1998-01-28  7:10 ` Paul Koning

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=9801282027.AA19216@kona. \
    --to=pkoning@xedia.com \
    --cc=egcs@cygnus.com \
    --cc=jbuck@synopsys.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).