Signed-off-by: Stephen M. Cameron <stephenmcameron@gmail.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
rbtree.c smalloc.c filehash.c profile.c debug.c lib/rand.c \
lib/num2str.c lib/ieee754.c $(wildcard crc/*.c) engines/cpu.c \
engines/mmap.c engines/sync.c engines/null.c engines/net.c \
- memalign.c server.c client.c iolog.c backend.c libfio.c flow.c
+ memalign.c server.c client.c iolog.c backend.c libfio.c flow.c \
+ endian_check.c
ifeq ($(UNAME), Linux)
SOURCE += diskutil.c fifo.c blktrace.c helpers.c cgroup.c trim.c \
--- /dev/null
+#include <stdint.h>
+#include "os/os.h"
+
+int endian_check(void)
+{
+ union {
+ uint8_t c[8];
+ uint64_t v;
+ } u;
+ int le = 0, be = 0;
+
+ u.v = 0x12;
+ if (u.c[7] == 0x12)
+ be = 1;
+ else if (u.c[0] == 0x12)
+ le = 1;
+
+#if defined(FIO_LITTLE_ENDIAN)
+ if (be)
+ return 1;
+#elif defined(FIO_BIG_ENDIAN)
+ if (le)
+ return 1;
+#else
+ return 1;
+#endif
+
+ if (!le && !be)
+ return 1;
+
+ return 0;
+}
+
--- /dev/null
+#ifndef ENDIAN_CHECK_H
+#define ENDIAN_CHECK_H
+
+int endian_check(void);
+
+#endif
#include "memalign.h"
#include "client.h"
#include "server.h"
+#include "endian_check.h"
unsigned long page_mask;
unsigned long page_size;
-static int endian_check(void)
-{
- union {
- uint8_t c[8];
- uint64_t v;
- } u;
- int le = 0, be = 0;
-
- u.v = 0x12;
- if (u.c[7] == 0x12)
- be = 1;
- else if (u.c[0] == 0x12)
- le = 1;
-
-#if defined(FIO_LITTLE_ENDIAN)
- if (be)
- return 1;
-#elif defined(FIO_BIG_ENDIAN)
- if (le)
- return 1;
-#else
- return 1;
-#endif
-
- if (!le && !be)
- return 1;
-
- return 0;
-}
-
int main(int argc, char *argv[], char *envp[])
{
long ps;