Re: Microblaze linux support

From: Ingo Molnar
Date: Thu Mar 19 2009 - 07:01:23 EST



* Michal Simek <monstr@xxxxxxxxx> wrote:

> Ingo Molnar wrote:
> > * Michal Simek <monstr@xxxxxxxxx> wrote:
> >
> >> Hi Ingo,
> >>> * Michal Simek <monstr@xxxxxxxxx> wrote:
> >>>
> >>>> WARNING: externs should be avoided in .c files
> >>>> #110: FILE: arch/microblaze/kernel/microblaze_ksyms.c:45:
> >>>> +extern void __umodsi3(void);
> >>>>
> >>>> WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable
> >>>> #111: FILE: arch/microblaze/kernel/microblaze_ksyms.c:46:
> >>>> +EXPORT_SYMBOL(__umodsi3);
> >>> externs should be in header files.
> >>>
> >>> The rest indeed looks like false positives. Thanks for addressing
> >>> these things so quickly!
> >> you are welcome - I can quickly test and add all changes to git.
> >>
> >> Is it good style separate extern definition and EXPORT_SYMBOL?
> >>
> >> I have three choices?
> >> 1. keep extern + EXPORT_SYMBOL below - current style
> >> 2. move only extern to header file
> >> 3. move extern and EXPORT_SYMBOL to header.
> >>
> >> What is preferable way?
> >
> > Where are the symbols defined - by gcc's library?
>
> yes.

i suspect it's borderline in that case, and your solution is fine.
The other solution would be to stuff the externs into a header and
have a continuous block of exports with a comment that says:

/*
* GCC library functions:
*/
EXPORT_SYMBOL(...);
EXPORT_SYMBOL(...);
EXPORT_SYMBOL(...);

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/