summaryrefslogtreecommitdiff
path: root/modutils
diff options
context:
space:
mode:
Diffstat (limited to 'modutils')
-rw-r--r--modutils/insmod.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/modutils/insmod.c b/modutils/insmod.c
index 390a503..96d9d5b 100644
--- a/modutils/insmod.c
+++ b/modutils/insmod.c
@@ -860,9 +860,11 @@ arch_apply_relocation(struct obj_file *f,
#if defined(CONFIG_USE_GOT_ENTRIES) || defined(CONFIG_USE_PLT_ENTRIES)
struct arch_symbol *isym = (struct arch_symbol *) sym;
#endif
+#if defined(__arm__) || defined(__i386__) || defined(__mc68000__) || defined(__sh__) || defined(__s390__)
#if defined(CONFIG_USE_GOT_ENTRIES)
ElfW(Addr) got = ifile->got ? ifile->got->header.sh_addr : 0;
#endif
+#endif
#if defined(CONFIG_USE_PLT_ENTRIES)
ElfW(Addr) plt = ifile->plt ? ifile->plt->header.sh_addr : 0;
unsigned long *ip;
@@ -892,7 +894,7 @@ arch_apply_relocation(struct obj_file *f,
* (which is .got) similar to branch,
* but is full 32 bits relative */
- assert(got);
+ assert(got != 0);
*loc += got - dot;
break;
@@ -901,7 +903,7 @@ arch_apply_relocation(struct obj_file *f,
goto bb_use_plt;
case R_ARM_GOTOFF: /* address relative to the got */
- assert(got);
+ assert(got != 0);
*loc += v - got;
break;