Forwarded: https://github.com/cgsecurity/testdisk/pull/15
The problem was in bitwise with signed values in le32 macro.
With attached patch I was able to build testdisk successfully on mips.
--- testdisk-7.0.orig/src/common.h
+++ testdisk-7.0/src/common.h
@@ -466,10 +466,10 @@ time_t td_ntfs2utc (int64_t ntfstime);
#define le24(x) ((((x) & 0x000000ffUL) << 16) | \
((x) & 0x0000ff00UL) | \
(((x) & 0x00ff0000UL) >> 16))
-#define le32(x) ((((x)&0xff000000L)>>24) | \
- (((x)&0x00ff0000L)>>8) | \
- (((x)&0x0000ff00L)<<8) | \
- (((x)&0x000000ffL)<<24))
+#define le32(x) ((((x)&0xff000000UL)>>24) | \
+ (((x)&0x00ff0000UL)>>8) | \
+ (((x)&0x0000ff00UL)<<8) | \
+ (((x)&0x000000ffUL)<<24))
#define be32(x) (x)
#define le64(x) ((((x)&0xff00000000000000LL)>>56) | \
(((x)&0x00ff000000000000LL)>>40) | \