[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