diff -u coreutils-8.21/debian/changelog coreutils-8.21/debian/changelog
--- coreutils-8.21/debian/changelog
+++ coreutils-8.21/debian/changelog
@@ -1,3 +1,12 @@
+coreutils (8.21-1.2) unstable; urgency=low
+
+  * Non-maintainer upload.
+  * Ensure config.{sub,guess} are up to date for new arches, using
+    autotools-dev (Closes: #689611)
+  * Add aarch64 assembler in longlong.h (from Colin Watson) (Closes: #698330)
+
+ -- Wookey <wookey@debian.org>  Sat, 12 Apr 2014 01:51:02 +0000
+
 coreutils (8.21-1.1) unstable; urgency=medium
 
   * Non-Maintainer Upload
diff -u coreutils-8.21/debian/control coreutils-8.21/debian/control
--- coreutils-8.21/debian/control
+++ coreutils-8.21/debian/control
@@ -3,7 +3,7 @@
 Section: utils
 Priority: required
 Standards-Version: 3.9.4.0
-Build-Depends: gettext (>= 0.10.37), debhelper (>= 5.0.0), dh-buildinfo, texinfo (>= 4.2), groff, dpatch, libattr1-dev [linux-any], libacl1-dev [linux-any], libselinux1-dev (>= 1.32) [linux-any], gperf, bison
+Build-Depends: gettext (>= 0.10.37), debhelper (>= 5.0.0), autotools-dev, dh-buildinfo, texinfo (>= 4.2), groff, dpatch, libattr1-dev [linux-any], libacl1-dev [linux-any], libselinux1-dev (>= 1.32) [linux-any], gperf, bison
 XS-Testsuite: autopkgtest
 
 Package: coreutils
diff -u coreutils-8.21/debian/patches/00list coreutils-8.21/debian/patches/00list
--- coreutils-8.21/debian/patches/00list
+++ coreutils-8.21/debian/patches/00list
@@ -6,0 +7 @@
+99_arm64_longlong
\ No newline at end of file
diff -u coreutils-8.21/debian/rules coreutils-8.21/debian/rules
--- coreutils-8.21/debian/rules
+++ coreutils-8.21/debian/rules
@@ -44,6 +44,7 @@
 configure: patch configure-stamp 
 configure-stamp: 
 	dh_testdir
+	dh_autotools-dev_updateconfig
 
 	CFLAGS="$(CFLAGS)" CPPFLAGS="$(CPPFLAGS)" \
 		LDFLAGS='$(LDFLAGS)' ./configure \
@@ -67,6 +68,7 @@
 	rm -f build-stamp configure-stamp
 	rm -rf debian/buildinfo
 	make distclean || true
+	dh_autotools-dev_restoreconfig
 	rm -f config.log
 	rm -f config.status
 	dh_clean
only in patch2:
unchanged:
--- coreutils-8.21.orig/debian/patches/99_arm64_longlong.dpatch
+++ coreutils-8.21/debian/patches/99_arm64_longlong.dpatch
@@ -0,0 +1,43 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 99_arm64_longlong.dpatch by Colin Watson <cjwatson@ubuntu.com>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: (aarch64): Make add_ssaaaa and sub_ddmmss actually work.
+## DP: Author: Torbjorn Granlund <tege@gmplib.org>
+## DP: Origin: upstream, http://gmplib.org:8000/gmp/rev/187b7b1646ee
+
+@DPATCH@
+diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' coreutils-8.20~/src/longlong.h coreutils-8.20/src/longlong.h
+--- coreutils-8.21~/src/longlong.h 2013-01-17 04:05:16.000000000 +0000
++++ coreutils-8.21/src/longlong.h  2013-01-17 04:05:46.000000000 +0000
+@@ -529,23 +529,16 @@
+ #endif /* __arm__ */
+ 
+ #if defined (__aarch64__) && W_TYPE_SIZE == 64
++/* FIXME: Extend the immediate range for the low word by using both
++   ADDS and SUBS, since they set carry in the same way.  */
+ #define add_ssaaaa(sh, sl, ah, al, bh, bl) \
+-  __asm__ ("adds\t%1, %4, %5\n\tadc\t%0, %2, %3"			\
++   __asm__ ("adds\t%1, %x4, %5\n\tadc\t%0, %x2, %x3"			\
+ 	   : "=r" (sh), "=&r" (sl)					\
+-	   : "r" (ah), "rZ" (bh), "%r" (al), "rI" (bl) __CLOBBER_CC)
++           : "rZ" (ah), "rZ" (bh), "%r" (al), "rI" (bl) __CLOBBER_CC)
+ #define sub_ddmmss(sh, sl, ah, al, bh, bl) \
+-  do {									\
+-    if (__builtin_constant_p (bl))					\
+-      {									\
+-	__asm__ ("subs\t%1, %4, %5\n\tsbc\t%0, %2, %3"			\
+-		 : "=r" (sh), "=&r" (sl)				\
+-		 : "r" (ah), "r" (bh), "r" (al), "rI" (bl) __CLOBBER_CC); \
+-      }									\
+-    else /* only bh might be a constant */				\
+-      __asm__ ("subs\t%1, %4, %5\n\tsbc\t%0, %2, %3"			\
+-	       : "=r" (sh), "=&r" (sl)					\
+-	       : "r" (ah), "rZ" (bh), "r" (al), "rI" (bl) __CLOBBER_CC);\
+-    } while (0)
++  __asm__ ("subs\t%1, %x4, %5\n\tsbc\t%0, %x2, %x3"			\
++	   : "=r,r" (sh), "=&r,&r" (sl)					\
++           : "rZ,rZ" (ah), "rZ,rZ" (bh), "r,Z" (al), "rI,r" (bl) __CLOBBER_CC)
+ #define umul_ppmm(ph, pl, m0, m1) \
+   do {									\
+     UDItype __m0 = (m0), __m1 = (m1);					\
