Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 26310
b: refs/heads/master
c: f749eda
h: refs/heads/master
v: v3
  • Loading branch information
Alan Modra authored and Paul Mackerras committed Apr 28, 2006
1 parent cff0f09 commit 675dae3
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 5 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: d882995c054ff90706cc339321bfb04b15c5581f
refs/heads/master: f749edae5ebd339eaf22508572233600f717424f
16 changes: 12 additions & 4 deletions trunk/arch/powerpc/kernel/module_64.c
Original file line number Diff line number Diff line change
Expand Up @@ -191,11 +191,19 @@ int module_frob_arch_sections(Elf64_Ehdr *hdr,
(void *)hdr
+ sechdrs[sechdrs[i].sh_link].sh_offset);
}
if (!me->arch.stubs_section || !me->arch.toc_section) {
printk("%s: doesn't contain .toc or .stubs.\n", me->name);

if (!me->arch.stubs_section) {
printk("%s: doesn't contain .stubs.\n", me->name);
return -ENOEXEC;
}

/* If we don't have a .toc, just use .stubs. We need to set r2
to some reasonable value in case the module calls out to
other functions via a stub, or if a function pointer escapes
the module by some means. */
if (!me->arch.toc_section)
me->arch.toc_section = me->arch.stubs_section;

/* Override the stubs size */
sechdrs[me->arch.stubs_section].sh_size = get_stubs_size(hdr, sechdrs);
return 0;
Expand Down Expand Up @@ -342,7 +350,7 @@ int apply_relocate_add(Elf64_Shdr *sechdrs,
break;

case R_PPC64_TOC16:
/* Subtact TOC pointer */
/* Subtract TOC pointer */
value -= my_r2(sechdrs, me);
if (value + 0x8000 > 0xffff) {
printk("%s: bad TOC16 relocation (%lu)\n",
Expand All @@ -355,7 +363,7 @@ int apply_relocate_add(Elf64_Shdr *sechdrs,
break;

case R_PPC64_TOC16_DS:
/* Subtact TOC pointer */
/* Subtract TOC pointer */
value -= my_r2(sechdrs, me);
if ((value & 3) != 0 || value + 0x8000 > 0xffff) {
printk("%s: bad TOC16_DS relocation (%lu)\n",
Expand Down

0 comments on commit 675dae3

Please sign in to comment.