Your message dated Fri, 16 Sep 2016 12:59:48 +0200
with message-id <20160916105948.gb31...@rene-engelhard.de>
has caused the   report #837755,
regarding liblangtag-dev: arch-dependent file in "Multi-Arch: same" package
to be marked as having been forwarded to the upstream software
author(s) ta...@fedoraproject.org

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)


-- 
837755: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=837755
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- 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 <jw...@debian.org> -----

Date: Wed, 14 Sep 2016 23:43:59 +0200
From: Jakub Wilk <jw...@debian.org>
To: 837...@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 <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__)                                      \


----- End forwarded message -----

--- End Message ---

Reply via email to