Re: [PATCH 02/12] EXPORT_SYMBOL() for asm

From: David Howells
Date: Mon Feb 01 2016 - 10:12:29 EST


Al Viro <viro@xxxxxxxxxxxxxxxxxx> wrote:

> Add asm-usable variants of EXPORT_SYMBOL/EXPORT_SYMBOL_GPL. This
> commit just adds the default implementation; most of the architectures
> can simply add export.h to asm/Kbuild and start using <asm/export.h>
> from assembler. The area where the things might diverge from default
> is the alignment; normally it's 8 bytes on 64bit targets and 4 on
> 32bit ones, both for unsigned long and for struct kernel_symbol.
>
> Unfortunately, amd64 and m68k are unusual - m68k aligns to 2 bytes
> (for both) and amd64 aligns struct kernel_symbol to 16 bytes. For
> those we'll need to have asm/export.h overriding the constants used
> by generic version (KSYM_ALIGN and KCRC_ALIGN for kernel_symbol and
> unsigned long resp.) and including asm-generic/export.h.
>
> And no, __alignof__ would not do the trick - on amd64 __alignof__
> of struct kernel_symbol is 8, not 16.
>
> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>

Acked-by: David Howells <dhowells@xxxxxxxxxx>