Re: [PATCH 1/1] security: Used macros from compiler.h instead of __attribute__((...))

From: Paul Moore
Date: Wed Jun 18 2014 - 16:58:35 EST


On Wednesday, June 18, 2014 10:08:13 PM Geert Uytterhoeven wrote:
> On Wed, Jun 18, 2014 at 8:50 PM, Paul Moore <paul@xxxxxxxxxxxxxx> wrote:
> > On Wednesday, June 11, 2014 09:25:30 PM Gideon Israel Dsouza wrote:
> >> To increase compiler portability there is <linux/compiler.h> which
> >> provides convenience macros for various gcc constructs. Eg: __packed
> >> for __attribute__((packed)).
> >>
> >> This patch is part of a large task I've taken to clean the gcc
> >> specific attributes and use the the macros instead.
> >>
> >> Signed-off-by: Gideon Israel Dsouza <gidisrael@xxxxxxxxx>
> >> ---
> >>
> >> security/selinux/include/security.h | 3 ++-
> >> 1 file changed, 2 insertions(+), 1 deletion(-)
> >
> > From what I can tell this should still work with both the LLVM and Intel
> > compilers, is that correct?
>
> That's the idea of the compiler-agnostic attribute macros.

I just wanted to make sure as I personally only really use gcc and don't
pretend to be up on all the details regarding other compilers.

> Interestingly, only include/linux/compiler-gcc.h defines __packed.

>From what I could tell by looking at the code, the other compilers all define
__GNUC__ so they get the __packed macro as part of the gcc configuration. I
believe the LLVM and Intel compilers would only need to redefine __packed if
they wanted/needed a different definition.

> As it's already in heavy use, I can only assume both LLVM and the Intel
> compilers handle both "__packed" (without a special definition) and the
> gcc-specific "__attribute__((packed))".

Yep, seems reasonable. I'll go ahead and apply the patch.

--
paul moore
www.paul-moore.com

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/