Subject: Re: [PATCH 4/5] powerpc: Support feature fixups in modules

From: Olof Johansson <[email-masked]>
Date: Fri, 20 Oct 2006 01:01:47 -0500

On Fri, 20 Oct 2006 11:47:19 +1000 Benjamin Herrenschmidt <[email-masked]> 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 <[email-masked]>

Acked-by: Olof Johansson <[email-masked]>

> 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.

-Olof