[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#837755: marked as forwarded (liblangtag-dev: arch-dependent file in "Multi-Arch: same" package)



Your message dated Fri, 16 Sep 2016 12:59:48 +0200
with message-id <20160916105948.GB31541@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) tagoh@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 owner@bugs.debian.org
immediately.)


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

Reply to: