[PATCH 4/5] powerpc: Support feature fixups in modules
Benjamin Herrenschmidt
benh at kernel.crashing.org
Fri Oct 20 16:06:24 EST 2006
On Fri, 2006-10-20 at 01:01 -0500, Olof Johansson wrote:
> On Fri, 20 Oct 2006 11:47:19 +1000 Benjamin Herrenschmidt <benh at kernel.crashing.org> wrote:
>
> > This patch adds support for feature fixups in modules. This involves
> > adding support for R_PPC64_REL64 relocs to the 64 bits module loader.
> > It also modifies modpost.c to ignore the powerpc fixup sections (or it
> > would warn when used in .init.text).
> >
> > Signed-off-by: Benjamin Herrenschmidt <benh at kernel.crashing.org>
>
> Acked-by: Olof Johansson <olof at lixom.net>
>
> > Index: linux-cell/arch/powerpc/kernel/module_32.c
> > ===================================================================
> > --- linux-cell.orig/arch/powerpc/kernel/module_32.c 2006-10-13 16:00:26.000000000 +1000
> > +++ linux-cell/arch/powerpc/kernel/module_32.c 2006-10-13 16:59:36.000000000 +1000
> [...]
> > +static const Elf_Shdr *find_section(const Elf_Ehdr *hdr,
> > + const Elf_Shdr *sechdrs,
> > + const char *name)
> > +{
> > + char *secstrings;
> > + unsigned int i;
> > +
> > + secstrings = (char *)hdr + sechdrs[hdr->e_shstrndx].sh_offset;
> > + for (i = 1; i < hdr->e_shnum; i++)
> > + if (strcmp(secstrings+sechdrs[i].sh_name, name) == 0)
> > + return &sechdrs[i];
> > + return NULL;
> > +}
> > +
>
> It would be nice if this could be put in some common location instead
> of duplicated between the two files. It builds differently on 32 and 64
> bits due to the type defines, but both will never be used in the same
> kernel.
Or even made completely common, I'll look at it separately.
Ben.
More information about the Linuxppc-dev
mailing list