Subject: Re: mindless boredom, speed and compiling kernels
To: Chris Jones <cjones@honors.montana.edu>
From: David Brownlee <abs@NetBSD.ORG>
List: port-pmax
Date: 05/25/1998 12:41:49
On Mon, 25 May 1998, Chris Jones wrote:

> On Sat, 23 May 1998, Michael L. Hitch wrote:
> 
> > 
> >   I'd guess it's more likely because NetBSD has all the ABI overhead,
> > which Ultrix probably doesn't have.  That makes the programs bigger and
> > slower.
> 
> What's ABI?

	Application Binary Interface - it defines how things interface
	at a binary level. For example how code performs library calls.

	In the case of MIPS chips the ELF ABI makes certain requirements
	that cause significanlt more overhead than the old Ultrix COFF
	standard, primarily to support shared libraries. Unfortunately
	in order to not need different compile flags dependant on whether
	you link dynamically or statically this means that statically
	linked code must have all the same crap, resulting in bigger
	slower binaries.

	Just a random thought - would it be possible for the linker to
	strip out all the ABI crap when static linking (or maybe to
	have someting in the .o files that are converted to the ABI calls
	or to simple calls dependent on the type of link). Somewhat gross,
	but so is the performance loss/size gain of static binaries now..

		David/absolute

	 -=-  "That which does not kill us, makes us stranger"  -=-