Package: sphde
Version: 1.3.0-1
Severity: important
Tags: sid + patch
Justification: FTBFS
User: debian-m...@lists.debian.org
Usertags: mips-patch


Package sphde_1.3.0-1 FTBFS on mips and mipsel with following error:

> /usr/bin/ld: /usr/lib/gcc/mipsel-linux-gnu/6/crtbeginT.o: relocation 
> R_MIPS_HI16 against `a local symbol' can not be used when making a shared 
> object; recompile with -fPIC
> /usr/lib/gcc/mipsel-linux-gnu/6/crtbeginT.o: error adding symbols: Bad value
> collect2: error: ld returned 1 exit status

Full build log:
https://buildd.debian.org/status/fetch.php?pkg=sphde&arch=mipsel&ver=1.3.0-1&stamp=1473250605

First, we need to remove "-pie" flag from LDFLAGS (for mips and mipsel arches) 
to reslove mentioned error.
After that, build fails because there is no support for mips32 architecture.
We need to define proper addresses (__SAS_BASE_ADDRESS, RegionSize, SegmentSize 
and __SAS_SHMAP_MAX) for mips/mipsel into "sasconf.h" file.

I have created and attached a patches that includes these changes and resolves 
these issues.
Patch remove-pie-for-mips32.patch removes "pie" flag from LDFLAGS for 
mips/mipsel.
Patch add-mips32-support.patch adds support for mips/mipsel architectures.

Note:
First it is necessary to apply the patch I have proposed here:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=844613


With these patches package builds successfully.

Regards,
Radovan
--- sphde-1.3.0_orig/debian/rules	2016-08-31 12:40:30.000000000 +0000
+++ sphde-1.3.0/debian/rules	2016-12-15 09:07:47.000000000 +0000
@@ -7,6 +7,11 @@ ifeq ($(shell dpkg-architecture -qDEB_HO
 	export DEB_LDFLAGS_MAINT_STRIP = -pie
 endif
 
+ifneq (,$(filter $(shell dpkg-architecture -qDEB_HOST_ARCH),mips mipsel))
+	export DEB_LDFLAGS_MAINT_STRIP = -pie
+endif
+
+
 %:
 	dh $@  --with autoreconf,pkgkde_symbolshelper
 
--- sphde-1.3.0.orig/src/sasconf.h
+++ sphde-1.3.0/src/sasconf.h
@@ -86,6 +86,13 @@
 # define     __SAS_SHMAP_MAX         0x0001000000L   /*  16MB */
 #endif
 
+#ifdef __mips__
+# define     __SAS_BASE_ADDRESS      0x60000000UL    /* 1,5GB */
+# define     RegionSize              0x10000000UL    /* 256MB */
+# define     SegmentSize             0x01000000UL    /*  16MB */
+# define     __SAS_SHMAP_MAX         0x01000000UL    /*  16MB */
+#endif
+
 /* 
  * If the platform is not recognized above, select some resonable default.
  */

Reply via email to