Subject: Re: Removal of old toolchain
To: None <,>
From: Jason R Thorpe <>
List: tech-toolchain
Date: 09/15/2002 17:06:44
On Mon, Sep 16, 2002 at 08:50:35AM +0900, ITOH Yasufumi wrote:

 > Please take a look at
 > 	pkgsrc/audio/cdparanoia/patches/patch-ae (search for "dispcache")
 > 	pkgsrc/sysutils/xbatt/patches/patch-ab   (first hunk)
 > I found and fixed them since I tested them on a.out toolchain.
 > If a program is only tested on ELF toolchain, the quality of code
 > is like this.

Eh.  While I do believe you that the different object format exposed these
bugs, I'm not sure a blanket statement like "quality of code is like this"
is really fair nor accurate.  It's like saying we should all use Alphas
instead of x86 systems so that finding unaligned access bugs is easier.

 > ELF has other too unique features (ex. C symbols and assembler symbols
 > are same, dynamic linker automatically loads dependent libraries),
 > which make it easy to write non-portable programs.

Err... There are lots of other things that make it easy to write non-portable
programs, too.  Should we remove the err(3)/warn(3) family of functions from
our C library?

 > > BTW, you can get ELF to arrange data more-or-less like a.out, as well.  All
 > > you need to do is write a linker script for it.
 > I don't think that the layout of initialized data can be re-arranged
 > in linker stage.

In what way is a.out doing things differently than ELF in the examples
you cited above?  Not issuing .align directives, or something?

        -- Jason R. Thorpe <>