Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 27 Aug 2013 11:49:30 +0200
From:      Andre Oppermann <andre@freebsd.org>
To:        Andrew Turner <andrew@fubar.geek.nz>
Cc:        freebsd-arm <freebsd-arm@FreeBSD.org>
Subject:   Re: ARM network trouble after recent mbuf changes
Message-ID:  <521C762A.2080109@freebsd.org>
In-Reply-To: <20130827102810.37e2dfc7@bender>
References:  <1377550636.1111.156.camel@revolution.hippie.lan> <521BC472.7040804@freebsd.org> <521BD531.4090104@sbcglobal.net> <521C4CD9.4050308@freebsd.org> <20130827102810.37e2dfc7@bender>

next in thread | previous in thread | raw e-mail | index | archive | help
On 27.08.2013 11:28, Andrew Turner wrote:
> On Tue, 27 Aug 2013 08:53:13 +0200
> Andre Oppermann <andre@freebsd.org> wrote:
>> Please try the patch below to confirm.  If it fixes your problem for
>> now I'm going to commit as an immediate fix while searching for a
>> better long term stable solution.
>>
>
> I tried this with a CTASSERT to check if struct m_hdr is the correct
> length. In this test the size is incorrect. It appears __ILP32__ is not
> defined on ARM.
>
> I have tested a fix suggested by Hans Petter Selasky where we mark
> m_hdr with __aligned(8). With this change I can netboot a PandaBoard.

There is no guarantee with __aligned(8) that the padding is included
in sizeof(struct m_hdr).  It only guarantees that the start of m_hdr
is aligned on a 8 byte multiple.

In your case it appears that the padding is included.  I'm not certain
that we can rely on it with both gcc and clang (or some other compiler).

-- 
Andre




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?521C762A.2080109>