OSDN Git Service

Replaced modulo code with the modulo operator.
authorTobias Anderberg <tobias.anderberg@axis.com>
Thu, 7 Apr 2005 13:32:05 +0000 (13:32 -0000)
committerTobias Anderberg <tobias.anderberg@axis.com>
Thu, 7 Apr 2005 13:32:05 +0000 (13:32 -0000)
ldso/ldso/cris/dl-sysdep.h

index 364e8b5..b58f5e0 100644 (file)
 struct elf_resolve;
 extern unsigned long _dl_linux_resolver(struct elf_resolve *tpnt, int reloc_entry);
 
-/* Cheap modulo implementation, taken from arm/dl-sysdep.h. */
-static inline unsigned long
-cris_mod(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) = cris_mod(n, base))
+#define do_rem(result, n, base) ((result) = (n) % (base))
 
 /* 8192 bytes alignment */
 #define PAGE_ALIGN 0xffffe000