]> sourceware.org Git - systemtap.git/commitdiff
PR15422: fix compiler warning when --runtime=dyninst loc2c's 32-on-64 binary
authorFrank Ch. Eigler <fche@redhat.com>
Tue, 30 Apr 2013 20:28:47 +0000 (16:28 -0400)
committerFrank Ch. Eigler <fche@redhat.com>
Tue, 30 Apr 2013 20:28:47 +0000 (16:28 -0400)
* runtime/dyninst/loc2c-runtime.h (*deref, *_user_asm): Explicitly
  widen incoming address to uintptr_t.

runtime/dyninst/loc2c-runtime.h

index 47983e8cedb386975aacea99093f9ca492df039e..388576d07473c4a404c8d5cd7baf85cfc3aa04b6 100644 (file)
 #include "../loc2c-runtime.h"
 
 #define __get_user_asm(x, addr, err, itype, rtype, ltype, errret)      \
-       (err) = __get_user((x), (typeof(x)*)(addr))
+        (err) = __get_user((x), (typeof(x)*)(uintptr_t)(addr))
 
 #define __put_user_asm(x, addr, err, itype, rtype, ltype, errret)      \
-       (err) = __put_user((x), (typeof(x)*)(addr))
+        (err) = __put_user((x), (typeof(x)*)(uintptr_t)(addr))
 
 
 #define u_fetch_register(regno) \
 #define uderef(size, addr) ({ \
     intptr_t _i = 0; \
     switch (size) { \
-       case 1: _i = uread((u8 *)(addr)); break; \
-       case 2: _i = uread((u16 *)(addr)); break; \
-       case 4: _i = uread((u32 *)(addr)); break; \
-       case 8: _i = uread((u64 *)(addr)); break; \
+        case 1: _i = uread((u8 *)(uintptr_t)(addr)); break; \
+        case 2: _i = uread((u16 *)(uintptr_t)(addr)); break;    \
+        case 4: _i = uread((u32 *)(uintptr_t)(addr)); break;        \
+        case 8: _i = uread((u64 *)(uintptr_t)(addr)); break;            \
        default: __get_user_bad(); \
     } \
     _i; \
 
 #define store_uderef(size, addr, value) ({ \
     switch (size) { \
-       case 1: uwrite((u8 *)(addr), (value)); break; \
-       case 2: uwrite((u16 *)(addr), (value)); break; \
-       case 4: uwrite((u32 *)(addr), (value)); break; \
-       case 8: uwrite((u64 *)(addr), (value)); break; \
+        case 1: uwrite((u8 *)(uintptr_t)(addr), (value)); break;    \
+        case 2: uwrite((u16 *)(uintptr_t)(addr), (value)); break;   \
+        case 4: uwrite((u32 *)(uintptr_t)(addr), (value)); break;   \
+        case 8: uwrite((u64 *)(uintptr_t)(addr), (value)); break;   \
        default: __put_user_bad(); \
     } \
   })
This page took 0.064064 seconds and 5 git commands to generate.