diff --git a/var/spack/packages/binutils/package.py b/var/spack/packages/binutils/package.py
index 5a3059bbcf57f6529b696566db81ec1213e435ce..0c33bf042605896fae8d1dd858049b2edb3f85a9 100644
--- a/var/spack/packages/binutils/package.py
+++ b/var/spack/packages/binutils/package.py
@@ -10,8 +10,20 @@ class Binutils(Package):
     version('2.23.2', '4f8fa651e35ef262edc01d60fb45702e')
     version('2.20.1', '2b9dc8f2b7dbd5ec5992c6e29de0b764')
 
+    variant('libiberty', default=False, description='Also install libiberty.')
+
     def install(self, spec, prefix):
-        configure("--prefix=%s" % prefix)
+        configure_args = [
+            '--prefix=%s' % prefix,
+            '--disable-dependency-tracking',
+            '--enable-interwork',
+            '--enable-multilib',
+            '--enable-64-bit-bfd',
+            '--enable-targets=all']
+
+        if '+libiberty' in spec:
+            configure_args.append('--enable-install-libiberty')
 
+        configure(*configure_args)
         make()
         make("install")
diff --git a/var/spack/packages/gcc/package.py b/var/spack/packages/gcc/package.py
index 5e3d1a3efac9564de79cd4740e580c8ce43aa693..2fc6794b70cd73687fc0724431d30e40b8548465 100644
--- a/var/spack/packages/gcc/package.py
+++ b/var/spack/packages/gcc/package.py
@@ -47,7 +47,7 @@ class Gcc(Package):
     depends_on("gmp")
     depends_on("mpc")     # when @4.5:
     depends_on("libelf")
-    depends_on("binutils")
+    depends_on("binutils~libiberty")
 
     # Save these until we can do optional deps.
     #depends_on("isl")