diff options
Diffstat (limited to 'arch/microblaze/reloc.h')
-rw-r--r-- | arch/microblaze/reloc.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/microblaze/reloc.h b/arch/microblaze/reloc.h index 60f74225..7bf3a5b0 100644 --- a/arch/microblaze/reloc.h +++ b/arch/microblaze/reloc.h @@ -49,7 +49,7 @@ void __reloc_self(int c, size_t *a, size_t *dynv) for (a+=c+1; *a; a++); for (a++; *a; a+=2) if (*a<20) t[*a] = a[1]; base = (char *)t[AT_BASE]; - if (!base) base = (char *)(t[AT_PHDR] & -4096); + if (!base) base = (char *)(t[AT_PHDR] & -t[AT_PAGESZ]); for (a=dynv; *a; a+=2) if (*a<20) t[*a] = a[1]; n = t[DT_RELASZ]; for (a=(void *)(base+t[DT_RELA]); n; a+=3, n-=12) |