Architectures with strict alignment?

Mike Meyer mwm-keyword-freebsdhackers2.e313df at mired.org
Sun Dec 30 10:55:15 PST 2007


On Sun, 30 Dec 2007 10:34:33 +0100 Bernd Walter <ticso at cicely12.cicely.de> wrote:
> On Sat, Dec 29, 2007 at 11:37:27PM +0100, Dag-Erling Smørgrav wrote:
> > Wilko Bulte <wb at freebie.xs4all.nl> writes:
> > > In the past the alpha port had it too.
> > 
> > No, it was optional and defaulted to off.
> 
> It was never optional, since no alpha CPU can do missaligned access
> Alphas can fix missaligned access by software trap handlers in the same
> way as most other strong alignment architectures can and we did this
> for userland, but not in kernel.

> Nevertheless it is horribly slow to do this, but was required since
> there was so many crappy software that days - fortunately this has
> changed over time, although I still see aligment traps on new software
> as well.
> Sadly said we never implemented missaligment traps for x86 so
[...]

Ok, I'm a bit confused. Since you're talking about moving code from
the x86 to the alpha, I'm assuming you're talking about C code. Isn't
it the *compilers* job to enforce alignment issues, unless the
programmer specifically asks for byte-specific control of the layout
of a set of variables?

Or are these the issue, and the problem is that people do that and
then don't use the appropriate APIs to pull data from them, thus
causing you headaches?

    Thanks,
    <mike
-- 
Mike Meyer <mwm at mired.org>		http://www.mired.org/consulting.html
Independent Network/Unix/Perforce consultant, email for more information.


More information about the freebsd-hackers mailing list