Messages in this thread Patch in this message | | | Date | Thu, 15 Nov 2007 14:40:07 -0800 | From | Andrew Morton <> | Subject | Re: [PATCH] FRV: Fix the extern declaration of kallsyms_num_syms [try #2] |
| |
On Tue, 13 Nov 2007 16:53:16 +0000 David Howells <dhowells@redhat.com> wrote:
> From: David Howells <dhowells@redhat.com> > > Fix the extern declaration of kallsyms_num_syms to indicate that the symbol > does not reside in the small-data storage space, and so may not be accessed > relative to the small data base register. > > Signed-off-by: David Howells <dhowells@redhat.com> > --- > > kernel/kallsyms.c | 7 ++++++- > 1 files changed, 6 insertions(+), 1 deletions(-) > > diff --git a/kernel/kallsyms.c b/kernel/kallsyms.c > index 474219a..2fc2581 100644 > --- a/kernel/kallsyms.c > +++ b/kernel/kallsyms.c > @@ -32,9 +32,14 @@ > > /* These will be re-linked against their real values during the second link stage */ > extern const unsigned long kallsyms_addresses[] __attribute__((weak)); > -extern const unsigned long kallsyms_num_syms __attribute__((weak)); > extern 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 > +__attribute__((weak, section(".rodata"))); > + > extern const u8 kallsyms_token_table[] __attribute__((weak)); > extern const u16 kallsyms_token_index[] __attribute__((weak)); >
hm, OK, so it lines up with what scripts/kallsyms.c presently does.
But it all strikes me as a bit fragile and grotty. Perhaps longer-term it would be better if scripts/kallsyms.c were to also emit a header file which declares all the things which that program emits the definitions of, no?
I guess that means that we'd need to run the program twice - once at the start of compilation in generate-the-header-file mode and once at the end of compilation in generate-the-symbols mode.
Or something like that.
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |