aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/mod/modpost.c
diff options
context:
space:
mode:
authorMichal Marek <mmarek@suse.cz>2010-08-04 07:59:13 -0400
committerMichal Marek <mmarek@suse.cz>2010-08-04 07:59:13 -0400
commit772320e84588dcbe1600ffb83e5f328f2209ac2a (patch)
treea7de21b79340aeaa17c58126f6b801b82c77b53a /scripts/mod/modpost.c
parent1ce53adf13a54375d2a5c7cdbe341b2558389615 (diff)
parent9fe6206f400646a2322096b56c59891d530e8d51 (diff)
Merge commit 'v2.6.35' into kbuild/kbuild
Conflicts: arch/powerpc/Makefile
Diffstat (limited to 'scripts/mod/modpost.c')
-rw-r--r--scripts/mod/modpost.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c
index 7249ab44f44c..c827309c29cf 100644
--- a/scripts/mod/modpost.c
+++ b/scripts/mod/modpost.c
@@ -550,6 +550,11 @@ static int ignore_undef_symbol(struct elf_info *info, const char *symname)
550 strncmp(symname, "_rest32gpr_", sizeof("_rest32gpr_") - 1) == 0 || 550 strncmp(symname, "_rest32gpr_", sizeof("_rest32gpr_") - 1) == 0 ||
551 strncmp(symname, "_save32gpr_", sizeof("_save32gpr_") - 1) == 0) 551 strncmp(symname, "_save32gpr_", sizeof("_save32gpr_") - 1) == 0)
552 return 1; 552 return 1;
553 if (info->hdr->e_machine == EM_PPC64)
554 /* Special register function linked on all modules during final link of .ko */
555 if (strncmp(symname, "_restgpr0_", sizeof("_restgpr0_") - 1) == 0 ||
556 strncmp(symname, "_savegpr0_", sizeof("_savegpr0_") - 1) == 0)
557 return 1;
553 /* Do not ignore this symbol */ 558 /* Do not ignore this symbol */
554 return 0; 559 return 0;
555} 560}
@@ -1392,7 +1397,7 @@ static unsigned int *reloc_location(struct elf_info *elf,
1392 int section = shndx2secindex(sechdr->sh_info); 1397 int section = shndx2secindex(sechdr->sh_info);
1393 1398
1394 return (void *)elf->hdr + sechdrs[section].sh_offset + 1399 return (void *)elf->hdr + sechdrs[section].sh_offset +
1395 (r->r_offset - sechdrs[section].sh_addr); 1400 r->r_offset - sechdrs[section].sh_addr;
1396} 1401}
1397 1402
1398static int addend_386_rel(struct elf_info *elf, Elf_Shdr *sechdr, Elf_Rela *r) 1403static int addend_386_rel(struct elf_info *elf, Elf_Shdr *sechdr, Elf_Rela *r)