diff -u binutils-2.22/debian/control.in binutils-2.22/debian/control.in
--- binutils-2.22/debian/control.in
+++ binutils-2.22/debian/control.in
@@ -47,6 +47,20 @@
  NORMAL USERS SHOULD NOT INSTALL THIS PACKAGE.  It's meant only for those
  requiring support for reading info from binaries from other architectures.
 
+Package: binutils-multiarch-dev
+Architecture: any
+Priority: extra
+Depends: ${shlibs:Depends}, binutils (= ${binary:Version}), binutils-multiarch (= ${binary:Version})
+Provides: multiarch-binutils-dev
+Description: Binary utilities that support multi-arch targets
+ The programs in this package are used to manipulate binary and object
+ files that may have been created on other architectures.  This package
+ is primarily for multi-architecture developers and cross-compilers and
+ is not needed by normal users or developers.  Note that a cross-assembling
+ version of gas is not included in this package, just the binary utilities.
+ NORMAL USERS SHOULD NOT INSTALL THIS PACKAGE.  It's meant only for those
+ requiring support for reading info from binaries from other architectures.
+
 Package: binutils-gold
 Architecture: amd64 armel armhf i386 powerpc powerpcspe ppc64 sparc sparc64
 Priority: extra
diff -u binutils-2.22/debian/binutils.overrides binutils-2.22/debian/binutils.overrides
--- binutils-2.22/debian/binutils.overrides
+++ binutils-2.22/debian/binutils.overrides
@@ -5,0 +6,3 @@
+
+# discarding spell-checking on option -mmnemonic
+binutils binary: spelling-error-in-binary usr/bin/as mmnemonic mnemonic
diff -u binutils-2.22/debian/rules binutils-2.22/debian/rules
--- binutils-2.22/debian/rules
+++ binutils-2.22/debian/rules
@@ -16,6 +16,7 @@
 p_bin = binutils
 p_dev = $(p_bin)-dev
 p_mul = $(p_bin)-multiarch
+p_muldev = $(p_bin)-multiarch-dev
 p_gold = $(p_bin)-gold
 p_doc = $(p_bin)-doc
 p_hppa64 = $(p_bin)-hppa64
@@ -35,6 +36,7 @@
 d_bin = $(d)
 d_dev = debian/$(p_dev)
 d_mul = debian/$(p_mul)
+d_muldev = debian/$(p_muldev)
 d_gold = debian/$(p_gold)
 d_doc = debian/$(p_doc)
 d_hppa64 = debian/$(p_hppa64)
@@ -283,7 +285,7 @@
 	-rm -fr builddir-multi builddir-single builddir-hppa64 builddir-spu builddir-gold
 	-find . -name \*.gmo -o -name \*~ -o -name \*.info ! -name sysroff.info | xargs rm -f
 	-rm -f $(pwd)/test-summary*
-	-rm -fr $(d_bin) $(d_dev) $(d_mul) $(d_doc) $(d_hppa64) $(d_src) $(d_spu) $(d_gold)
+	-rm -fr $(d_bin) $(d_dev) $(d_mul) $(d_muldev) $(d_doc) $(d_hppa64) $(d_src) $(d_spu) $(d_gold)
 	-rm -rf debian/patched debian/tmp debian/files* debian/substvars
 	-rm -f debian/*.orig debian/*.rej
 	-rm -rf $(d_cross) debian/files debian/substvars 
@@ -368,29 +370,7 @@
 # multiarch targets #
 #####################
 
-multiarch_targets = \
-	alpha-linux-gnu \
-	arm-linux-gnueabi \
-	hppa-linux-gnu \
-	i486-linux-gnu \
-	ia64-linux-gnu \
-	m68k-linux-gnu \
-	m68k-rtems \
-	mips-linux-gnu \
-	mipsel-linux-gnu \
-	mips64-linux-gnu \
-	mips64el-linux-gnu \
-	powerpc-linux-gnu \
-	powerpc64-linux-gnu \
-	s390-linux-gnu \
-	s390x-linux-gnu \
-	sh-linux-gnu \
-	sh64-linux-gnu \
-	sparc-linux-gnu \
-	sparc64-linux-gnu \
-	x86_64-linux-gnu \
-	m32r-linux-gnu \
-	spu
+multiarch_targets = all
 
 configure-multi-stamp: patch-stamp
 	$(checkdir)
@@ -563,8 +543,8 @@
 install-stamp: checkroot build-stamp
 	$(checkdir)
 
-	rm -fr $(d_bin) $(d_dev) $(d_mul) $(d_doc) $(d_src)
-	$(install_dir) $(d_bin) $(d_dev) $(d_mul) $(d_doc) $(d_src)
+	rm -fr $(d_bin) $(d_dev) $(d_mul) $(d_muldev) $(d_doc) $(d_src)
+	$(install_dir) $(d_bin) $(d_dev) $(d_mul) $(d_muldev) $(d_doc) $(d_src)
 
 	: # install binutils and -dev stuff
 	env MAKE="$(MAKE) VERSION=$(SINGLE_VERSION)" \
@@ -621,6 +601,10 @@
 	rm -f $(d_mul)/$(PF)/bin/ld.gold
 	rm -fr $(d_mul)/$(PF)/lib/ldscripts
 
+	: # Get rid of multiarch libraries in binutils-multiarch-dev
+	rm -f $(d_muldev)/$(PF)/lib/libbfd-multiarch.so
+	rm -f $(d_muldev)/$(PF)/lib/libopcodes-multiarch.so
+
   ifneq (,$(filter $(DEB_HOST_ARCH),powerpc ppc64))
 	rm -f $(d_mul)/$(PF)/bin/embedspu
   endif
@@ -632,7 +616,11 @@
           $(d_dev)/$(PF)/lib/
 
 ifeq ($(with_multiarch),yes)
-       rm -f $(d_mul)/$(PF)/lib/libbfd.so $(d_mul)/$(PF)/lib/libopcodes.so
+       $(install_dir) $(d_muldev)/$(PF)/lib/
+       mv $(d_mul)/$(PF)/lib/libbfd.so \
+          $(d_muldev)/$(PF)/lib/libbfd-multiarch.so
+       mv $(d_mul)/$(PF)/lib/libopcodes.so \
+          $(d_muldev)/$(PF)/lib/libopcodes-multiarch.so
        rm -f $(d_mul)/$(PF)/lib/*.la $(d_mul)/$(PF)/lib/*.a
        rm -f $(d_mul)/$(PF)/lib*/libiberty*
 endif
@@ -951,6 +940,8 @@
 ifeq ($(with_multiarch),yes)
 	$(install_file) -D debian/$(p_mul).overrides \
 		$(d_mul)/$(PF)/share/lintian/overrides/$(p_mul)
+	$(install_file) -D debian/$(p_muldev).overrides \
+		$(d_muldev)/$(PF)/share/lintian/overrides/$(p_muldev)
 endif
 ifeq ($(with_gold),yes)
 	$(install_file) -D debian/$(p_gold).overrides \
@@ -980,6 +971,7 @@
 	$(install_script) debian/binutils-multiarch.prerm $(d_mul)/DEBIAN/prerm
 	$(install_script) debian/binutils-multiarch.postrm $(d_mul)/DEBIAN/postrm
 	$(install_file) debian/binutils-multiarch.shlibs $(d_mul)/DEBIAN/shlibs
+	$(install_dir) $(d_muldev)/DEBIAN
 endif
 
 ifeq ($(with_gold),yes)
@@ -1012,6 +1004,8 @@
 ifeq ($(with_multiarch),yes)
 	$(install_dir) $(d_mul)/$(PF)/share/doc/
 	ln -sf $(p_bin) $(d_mul)/$(PF)/share/doc/$(p_mul)
+	$(install_dir) $(d_muldev)/$(PF)/share/doc/
+	ln -sf $(p_bin) $(d_muldev)/$(PF)/share/doc/$(p_muldev)
 endif
 ifeq ($(with_gold),yes)
 	$(install_dir) $(d_gold)/$(PF)/share/doc/
@@ -1072,6 +1066,7 @@
 	rm -f debian/substvars
 	find $(d_mul) -type f | xargs file | grep ELF | cut -d: -f 1 | xargs dpkg-shlibdeps
 	dpkg-gencontrol -isp -P$(d_mul) -p$(p_mul)
+	dpkg-gencontrol -isp -P$(d_muldev) -p$(p_muldev)
 endif
 
 ifeq ($(with_gold),yes)
@@ -1099,6 +1094,10 @@
 	chown -R root:root $(d_mul)
 	chmod -R go=rX  $(d_mul)
 	dpkg --build $(d_mul) ..
+
+	chown -R root:root $(d_muldev)
+	chmod -R go=rX  $(d_muldev)
+	dpkg --build $(d_muldev) ..
 endif
 ifeq ($(with_gold),yes)
 	chown -R root:root $(d_gold)
diff -u binutils-2.22/debian/changelog binutils-2.22/debian/changelog
--- binutils-2.22/debian/changelog
+++ binutils-2.22/debian/changelog
@@ -1,3 +1,12 @@
+binutils (2.22-5.1) unstable; urgency=low
+
+  * Non-maintainer upload.
+  * Adding a binutils-multiarch-dev package. Closes: #583160
+  * Fix false positive spell-checking mistake. Closes: #661639
+  * Support for all possible targets added to binutils-multiarch
+
+ -- Emmanuel Fleury <fleury@labri.fr>  Wed, 29 Feb 2012 11:21:27 +0100
+
 binutils (2.22-5) unstable; urgency=low
 
   * Update from the binutils-2_22-branch 20120124.
only in patch2:
unchanged:
--- binutils-2.22.orig/debian/binutils-multiarch-dev.overrides
+++ binutils-2.22/debian/binutils-multiarch-dev.overrides
@@ -0,0 +1,8 @@
+# do not warn about broken symbolic links
+binutils-multiarch-dev: package-contains-broken-symlink
+
+# do not warn about linking from /usr/share/doc
+binutils-multiarch-dev: cannot-check-whether-usr-share-doc-symlink-points-to-foreign-package
+
+# do not warn about missing homepage field
+binutils-multiarch-dev: no-homepage-field
