Message ID | 1345345030-22211-4-git-send-email-andi@firstfloor.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
>>> Andi Kleen <andi@firstfloor.org> 08/19/12 5:02 AM >>> >-extern const unsigned long kallsyms_addresses[] __attribute__((weak)); >-extern const u8 kallsyms_names[] __attribute__((weak)); >+extern __visible const unsigned long kallsyms_addresses[] __attribute__((weak)); >+extern __visible const u8 kallsyms_names[] __attribute__((weak)); Shouldn't we minimally aim at consistency here: - all attributes in a one place (I personally prefer the placement between type and name, for compatibility with other compilers, but there are rare cases - iirc not on declarations though - where gcc doesn't allow this) - not using open coded __attribute__(()) when a definition (here: __weak) is available, or alternatively open coding all of them (__attribute__((weak, ...)))? Jan -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Sun, Aug 19, 2012 at 08:53:03AM +0100, Jan Beulich wrote: > >>> Andi Kleen <andi@firstfloor.org> 08/19/12 5:02 AM >>> > >-extern const unsigned long kallsyms_addresses[] __attribute__((weak)); > >-extern const u8 kallsyms_names[] __attribute__((weak)); > >+extern __visible const unsigned long kallsyms_addresses[] __attribute__((weak)); > >+extern __visible const u8 kallsyms_names[] __attribute__((weak)); > > Shouldn't we minimally aim at consistency here: > - all attributes in a one place (I personally prefer the placement between type > and name, for compatibility with other compilers, but there are rare cases - > iirc not on declarations though - where gcc doesn't allow this) Ok. > - not using open coded __attribute__(()) when a definition (here: __weak) is > available, or alternatively open coding all of them (__attribute__((weak, ...)))? I just kept the original code. But yes it should be using __weak. I can change that. -Andi
diff --git a/kernel/kallsyms.c b/kernel/kallsyms.c index 2169fee..1b40cb7 100644 --- a/kernel/kallsyms.c +++ b/kernel/kallsyms.c @@ -36,20 +36,20 @@ * These will be re-linked against their real values * during the second link stage. */ -extern const unsigned long kallsyms_addresses[] __attribute__((weak)); -extern const u8 kallsyms_names[] __attribute__((weak)); +extern __visible const unsigned long kallsyms_addresses[] __attribute__((weak)); +extern __visible const u8 kallsyms_names[] __attribute__((weak)); /* * Tell the compiler that the count isn't in the small data section if the arch * has one (eg: FRV). */ -extern const unsigned long kallsyms_num_syms +extern __visible const unsigned long kallsyms_num_syms __attribute__((weak, section(".rodata"))); -extern const u8 kallsyms_token_table[] __attribute__((weak)); -extern const u16 kallsyms_token_index[] __attribute__((weak)); +extern __visible const u8 kallsyms_token_table[] __attribute__((weak)); +extern __visible const u16 kallsyms_token_index[] __attribute__((weak)); -extern const unsigned long kallsyms_markers[] __attribute__((weak)); +extern __visible const unsigned long kallsyms_markers[] __attribute__((weak)); static inline int is_kernel_inittext(unsigned long addr) {