diff options
Diffstat (limited to 'sysdeps/unix/sysv/linux/sysdep.h')
-rw-r--r-- | sysdeps/unix/sysv/linux/sysdep.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/sysdeps/unix/sysv/linux/sysdep.h b/sysdeps/unix/sysv/linux/sysdep.h index f2d7e05975..8c9e62efb0 100644 --- a/sysdeps/unix/sysv/linux/sysdep.h +++ b/sysdeps/unix/sysv/linux/sysdep.h @@ -47,3 +47,12 @@ #define SYSCALL_LL64(val) \ __LONG_LONG_PAIR ((long) ((val) >> 32), (long) ((val) & 0xffffffff)) #endif + +/* Provide a macro to pass the off{64}_t argument on p{readv,writev}{64}. */ +#if __WORDSIZE == 64 || defined __ASSUME_WORDSIZE64_ILP32 +# define LO_HI_LONG(val) (val) +#else +# define LO_HI_LONG(val) \ + (long) (val), \ + (long) (((uint64_t) (val)) >> 32) +#endif |