diff options
author | Stephen Rothwell <sfr@canb.auug.org.au> | 2010-06-29 16:08:42 -0400 |
---|---|---|
committer | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2010-07-08 04:11:38 -0400 |
commit | 7fca5dc8aa7aaa6a1023bd3587901b88ebfe8154 (patch) | |
tree | 72b9d7e7f89f57cb3be97be19a00e52baf31f4ec /scripts | |
parent | 219a92a4c40db2fac604f63bce9a5a3fe1967879 (diff) |
powerpc: Fix module building for gcc 4.5 and 64 bit
Gcc 4.5 is now generating out of line register save and restore
in the function prefix and postfix when we use -Os.
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/mod/modpost.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c index f8779006986d..f6127b9f5aca 100644 --- a/scripts/mod/modpost.c +++ b/scripts/mod/modpost.c | |||
@@ -503,6 +503,11 @@ static int ignore_undef_symbol(struct elf_info *info, const char *symname) | |||
503 | strncmp(symname, "_rest32gpr_", sizeof("_rest32gpr_") - 1) == 0 || | 503 | strncmp(symname, "_rest32gpr_", sizeof("_rest32gpr_") - 1) == 0 || |
504 | strncmp(symname, "_save32gpr_", sizeof("_save32gpr_") - 1) == 0) | 504 | strncmp(symname, "_save32gpr_", sizeof("_save32gpr_") - 1) == 0) |
505 | return 1; | 505 | return 1; |
506 | if (info->hdr->e_machine == EM_PPC64) | ||
507 | /* Special register function linked on all modules during final link of .ko */ | ||
508 | if (strncmp(symname, "_restgpr0_", sizeof("_restgpr0_") - 1) == 0 || | ||
509 | strncmp(symname, "_savegpr0_", sizeof("_savegpr0_") - 1) == 0) | ||
510 | return 1; | ||
506 | /* Do not ignore this symbol */ | 511 | /* Do not ignore this symbol */ |
507 | return 0; | 512 | return 0; |
508 | } | 513 | } |