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

Bug#481628: libffi-bug



Andreas Barth wrote:
> * Matthias Klose (doko@cs.tu-berlin.de) [080521 12:13]:
> > that looks ok for now, we can work on the unification of the headers
> > later.
> 
> In case Thiemo agrees (or doesn't disagree) - do you plan to upload it?
> Should I NMU it? ...?

I disagree, because I was confused about the long double size. :-)
(The current version is correct on that.)

The appended patch makes the headers for all three ABIs identical,
but still keeps them in separate locations. This keeps the MIPS
specialcases in the rules file under control, retains the header
unification which upstream might like, and is the lowest risk approach
for other architectures.


Thiemo


diff -urpN libffi-3.0.5.old/configure libffi-3.0.5/configure
--- libffi-3.0.5.old/configure	2008-04-03 16:52:16.000000000 +0100
+++ libffi-3.0.5/configure	2008-05-21 01:45:58.000000000 +0100
@@ -20426,6 +20426,8 @@ case "$host" in
 	TARGET=MIPS; TARGETDIR=mips
 	;;
   mips*-*-linux*)
+	# Support 128-bit long double for NewABI.
+	HAVE_LONG_DOUBLE='defined(__mips64)'
 	TARGET=MIPS; TARGETDIR=mips
 	;;
 
diff -urpN libffi-3.0.5.old/configure.ac libffi-3.0.5/configure.ac
--- libffi-3.0.5.old/configure.ac	2008-04-03 16:44:00.000000000 +0100
+++ libffi-3.0.5/configure.ac	2008-05-21 00:02:02.000000000 +0100
@@ -103,6 +103,8 @@ case "$host" in
 	TARGET=MIPS; TARGETDIR=mips
 	;;
   mips*-*-linux*)
+	# Support 128-bit long double for NewABI.
+	HAVE_LONG_DOUBLE='defined(__mips64)'
 	TARGET=MIPS; TARGETDIR=mips
 	;;
 
diff -urpN libffi-3.0.5.old/debian/rules libffi-3.0.5/debian/rules
--- libffi-3.0.5.old/debian/rules	2008-05-21 03:19:25.000000000 +0100
+++ libffi-3.0.5/debian/rules	2008-05-21 03:23:25.000000000 +0100
@@ -29,6 +29,8 @@ ifneq (,$(filter $(DEB_HOST_ARCH), mips 
   multiarch += biarchn32
   m64  = -mabi=64
   mn32 = -mabi=n32
+  abin32 = -gnuabin32
+  abi64 = -gnuabi64
 endif
 
 biarch_map := i486=x86_64 powerpc=powerpc64 sparc=sparc64 s390=s390x \
@@ -80,7 +82,7 @@ stamp-configure-biarch64:
 		--prefix=/usr \
 		--mandir=\$${prefix}/share/man \
 		--infodir=\$${prefix}/share/info \
-		--includedir=\$${prefix}/include/$(biarch_gnu_type) \
+		--includedir=\$${prefix}/include/$(biarch_gnu_type)$(abi64) \
 		--libdir=\$${prefix}/lib64 \
 		CC="gcc $(m64)" CFLAGS="$(CFLAGS)" LDFLAGS="-Wl,-z,defs $(LDFLAGS)"
 	touch $@
@@ -95,7 +97,7 @@ stamp-configure-biarchn32:
 		--prefix=/usr \
 		--mandir=\$${prefix}/share/man \
 		--infodir=\$${prefix}/share/info \
-		--includedir=\$${prefix}/include/$(biarch_gnu_type) \
+		--includedir=\$${prefix}/include/$(biarch_gnu_type)$(abin32) \
 		--libdir=\$${prefix}/lib32 \
 		CC="gcc $(mn32)" CFLAGS="$(CFLAGS)" LDFLAGS="-Wl,-z,defs $(LDFLAGS)"
 	touch $@
@@ -198,13 +200,13 @@ ifneq (,$(filter biarch32, $(multiarch))
 		debian/lib32ffi-dev/usr/include/
 endif
 ifneq (,$(filter biarch64, $(multiarch)))
-	mkdir -p debian/lib64ffi-dev/usr/include/$(biarch_gnu_type)
-	mv debian/libffi-dev/usr/include/$(biarch_gnu_type) \
+	mkdir -p debian/lib64ffi-dev/usr/include/$(biarch_gnu_type)$(abi64)
+	mv debian/libffi-dev/usr/include/$(biarch_gnu_type)$(abi64) \
 		debian/lib64ffi-dev/usr/include/
 endif
 ifneq (,$(filter biarchn32, $(multiarch)))
-	mkdir -p debian/lib32nffi-dev/usr/include/$(biarch_gnu_type)
-	mv debian/libffi-dev/usr/include/$(biarch_gnu_type) \
+	mkdir -p debian/libn32ffi-dev/usr/include/$(biarch_gnu_type)$(abin32)
+	mv debian/libffi-dev/usr/include/$(biarch_gnu_type)$(abin32) \
 		debian/libn32ffi-dev/usr/include/
 endif
 



Reply to: