[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <25e057c00806120703g27566bd7ie522a7d5d4664d92@mail.gmail.com>
Date: Thu, 12 Jun 2008 16:03:54 +0200
From: "roel kluin" <roel.kluin@...il.com>
To: "Sam Ravnborg" <sam@...nborg.org>
Cc: "Linus Torvalds" <torvalds@...ux-foundation.org>,
linux-kbuild <linux-kbuild@...r.kernel.org>,
LKML <linux-kernel@...r.kernel.org>,
"Kumar Gala" <galak@...nel.crashing.org>,
"Paul Mackerras" <paulus@...ba.org>, linuxppc-dev@...abs.org
Subject: Re: [GIT PULL] one kbuild fix for powerpc
2008/6/12 Sam Ravnborg <sam@...nborg.org>:
> diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c
> index 508c589..b763aba 100644
> --- a/scripts/mod/modpost.c
> +++ b/scripts/mod/modpost.c
> @@ -467,6 +467,26 @@ static void parse_elf_finish(struct elf_info *info)
> release_file(info->hdr, info->size);
> }
>
> +static int ignore_undef_symbol(struct elf_info *info, const char *symname)
> +{
> + /* ignore __this_module, it will be resolved shortly */
> + if (strcmp(symname, MODULE_SYMBOL_PREFIX "__this_module") == 0)
> + return 1;
> + /* ignore global offset table */
> + if (strcmp(symname, "_GLOBAL_OFFSET_TABLE_") == 0)
> + return 1;
> + if (info->hdr->e_machine == EM_PPC)
> + /* Special register function linked on all modules during final link of .ko */
> + if (strncmp(symname, "_restgpr_", sizeof("_restgpr_") - 1) == 0 ||
> + strncmp(symname, "_savegpr_", sizeof("_savegpr_") - 1) == 0 ||
> + strncmp(symname, "_rest32gpr_", sizeof("_rest32gpr_") - 1) == 0 ||
> + strncmp(symname, "_save32gpr_", sizeof("_save32gpr_") - 1) == 0) {
> + return 1;
> + }
Either the indentation is wrong, or you want to move the opening curly
bracket upwards.
> + /* Do not ignore this symbol */
> + return 0;
> +}
> +
> #define CRC_PFX MODULE_SYMBOL_PREFIX "__crc_"
> #define KSYMTAB_PFX MODULE_SYMBOL_PREFIX "__ksymtab_"
>
> @@ -493,11 +513,7 @@ static void handle_modversions(struct module *mod, struct elf_info *info,
> if (ELF_ST_BIND(sym->st_info) != STB_GLOBAL &&
> ELF_ST_BIND(sym->st_info) != STB_WEAK)
> break;
> - /* ignore global offset table */
> - if (strcmp(symname, "_GLOBAL_OFFSET_TABLE_") == 0)
> - break;
> - /* ignore __this_module, it will be resolved shortly */
> - if (strcmp(symname, MODULE_SYMBOL_PREFIX "__this_module") == 0)
> + if (ignore_undef_symbol(info, symname))
> break;
> /* cope with newer glibc (2.3.4 or higher) STT_ definition in elf.h */
> #if defined(STT_REGISTER) || defined(STT_SPARC_REGISTER)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists