* Rene Engelhard <r...@debian.org>, 2016-09-14, 11:31:
/usr/include/liblangtag/lt-config.h
An example diff between i386 and amd64 is attached.
OK; and the fix is to move it to
/usr/include/$(DEB_HOST_MULTIARCH)/liblangtag/lt-config.h?
That should work[*], but as a first step I'd try to see if we can make
the header identical across all architectures.
It looks like there are no external users of LT_POINTER_TO_INT, and
liblangtag uses it for checking if two pointers are equal... Not only
this is overengineered, but it's also broken on architectures where
pointer is wider than int. :-\
How about the attached (untested) patch?
[*] Famous last words!
--
Jakub Wilk
--- a/configure.ac
+++ b/configure.ac
@@ -424,15 +424,6 @@
#include <liblangtag/lt-macros.h>
____EOS
-if test -z "$unknown_sizeof_void_p"; then
- cat >> $outfile<<____EOS
-
-#define LT_POINTER_TO_INT(p) ((int) ${ptoi_cast} (p))
-____EOS
- else
- echo "#error SIZEOF_VOID_P unknown"
- fi
-
cat >> $outfile<<____EOS
#endif /* __LT_CONFIG_H__ */
@@ -456,21 +447,6 @@
lt_inline="\$lt_inline
#define LT_HAVE__INLINE__ 1"
fi
-
- case $ac_cv_sizeof_void_p in
- $ac_cv_sizeof_int)
- ptoi_cast=''
- ;;
- $ac_cv_sizeof_long)
- ptoi_cast='(long)'
- ;;
- $ac_cv_sizeof_long_long)
- ptoi_cast='(long long)'
- ;;
- *)
- unknown_sizeof_void_p=yes
- ;;
- esac
])
AC_CONFIG_FILES([
--- a/liblangtag/lt-tag.c
+++ b/liblangtag/lt-tag.c
@@ -197,7 +197,7 @@
_lt_tag_variant_compare(const lt_pointer_t a,
const lt_pointer_t b)
{
- return LT_POINTER_TO_INT (a) - LT_POINTER_TO_INT (b);
+ return a != b;
}
#define DEFUNC_TAG_FREE(__func__) \