Package: musl
Version: 1.1.16-1
Severity: normal
Tags: patch

Currently musl has ppc64el binaries disabled, although the code is
there.

This bug is to enable ppc64el. The trick thing is to use 64-bits long
double, mainly because 128-bits double uses non-IEEE standard which
breaks "configure".

I am attaching the patch that does this job.

Thank you,
Breno

-- System Information:
Debian Release: stretch/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing'), (1, 'experimental')
Architecture: ppc64el (ppc64le)
Foreign Architectures: powerpc

Kernel: Linux 4.8.0-1-powerpc64le (SMP w/8 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
diff -Nru musl-1.1.16/debian/changelog musl-1.1.16/debian/changelog
--- musl-1.1.16/debian/changelog	2017-01-03 16:38:49.000000000 -0500
+++ musl-1.1.16/debian/changelog	2017-01-17 11:45:02.000000000 -0500
@@ -1,3 +1,10 @@
+musl (1.1.16-1.1) UNRELEASED; urgency=medium
+
+  * Enable musl to build on ppc64el. In order to do it, using type "long
+    double" as "double".
+
+ -- Breno Leitao <lei...@debian.org>  Tue, 17 Jan 2017 11:45:02 -0500
+
 musl (1.1.16-1) unstable; urgency=low
 
   * New upstream release.
diff -Nru musl-1.1.16/debian/control musl-1.1.16/debian/control
--- musl-1.1.16/debian/control	2017-01-03 16:27:08.000000000 -0500
+++ musl-1.1.16/debian/control	2017-01-17 11:34:49.000000000 -0500
@@ -9,7 +9,7 @@
 Vcs-Browser: https://anonscm.debian.org/git/collab-maint/musl.git
 
 Package: musl
-Architecture: arm64 musl-linux-arm64 armel armhf musl-linux-armhf i386 musl-linux-i386 amd64 musl-linux-amd64 mips musl-linux-mips mipsel musl-linux-mipsel mips64el musl-linux-mips64el s390x musl-linux-s390x sh4 musl-linux-sh4
+Architecture: arm64 musl-linux-arm64 armel armhf musl-linux-armhf i386 musl-linux-i386 amd64 musl-linux-amd64 mips musl-linux-mips mipsel musl-linux-mipsel mips64el musl-linux-mips64el s390x musl-linux-s390x sh4 musl-linux-sh4 ppc64el
 Multi-Arch: same
 Depends: ${misc:Depends}
 Description: standard C library
@@ -21,7 +21,7 @@
 
 Package: musl-dev
 Section: libdevel
-Architecture: arm64 musl-linux-arm64 armel armhf musl-linux-armhf i386 musl-linux-i386 amd64 musl-linux-amd64 mips musl-linux-mips mipsel musl-linux-mipsel mips64el musl-linux-mips64el s390x musl-linux-s390x sh4 musl-linux-sh4
+Architecture: arm64 musl-linux-arm64 armel armhf musl-linux-armhf i386 musl-linux-i386 amd64 musl-linux-amd64 mips musl-linux-mips mipsel musl-linux-mipsel mips64el musl-linux-mips64el s390x musl-linux-s390x sh4 musl-linux-sh4 ppc64el
 Provides: ${libc-dev:Provides}
 Depends: ${misc:Depends}, musl (= ${binary:Version}), ${linux-libc-dev:Depends}
 Recommends: ${linux-musl-dev:Recommends}
diff -Nru musl-1.1.16/debian/rules musl-1.1.16/debian/rules
--- musl-1.1.16/debian/rules	2017-01-03 15:59:58.000000000 -0500
+++ musl-1.1.16/debian/rules	2017-01-17 11:43:36.000000000 -0500
@@ -25,6 +25,11 @@
   MUSL_ARCH=i386
   MUSL_TRIPLE=i386-linux-musl
 endif
+
+ifneq (,$(findstring ppc64el,$(DEB_HOST_ARCH)))
+  CFLAGS += -mlong-double-64
+endif
+
 export MUSL_ARCH
 export MUSL_TRIPLE
 

Reply via email to