On 29 January 2016 at 17:00, Matt Fleming <matt@xxxxxxxxxxxxxxxxxxx> wrote: > On Fri, 29 Jan, at 10:36:03AM, Ard Biesheuvel wrote: >> On 28 January 2016 at 23:58, Matt Fleming <matt@xxxxxxxxxxxxxxxxxxx> wrote: >> > >> > Would it make more sense to #undef __init in one of the arm64 efistub >> > header files? I'm thinking of the case where some poor unsuspecting >> > developer writes a new function and marks it as __init, and we miss it >> > during review. >> > >> >> Yes, I can add it to efistub.h, and make sure it gets included in all the files >> >> Should we #undef it and #define it to a string that is easily grep'ed >> for, so it is easy to find the explanatory comment that goes along >> with it? >> E.g., >> >> #define __init __init_not_supported_in_efi_stub > > This would produce a compilation failure if someone tags something as > __init right? Looks fine to me. Yes, but it makes the error message difficult to decipher, since __init is printed and not what it resolves to. Locally, I tried this, which seems to work: #undef __init #define __init __attribute__((__init_not_supported_in_efi_stub)) #pragma GCC diagnostic error "-Wattributes" which produces CC drivers/firmware/efi/libstub/arm-stub.o /home/ard/linux-2.6/drivers/firmware/efi/libstub/arm-stub.c:24:1: error: ‘__init_not_supported_in_efi_stub’ attribute directive ignored [-Werror=attributes] { ^ cc1: some warnings being treated as errors which is slightly dodgy, but at least puts the string right in the error message -- To unsubscribe from this list: send the line "unsubscribe linux-efi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html