diff options
Diffstat (limited to 'ldso/ldso/arm/dl-sysdep.h')
-rw-r--r-- | ldso/ldso/arm/dl-sysdep.h | 29 |
1 files changed, 1 insertions, 28 deletions
diff --git a/ldso/ldso/arm/dl-sysdep.h b/ldso/ldso/arm/dl-sysdep.h index ef994caad..74abb305e 100644 --- a/ldso/ldso/arm/dl-sysdep.h +++ b/ldso/ldso/arm/dl-sysdep.h @@ -89,34 +89,7 @@ struct elf_resolve; unsigned long _dl_linux_resolver(struct elf_resolve * tpnt, int reloc_entry); -static inline unsigned long arm_modulus(unsigned long m, unsigned long p) { - unsigned long i,t,inc; - i=p; t=0; - while(!(i&(1<<31))) { - i<<=1; - t++; - } - t--; - for(inc=t;inc>2;inc--) { - i=p<<inc; - if(i&(1<<31)) - break; - while(m>=i) { - m-=i; - i<<=1; - if(i&(1<<31)) - break; - if(i<p) - break; - } - } - while(m>=p) { - m-=p; - } - return m; -} - -#define do_rem(result, n, base) result=arm_modulus(n,base); +#define do_rem(result, n, base) result = (n % base) /* 4096 bytes alignment */ #define PAGE_ALIGN 0xfffff000 |