aboutsummaryrefslogtreecommitdiffstats
path: root/arch/parisc/kernel/module.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/parisc/kernel/module.c')
-rw-r--r--arch/parisc/kernel/module.c32
1 files changed, 16 insertions, 16 deletions
diff --git a/arch/parisc/kernel/module.c b/arch/parisc/kernel/module.c
index aee311884f3f..f50b982b0834 100644
--- a/arch/parisc/kernel/module.c
+++ b/arch/parisc/kernel/module.c
@@ -27,7 +27,7 @@
27 * - SEGREL32 handling 27 * - SEGREL32 handling
28 * We are not doing SEGREL32 handling correctly. According to the ABI, we 28 * We are not doing SEGREL32 handling correctly. According to the ABI, we
29 * should do a value offset, like this: 29 * should do a value offset, like this:
30 * if (is_init(me, (void *)val)) 30 * if (in_init(me, (void *)val))
31 * val -= (uint32_t)me->module_init; 31 * val -= (uint32_t)me->module_init;
32 * else 32 * else
33 * val -= (uint32_t)me->module_core; 33 * val -= (uint32_t)me->module_core;
@@ -72,27 +72,27 @@
72 72
73/* three functions to determine where in the module core 73/* three functions to determine where in the module core
74 * or init pieces the location is */ 74 * or init pieces the location is */
75static inline int is_init(struct module *me, void *loc) 75static inline int in_init(struct module *me, void *loc)
76{ 76{
77 return (loc >= me->module_init && 77 return (loc >= me->module_init &&
78 loc <= (me->module_init + me->init_size)); 78 loc <= (me->module_init + me->init_size));
79} 79}
80 80
81static inline int is_core(struct module *me, void *loc) 81static inline int in_core(struct module *me, void *loc)
82{ 82{
83 return (loc >= me->module_core && 83 return (loc >= me->module_core &&
84 loc <= (me->module_core + me->core_size)); 84 loc <= (me->module_core + me->core_size));
85} 85}
86 86
87static inline int is_local(struct module *me, void *loc) 87static inline int in_local(struct module *me, void *loc)
88{ 88{
89 return is_init(me, loc) || is_core(me, loc); 89 return in_init(me, loc) || in_core(me, loc);
90} 90}
91 91
92static inline int is_local_section(struct module *me, void *loc, void *dot) 92static inline int in_local_section(struct module *me, void *loc, void *dot)
93{ 93{
94 return (is_init(me, loc) && is_init(me, dot)) || 94 return (in_init(me, loc) && in_init(me, dot)) ||
95 (is_core(me, loc) && is_core(me, dot)); 95 (in_core(me, loc) && in_core(me, dot));
96} 96}
97 97
98 98
@@ -566,14 +566,14 @@ int apply_relocate_add(Elf_Shdr *sechdrs,
566 break; 566 break;
567 case R_PARISC_PCREL17F: 567 case R_PARISC_PCREL17F:
568 /* 17-bit PC relative address */ 568 /* 17-bit PC relative address */
569 val = get_stub(me, val, addend, ELF_STUB_GOT, is_init(me, loc)); 569 val = get_stub(me, val, addend, ELF_STUB_GOT, in_init(me, loc));
570 val = (val - dot - 8)/4; 570 val = (val - dot - 8)/4;
571 CHECK_RELOC(val, 17) 571 CHECK_RELOC(val, 17)
572 *loc = (*loc & ~0x1f1ffd) | reassemble_17(val); 572 *loc = (*loc & ~0x1f1ffd) | reassemble_17(val);
573 break; 573 break;
574 case R_PARISC_PCREL22F: 574 case R_PARISC_PCREL22F:
575 /* 22-bit PC relative address; only defined for pa20 */ 575 /* 22-bit PC relative address; only defined for pa20 */
576 val = get_stub(me, val, addend, ELF_STUB_GOT, is_init(me, loc)); 576 val = get_stub(me, val, addend, ELF_STUB_GOT, in_init(me, loc));
577 DEBUGP("STUB FOR %s loc %lx+%lx at %lx\n", 577 DEBUGP("STUB FOR %s loc %lx+%lx at %lx\n",
578 strtab + sym->st_name, (unsigned long)loc, addend, 578 strtab + sym->st_name, (unsigned long)loc, addend,
579 val) 579 val)
@@ -670,9 +670,9 @@ int apply_relocate_add(Elf_Shdr *sechdrs,
670 strtab + sym->st_name, 670 strtab + sym->st_name,
671 loc, val); 671 loc, val);
672 /* can we reach it locally? */ 672 /* can we reach it locally? */
673 if(!is_local_section(me, (void *)val, (void *)dot)) { 673 if(!in_local_section(me, (void *)val, (void *)dot)) {
674 674
675 if (is_local(me, (void *)val)) 675 if (in_local(me, (void *)val))
676 /* this is the case where the 676 /* this is the case where the
677 * symbol is local to the 677 * symbol is local to the
678 * module, but in a different 678 * module, but in a different
@@ -680,14 +680,14 @@ int apply_relocate_add(Elf_Shdr *sechdrs,
680 * in case it's more than 22 680 * in case it's more than 22
681 * bits away */ 681 * bits away */
682 val = get_stub(me, val, addend, ELF_STUB_DIRECT, 682 val = get_stub(me, val, addend, ELF_STUB_DIRECT,
683 is_init(me, loc)); 683 in_init(me, loc));
684 else if (strncmp(strtab + sym->st_name, "$$", 2) 684 else if (strncmp(strtab + sym->st_name, "$$", 2)
685 == 0) 685 == 0)
686 val = get_stub(me, val, addend, ELF_STUB_MILLI, 686 val = get_stub(me, val, addend, ELF_STUB_MILLI,
687 is_init(me, loc)); 687 in_init(me, loc));
688 else 688 else
689 val = get_stub(me, val, addend, ELF_STUB_GOT, 689 val = get_stub(me, val, addend, ELF_STUB_GOT,
690 is_init(me, loc)); 690 in_init(me, loc));
691 } 691 }
692 DEBUGP("STUB FOR %s loc %lx, val %lx+%lx at %lx\n", 692 DEBUGP("STUB FOR %s loc %lx, val %lx+%lx at %lx\n",
693 strtab + sym->st_name, loc, sym->st_value, 693 strtab + sym->st_name, loc, sym->st_value,
@@ -720,7 +720,7 @@ int apply_relocate_add(Elf_Shdr *sechdrs,
720 break; 720 break;
721 case R_PARISC_FPTR64: 721 case R_PARISC_FPTR64:
722 /* 64-bit function address */ 722 /* 64-bit function address */
723 if(is_local(me, (void *)(val + addend))) { 723 if(in_local(me, (void *)(val + addend))) {
724 *loc64 = get_fdesc(me, val+addend); 724 *loc64 = get_fdesc(me, val+addend);
725 DEBUGP("FDESC for %s at %p points to %lx\n", 725 DEBUGP("FDESC for %s at %p points to %lx\n",
726 strtab + sym->st_name, *loc64, 726 strtab + sym->st_name, *loc64,