diff options
author | Andreas Schwab <schwab@linux-m68k.org> | 2013-12-30 09:31:17 -0500 |
---|---|---|
committer | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2014-01-14 21:46:43 -0500 |
commit | 8fe9c93e7453e67b8bd09f263ec1bb0783c733fc (patch) | |
tree | ed2ad17b085d320d7acd24a32e531fb2a05363b4 /scripts | |
parent | dece8ada993e1764a115bdff0f1effffaa5fc8dc (diff) |
powerpc: Add vr save/restore functions
GCC 4.8 now generates out-of-line vr save/restore functions when
optimizing for size. They are needed for the raid6 altivec support.
Signed-off-by: Andreas Schwab <schwab@linux-m68k.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/mod/modpost.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c index 17855761e6b7..40610984a1b5 100644 --- a/scripts/mod/modpost.c +++ b/scripts/mod/modpost.c | |||
@@ -584,12 +584,16 @@ static int ignore_undef_symbol(struct elf_info *info, const char *symname) | |||
584 | if (strncmp(symname, "_restgpr_", sizeof("_restgpr_") - 1) == 0 || | 584 | if (strncmp(symname, "_restgpr_", sizeof("_restgpr_") - 1) == 0 || |
585 | strncmp(symname, "_savegpr_", sizeof("_savegpr_") - 1) == 0 || | 585 | strncmp(symname, "_savegpr_", sizeof("_savegpr_") - 1) == 0 || |
586 | strncmp(symname, "_rest32gpr_", sizeof("_rest32gpr_") - 1) == 0 || | 586 | strncmp(symname, "_rest32gpr_", sizeof("_rest32gpr_") - 1) == 0 || |
587 | strncmp(symname, "_save32gpr_", sizeof("_save32gpr_") - 1) == 0) | 587 | strncmp(symname, "_save32gpr_", sizeof("_save32gpr_") - 1) == 0 || |
588 | strncmp(symname, "_restvr_", sizeof("_restvr_") - 1) == 0 || | ||
589 | strncmp(symname, "_savevr_", sizeof("_savevr_") - 1) == 0) | ||
588 | return 1; | 590 | return 1; |
589 | if (info->hdr->e_machine == EM_PPC64) | 591 | if (info->hdr->e_machine == EM_PPC64) |
590 | /* Special register function linked on all modules during final link of .ko */ | 592 | /* Special register function linked on all modules during final link of .ko */ |
591 | if (strncmp(symname, "_restgpr0_", sizeof("_restgpr0_") - 1) == 0 || | 593 | if (strncmp(symname, "_restgpr0_", sizeof("_restgpr0_") - 1) == 0 || |
592 | strncmp(symname, "_savegpr0_", sizeof("_savegpr0_") - 1) == 0) | 594 | strncmp(symname, "_savegpr0_", sizeof("_savegpr0_") - 1) == 0 || |
595 | strncmp(symname, "_restvr_", sizeof("_restvr_") - 1) == 0 || | ||
596 | strncmp(symname, "_savevr_", sizeof("_savevr_") - 1) == 0) | ||
593 | return 1; | 597 | return 1; |
594 | /* Do not ignore this symbol */ | 598 | /* Do not ignore this symbol */ |
595 | return 0; | 599 | return 0; |