A few fixes for 32-bit compiles
authorJens Axboe <jaxboe@fusionio.com>
Thu, 21 Oct 2010 06:15:59 +0000 (08:15 +0200)
committerJens Axboe <jaxboe@fusionio.com>
Thu, 21 Oct 2010 06:15:59 +0000 (08:15 +0200)
- Change the HAVE_SSE to HAVE_SSE4_2 and only provide it on
  x86-64.
- Cast two values that otherwise cause the compiler to warn on 32-bit

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
arch/arch-x86.h
arch/arch-x86_64.h
crc/crc32c-intel.c
crc/crc32c.h
engines/binject.c
verify.c

index bffd1dd..2e803cb 100644 (file)
@@ -48,7 +48,6 @@ static inline unsigned long long get_cpu_clock(void)
 }
 
 #define ARCH_HAVE_FFZ
-#define ARCH_HAVE_SSE
 #define ARCH_HAVE_CPU_CLOCK
 
 #endif
index 3ea8070..6dbeee0 100644 (file)
@@ -48,7 +48,7 @@ static inline unsigned long long get_cpu_clock(void)
 }
 
 #define ARCH_HAVE_FFZ
-#define ARCH_HAVE_SSE
+#define ARCH_HAVE_SSE4_2
 #define ARCH_HAVE_CPU_CLOCK
 
 #endif
index 77d6df4..969a037 100644 (file)
@@ -18,7 +18,7 @@
  * Volume 2A: Instruction Set Reference, A-M
  */
 
-#ifdef ARCH_HAVE_SSE
+#ifdef ARCH_HAVE_SSE4_2
 
 #if BITS_PER_LONG == 64
 #define REX_PRE "0x48, "
index 50f3665..596fd6c 100644 (file)
@@ -22,7 +22,7 @@
 
 extern uint32_t crc32c(unsigned char const *, unsigned long);
 
-#ifdef ARCH_HAVE_SSE
+#ifdef ARCH_HAVE_SSE4_2
 extern uint32_t crc32c_intel(unsigned char const *, unsigned long);
 extern int crc32c_intel_works(void);
 #else
index 0bdaa24..f7e56eb 100644 (file)
@@ -146,7 +146,7 @@ static int fio_binject_getevents(struct thread_data *td, unsigned int min,
                for (i = 0; i < events; i++) {
                        struct b_user_cmd *buc = (struct b_user_cmd *) buf + i;
 
-                       bd->events[ev_index] = (struct io_u *) buc->usr_ptr;
+                       bd->events[ev_index] = (struct io_u *) (unsigned long) buc->usr_ptr;
                        ev_index++;
                }
        }
index f537553..ea1a911 100644 (file)
--- a/verify.c
+++ b/verify.c
@@ -501,7 +501,7 @@ static int verify_trimmed_io_u(struct thread_data *td, struct io_u *io_u)
        log_err("trim: verify failed at file %s offset %llu, length %lu"
                ", block offset %lu\n",
                        io_u->file->file_name, io_u->offset, io_u->buflen,
-                       (p - io_u->buf));
+                       (unsigned long) (p - io_u->buf));
        return ret;
 }