[dm-devel] [PATCH] multipath-tools: replace 64bit archs macros by __LP64__
Xose Vazquez Perez
xose.vazquez at gmail.com
Sun Jun 11 19:14:03 UTC 2017
On 05/19/2017 05:31 AM, Bart Van Assche wrote:
> On Fri, 2017-05-19 at 03:38 +0200, Xose Vazquez Perez wrote:
>> Rationale: https://gcc.gnu.org/onlinedocs/cpp/Common-Predefined-Macros.html
>>
>> __LP64__
>> _LP64
>> These macros are defined, with value 1, if (and only if) the compilation is
>> for a target where long int and pointer both use 64-bits and int uses 32-bit.
>>
>>
>> Cc: Christophe Varoqui <christophe.varoqui at opensvc.com>
>> Cc: device-mapper development <dm-devel at redhat.com>
>> Signed-off-by: Xose Vazquez Perez <xose.vazquez at gmail.com>
>> ---
>> kpartx/lopart.c | 7 +++----
>> 1 file changed, 3 insertions(+), 4 deletions(-)
>>
>> diff --git a/kpartx/lopart.c b/kpartx/lopart.c
>> index 4e6dab4..3c16eb0 100644
>> --- a/kpartx/lopart.c
>> +++ b/kpartx/lopart.c
>> @@ -38,11 +38,10 @@
>> #define LOOP_CTL_GET_FREE 0x4C82
>> #endif
>>
>> -#if !defined (__alpha__) && !defined (__ia64__) && !defined (__x86_64__) \
>> - && !defined (__s390x__)
>> -#define int2ptr(x) ((void *) ((int) x))
>> -#else
>> +#if defined (__LP64__)
>> #define int2ptr(x) ((void *) ((long) x))
>> +#else
>> +#define int2ptr(x) ((void *) ((int) x))
>> #endif
>>
>> static char *
>
> Hello Xose,
>
> Since there is only one user of int2ptr(), please remove the macro definitions
> and use the following construct: (void *)(uintptr_t)(...).
No time for a proper patch, use it as an interim fix.
More information about the dm-devel
mailing list