ioctl ABI considerations for 64b ARM?

Nicolas Pitre nicolas.pitre at linaro.org
Mon Sep 19 16:04:50 UTC 2011


On Mon, 19 Sep 2011, Rob Clark wrote:

> On Mon, Sep 19, 2011 at 10:39 AM, Will Deacon <will.deacon at arm.com> wrote:
> > Arnd,
> >
> > On Mon, Sep 19, 2011 at 08:15:45AM +0100, Arnd Bergmann wrote:
> >> Assuming that we can prevent any funny stuff from going into such an ABI,
> >> we only need to worry about the warts of the current ABI for ARM specific
> >> considerations. The one thing that I've noticed before is that structs
> >> on ARM (at least on one of the ABIs, forgot which) are padded to 32 bits,
> >> even if all members inside are smaller.
> >
> > This is only the case for the old ABI. EABI lays out structures so that they
> > are aligned to their most aligned member and padded to be the smallest
> > possible multiple of that alignment which can contain all of their aligned
> > members.
> 
> Hmm, so then since you can build the kernel w/ OABI compatibility, it
> seems like structs should always have padding fields to force them to
> be a multiple of 32bits...

Depends what you want to achieve.  The OABI compat is there only to 
allow _most_ old binaries to execute on a modern system.  When I wrote 
that code, I left out ioctl ABI compatibility issues because there are 
simply too many of them, and in practice the most often used ones just 
work already.  A notable exception is ALSA.

So at this point I think there is no point caring too much about the 
OABI.


Nicolas



More information about the linaro-dev mailing list