cvs commit: src/sys/net if_ethersubr.c

Stefan Farfeleder stefan at fafoe.narf.at
Tue Dec 12 07:00:49 PST 2006


On Tue, Dec 12, 2006 at 06:42:46AM -0800, Luigi Rizzo wrote:
> [moving to arch]
> 
> sorry if it has been debated already, but looking in the
> network code it seems that checks for architectures that
> need strong alignment are done through a sequence of
> 
> 	#if defined(__ia64__) || defined(__blah__) || ...
> 
> one such sequence is in net/if_loop::if_simloop(), and was
> related to a problem we are having with some recent
> commits to net/if_ethersubr.c
> 
> While the easy fix (for this one) is to add
> 	 || defined(__arm__)
> to the sequence, we were wondering if there is some identifier
> that we can use to the purpose.
> 
> Bernd Walter was suggesting this:
> 
> > I would have said ALIGNBYTES != 1, but this also matches with i386.
> > Guess it's time to introduce somehing like ALIGN_STRONG, or whatever
> > colour fits best.
> 
> ideas ?

Architectures without strong alignment define __NO_STRICT_ALIGNMENT in
<machine/_types.h>.

Stefan


More information about the freebsd-arch mailing list