Thread (16 messages) 16 messages, 4 authors, 2016-02-03
STALE3784d

[PATCH 1/3] arm64: efistub: drop __init annotation from handle_kernel_image()

From: Matt Fleming <hidden>
Date: 2016-02-02 11:08:21
Also in: linux-efi

On Fri, 29 Jan, at 05:03:16PM, Ard Biesheuvel wrote:
On 29 January 2016 at 17:00, Matt Fleming [off-list ref] wrote:
quoted
On Fri, 29 Jan, at 10:36:03AM, Ard Biesheuvel wrote:
quoted
On 28 January 2016 at 23:58, Matt Fleming [off-list ref] wrote:
quoted
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")

?
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help