diff mbox

[03/74] sections: Make external kallsyms tables __visible

Message ID 1345345030-22211-4-git-send-email-andi@firstfloor.org (mailing list archive)
State New, archived
Headers show

Commit Message

Andi Kleen Aug. 19, 2012, 2:55 a.m. UTC
From: Andi Kleen <ak@linux.intel.com>

Signed-off-by: Andi Kleen <ak@linux.intel.com>
---
 kernel/kallsyms.c |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

Comments

Jan Beulich Aug. 19, 2012, 7:53 a.m. UTC | #1
>>> 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
Andi Kleen Aug. 19, 2012, 3:29 p.m. UTC | #2
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 mbox

Patch

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)
 {