On Fri, 29 Jan, at 05:03:16PM, Ard Biesheuvel wrote: > 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 What about, #define __init __compiletime_error("__init not supported in EFI boot stub") ? -- 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