Bernd Walter <ticso(at)cicely.de> wrote:
> Ich musste für FreeBSD damals folgenden einbauen:
> http://www.cicely.de/~ticso/openvpn-arm-patch
> Ohne dem schlägt bereits der eigene Selbsttest fehl.
> Google meinte, dass Linux-ARM genauso betroffen ist.
> Problem ist, dass ARM auch 8 und 16bit Variablen auf ein 4-Byte alignment
> haben will.
> Ein struct mit 2 8bit Variablen belegt dann 8 Bytes,
Nie und nimmer. Ich glaube nicht, dass ein BSD-Kernel auf sowas
laufen würde. ARM verlangt das schon gar nicht, und dass die ARM-ABI
das verlangt, nehme ich dir nicht ab.
Etwas Googeln in Linux-Land führt zu Erwähnungen einer "alten" ABI,
bei der
(1) ein struct/union als Ganzes auf 4 Byte ausgerichtet sein muss und
(2) mindestens 4 Byte groß ist.
Innerhalb gilt ganz normales Natural Alignment.
Das kann ich glauben und ich kann mir ein paar Fälle vorstellen,
wo das Probleme bereitet.
Verwendet FreeBSD/arm diese ABI? (Ich habe kein Zugriff auf ein
System und kenne mich in gcc/config nicht gut genug aus.)
OpenBSD/arm tut das jedenfalls nicht. Im Linux-Land sehe ich
Geschnatter zu "EABI", die diese Beschränkung auch nicht mehr hat.
-- Christian "naddy" Weisgerber naddy(at)mips.inka.de To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org with "unsubscribe de-bsd-questions" in the body of the messageReceived on Thu 24 Sep 2009 - 21:27:52 CEST