mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-21 14:11:20 +00:00
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>
This commit is contained in:
parent
dece8ada99
commit
8fe9c93e74
2 changed files with 192 additions and 2 deletions
|
@ -584,12 +584,16 @@ static int ignore_undef_symbol(struct elf_info *info, const char *symname)
|
|||
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)
|
||||
strncmp(symname, "_save32gpr_", sizeof("_save32gpr_") - 1) == 0 ||
|
||||
strncmp(symname, "_restvr_", sizeof("_restvr_") - 1) == 0 ||
|
||||
strncmp(symname, "_savevr_", sizeof("_savevr_") - 1) == 0)
|
||||
return 1;
|
||||
if (info->hdr->e_machine == EM_PPC64)
|
||||
/* Special register function linked on all modules during final link of .ko */
|
||||
if (strncmp(symname, "_restgpr0_", sizeof("_restgpr0_") - 1) == 0 ||
|
||||
strncmp(symname, "_savegpr0_", sizeof("_savegpr0_") - 1) == 0)
|
||||
strncmp(symname, "_savegpr0_", sizeof("_savegpr0_") - 1) == 0 ||
|
||||
strncmp(symname, "_restvr_", sizeof("_restvr_") - 1) == 0 ||
|
||||
strncmp(symname, "_savevr_", sizeof("_savevr_") - 1) == 0)
|
||||
return 1;
|
||||
/* Do not ignore this symbol */
|
||||
return 0;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue