--- Begin Message ---
Hi Akira,
what do you think of the following patch, fixing lt-config.h being
arch-dependent? (see http://bugs.debian.org/837755 for context)
Regards,
Rene
----- Forwarded message from Jakub Wilk <jwilk@debian.org> -----
Date: Wed, 14 Sep 2016 23:43:59 +0200
From: Jakub Wilk <jwilk@debian.org>
To: 837755@bugs.debian.org
Subject: Bug#837755: liblangtag-dev: arch-dependent file in "Multi-Arch: same"
package
User-Agent: NeoMutt/20160910 (1.7.0)
* Rene Engelhard <rene@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__) \
----- End forwarded message -----
--- End Message ---