On Thu, Oct 18, 2007 at 11:58:27PM +0200, Sam Ravnborg wrote:
> On Thu, Oct 18, 2007 at 11:48:37PM +0200, Andi Kleen wrote:
> > > > +extern char _text[], _end[], _etext[], _edata[], _bss[];
> > >
> > > These should be in a header file.
> >
> > Normally the "no externs in .c" rule doesn't apply to assembler or linker
> > script defined labels. That's because the point of the header file is to
> > type check them, but there is nothing to type check here.
>
> For linker generated symbols we have sections.h for this purpose.
> The above symbols are all available if we do an:
> #include <asm/sections.h>
>
> This is the right fix in this case.
The problem is that they're often the wrong type here. E.g. wrong signedness
etc. I ran into problems in the past where using this required ugly casts.
-Andi
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]