+2001-07-07 Theodore Tso <tytso@valinux.com>
+
+ * bitops.h (ext2fs_find_first_bit_set): Use %esi instead of %ebx
+ to avoid register conflicts when compiling in PIC mode.
+
2001-07-04 Theodore Tso <tytso@valinux.com>
* bitops.h (ext2fs_find_first_bit_set, ext2fs_find_next_bit_set):
return oldbit;
}
-#ifndef C_VERSIONS
_INLINE_ int ext2fs_find_first_bit_set(void * addr, unsigned size)
{
int d0, d1, d2;
"movl -4(%%edi),%%eax\n\t"
"subl $4,%%edi\n\t"
"bsfl %%eax,%%edx\n"
- "1:\tsubl %%ebx,%%edi\n\t"
+ "1:\tsubl %%esi,%%edi\n\t"
"shll $3,%%edi\n\t"
"addl %%edi,%%edx"
:"=d" (res), "=&c" (d0), "=&D" (d1), "=&a" (d2)
- :"1" ((size + 31) >> 5), "2" (addr), "b" (addr));
+ :"1" ((size + 31) >> 5), "2" (addr), "S" (addr));
return res;
}
res = ext2fs_find_first_bit_set(p, size - 32 * (p - (unsigned long *) addr));
return (offset + set + res);
}
-#endif
#ifdef EXT2FS_ENABLE_SWAPFS
_INLINE_ __u32 ext2fs_swab32(__u32 val)