Subject: Re: arm26 progress (lots)
To: None <netbsd-ports@netbsd.org>
From: Jason R Thorpe <thorpej@zembu.com>
List: netbsd-ports
Date: 04/24/2000 08:19:17
[ Let's please redirect the discussion to port-arm32/port-arm26; now we're
  talking toolchain stuff... ]

On Mon, Apr 24, 2000 at 10:17:59AM +0100, Ben Harris wrote:

 > Sort of.  My binutils is just stock binutils-000413 (i.e. a recent Cygnus
 > snapshot) configured with --target=arm-acorn-elf.  GCC is gcc-2.95.2 using
 > arm/netbsd.h with arm/elf.h instead of arm/aout.h (and a few other tweaks).
 > I suspect in either case, backporting the changes into the standard NetBSD
 > toolchain will be interesting, and a lot more work than I've done so far.

Okay, so a question... What did you do about the structure alignment
issue?  As you probably know, the standard ARM ABI specifies that all
structures have a minimum alignment of 4 bytes, even if the members of
the structure have a less strict alignment.  A perfect example of this
is struct ether_header.

When the port to the ARM was originally done, it looks like Mark and/or
Neil cheated (just a little! :-) and relaxed the alignment constraints in
the compiler (arm/netbsd.h I guess is where this was done).

Did you also relax this in the ELF toolchain?

It's pretty important because, if you didn't:

	- We have to make absolutely sure that all protocol headers
	  use the __packed__ attribute.

	- We have to allocate a new magic number, since binaries are
	  now using a different ABI.

-- 
        -- Jason R. Thorpe <thorpej@zembu.com>