Control: tags -1 patch This patch might fix all these bugs and require less maintainance as new architectures are added. Please review and test.
If you're on alpha, ia64, mips or mipsel you could also try without the extra rule in debian/rules (lines 28-42). Makedefs.in: SHELL=/bin/bash, required for libtool. configure.in: Improved test for stack direction, outwits compiler. debian/control: Add to Build-Depends: dh-autoreconf, bash. debian/rules: Run dh_autoreconf. src/repint.h: Make inline_Fcons static instead of extern.
diff -ru librep-0.90.2.orig/Makedefs.in librep-0.90.2/Makedefs.in --- librep-0.90.2.orig/Makedefs.in +++ librep-0.90.2/Makedefs.in @@ -20,7 +20,7 @@ version=@version@ libversion=@libversion@ -SHELL=/bin/sh +SHELL=/bin/bash top_srcdir=@top_srcdir@ srcdir=@srcdir@ diff -ru librep-0.90.2.orig/configure.in librep-0.90.2/configure.in --- librep-0.90.2.orig/configure.in +++ librep-0.90.2/configure.in @@ -549,8 +549,14 @@ esac fi if test "${with_stack_direction}" = unknown; then - AC_TRY_RUN([ void inner (char *foo) { char bar; exit (!(foo >= &bar)); } - void main () { char foo; inner (&foo); } ], + AC_TRY_RUN([ +#include <stdio.h> +#include <string.h> +int inner(int *a) { int b; char sa[50], sb[50]; + sprintf(sa, "%049llu", (unsigned long long)a); + sprintf(sb, "%049llu", (unsigned long long)&b); + return strcmp(sa, sb); } +int main() { int x; return inner(&x) < 0; } ], [AC_MSG_RESULT([downwards]) with_stack_direction=-1], [AC_MSG_RESULT([upwards]) diff -ru librep-0.90.2.orig/debian/control librep-0.90.2/debian/control --- librep-0.90.2.orig/debian/control +++ librep-0.90.2/debian/control @@ -5,7 +5,7 @@ Standards-Version: 3.8.3 Build-Depends: texinfo (>= 4.11-2), debhelper (>= 7), libgmp-dev, libgdbm-dev, libreadline-dev, libncurses5-dev, libtool, - dpatch, autotools-dev, pkg-config, libffi-dev + dpatch, autotools-dev, pkg-config, libffi-dev, dh-autoreconf, bash Homepage: http://librep.sourceforge.net/ Vcs-Browser: http://git.debian.org/?p=collab-maint/librep.git Vcs-Git: git://git.debian.org/git/collab-maint/librep.git diff -ru librep-0.90.2.orig/debian/rules librep-0.90.2/debian/rules --- librep-0.90.2.orig/debian/rules +++ librep-0.90.2/debian/rules @@ -48,6 +48,7 @@ cp /usr/share/misc/config.guess . cp /usr/share/misc/config.sub . + dh_autoreconf CONFIG_SHELL=/bin/bash /bin/bash ./configure \ --prefix=/usr --libexecdir=/usr/lib --mandir=/usr/share/man \ --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE) \ @@ -75,6 +76,7 @@ debian/rules unpatch + dh_autoreconf_clean dh_clean debian/librep-dev.install debian/${version}.install \ src/rep-xgettext config.sub config.guess diff -ru librep-0.90.2.orig/src/repint.h librep-0.90.2/src/repint.h --- librep-0.90.2.orig/src/repint.h +++ librep-0.90.2/src/repint.h @@ -232,8 +232,8 @@ call when the heap needs to grow. */ #if defined __GNUC__ && defined __OPTIMIZE__ -extern __inline__ repv inline_Fcons (repv x, repv y); -extern __inline__ repv +static __inline__ repv inline_Fcons (repv x, repv y); +static __inline__ repv inline_Fcons (repv x, repv y) { rep_cons *c = rep_cons_freelist;