This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: Removal of VAX/VMS support
- From: Ian Lance Taylor <ian at airs dot com>
- To: Andrew Cagney <ac131313 at redhat dot com>
- Cc: DJ Delorie <dj at delorie dot com>, binutils at sources dot redhat dot com
- Date: 31 Jul 2003 23:08:36 -0700
- Subject: Re: Removal of VAX/VMS support
- References: <Pine.LNX.4.30.0307311028210.19470-100000@ds9.reckziegel.com><3F291ABA.8030803@redhat.com><200307311344.h6VDiwIE017363@envy.delorie.com><3F292F8F.10003@redhat.com><200307311527.h6VFRohe001552@envy.delorie.com><3F293F1F.4090405@redhat.com> <m3k79yy6s0.fsf@gossamer.airs.com><3F296AAA.4030807@redhat.com> <m3d6fqxpae.fsf@gossamer.airs.com><3F29B1B9.3080908@redhat.com>
Andrew Cagney <ac131313@redhat.com> writes:
> Instead of the total rewrite from scratch, more incremental aproaches
> can be taken. GDB, for instance, is trying to overhaul and replace
> sections. New objects and structures get added as needed. I'm told
> the buzword is refactor :-)
In theory, sure. My experience is that it doesn't work in practice.
Or, rather, of course it works eventually; but it takes longer than a
rewrite based on the existing code, and the result is worse.
Not that I expect to convince anybody of that point. People always
look at the existing code and ask how we can throw that away.
> Things run into problem though when a core change involves
> modifications to those vectors - adding something better, simpler,
> cleaner, faster methods.
BFD never does that.
> GDB partially addressed the problem by following a process of:
> introducing a new interface; deprecating the old interface; provide a
> legacy implementation that reverts back to the old / deprecated
> mechanisms; eventually deleting the deprecated code. It has made it
> possible to implement core changes without also rewrite all
> targets. Target maintainers can then, later, upgrade their target - cf
> frame rewrites currently occuring in GDB.
BFD follows a much simpler procedure. New interfaces are introduced,
and old interfaces remain. No deprecation, legacy implementation, or
deletion is required.
Ian