]> git.ipfire.org Git - thirdparty/xfsprogs-dev.git/blobdiff - include/xfs_arch.h
xfs: fix off-by-one error in xfs_rtalloc_query_range
[thirdparty/xfsprogs-dev.git] / include / xfs_arch.h
index 87650f100c03c0995f15fa32beebf2714ca98356..34fcd4dbfd98edacb171cbef2f2e5dfb4d251171 100644 (file)
 #endif
 
 #ifdef __CHECKER__
-#define __bitwise              __attribute__((bitwise))
+# ifndef __bitwise
+#  define __bitwise            __attribute__((bitwise))
+# endif
 #define __force                        __attribute__((force))
 #else
-#define __bitwise
+# ifndef __bitwise
+#  define __bitwise
+# endif
 #define __force
 #endif
 
@@ -240,49 +244,42 @@ static inline void be64_add_cpu(__be64 *a, __s64 b)
        *a = cpu_to_be64(be64_to_cpu(*a) + b);
 }
 
-static inline __uint16_t get_unaligned_be16(void *p)
+static inline uint16_t get_unaligned_be16(void *p)
 {
-       __uint8_t *__p = p;
+       uint8_t *__p = p;
        return __p[0] << 8 | __p[1];
 }
 
-static inline __uint32_t get_unaligned_be32(void *p)
+static inline uint32_t get_unaligned_be32(void *p)
 {
-       __uint8_t *__p = p;
-        return __p[0] << 24 | __p[1] << 16 | __p[2] << 8 | __p[3];
+       uint8_t *__p = p;
+        return (uint32_t)__p[0] << 24 | __p[1] << 16 | __p[2] << 8 | __p[3];
 }
 
-static inline __uint64_t get_unaligned_be64(void *p)
+static inline uint64_t get_unaligned_be64(void *p)
 {
-       return (__uint64_t)get_unaligned_be32(p) << 32 |
+       return (uint64_t)get_unaligned_be32(p) << 32 |
                           get_unaligned_be32(p + 4);
 }
 
-static inline void put_unaligned_be16(__uint16_t val, void *p)
+static inline void put_unaligned_be16(uint16_t val, void *p)
 {
-       __uint8_t *__p = p;
+       uint8_t *__p = p;
        *__p++ = val >> 8;
        *__p++ = val;
 }
 
-static inline void put_unaligned_be32(__uint32_t val, void *p)
+static inline void put_unaligned_be32(uint32_t val, void *p)
 {
-       __uint8_t *__p = p;
+       uint8_t *__p = p;
        put_unaligned_be16(val >> 16, __p);
        put_unaligned_be16(val, __p + 2);
 }
 
-static inline void put_unaligned_be64(__uint64_t val, void *p)
+static inline void put_unaligned_be64(uint64_t val, void *p)
 {
        put_unaligned_be32(val >> 32, p);
        put_unaligned_be32(val, p + 4);
 }
 
-/* ARM old ABI has some weird alignment/padding */
-#if defined(__arm__) && !defined(__ARM_EABI__)
-#define __arch_pack __attribute__((packed))
-#else
-#define __arch_pack
-#endif
-
 #endif /* __XFS_ARCH_H__ */