diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..aa0f4ba
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,166 @@
+#
+#    Copyright (c) 2010-2014 Nest Labs, Inc.
+#    All rights reserved.
+#
+#    This document is the property of Nest. It is considered
+#    confidential and proprietary information.
+#
+#    This document may not be reproduced or transmitted in any form,
+#    in whole or in part, without the express written permission of
+#    Nest.
+#
+#    Description:
+#      This file is the makefile for the GNU binary utilities
+#      (binutils).
+#
+#      The following set of packages MUST be a matched set:
+#
+#	 * Target Binary Utilities
+#        * Target GNU C Standard Library
+#        * Target GNU C++ Standard Library
+#        * Target GDB server and client
+#	 * Host Cross Binary Utilities
+#	 * Host Cross Compilers
+#        * Host Cross GDB client
+#
+#      These are presumed provided by the tool chain and are simply
+#      sourced from it rather than built anew from source.
+#
+#      However, for tool chains that do NOT provide target-based
+#      binutils (e.g. CodeSourcery Sourcery G++), this source-built
+#      instance should provide a reasonable alternative. NOTE though, not
+#      having binutils matched to the tool chain can result in sometimes
+#      undefined results.
+#
+
+include pre.mak
+
+EnableImplicitRules = N
+
+PackageName		:= binutils
+
+PackageExtension	:= tar.bz2
+PackageSeparator	:= -
+
+PackagePatchArgs	:= -p1
+
+PackageArchive		:= $(PackageName).$(PackageExtension)
+PackageSourceDir	:= $(PackageName)$(PackageSeparator)$(PackageVersion)
+
+PackageBuildMakefile	= $(call GenerateBuildPaths,Makefile)
+
+LicenseSourceFiles	:= COPYING COPYING3 COPYING3.LIB COPYING.LIB
+LicenseSourcePaths	:= $(addprefix $(PackageSourceDir)/,$(LicenseSourceFiles))
+
+CleanPaths		+= $(PackageLicenseFile)
+
+LibibertyHeaderName	= libiberty.h
+LibibertySourcePath	= $(PackageSourceDir)/include/$(LibibertyHeaderName)
+LibibertyResultPath	= $(ResultDirectory)/usr/include/$(LibibertyHeaderName)
+
+SOURCEDIRS                      = $(PackageSourceDir)
+$(PackageSourceDir)_RULE_TARGET = $(BuildDirectory)/configure
+
+all: $(PackageDefaultGoal)
+
+# Generate the package license contents.
+
+$(LicenseSourcePaths): $(BuildDirectory)/source
+
+$(PackageLicenseFile): $(LicenseSourcePaths)
+	$(Verbose)touch $@
+	$(Verbose)for file in $(LicenseSourcePaths); do	\
+		cat $${file} >> $@;			\
+	done
+
+# Extract the source from the archive and apply patches, if any.
+
+$(PackageSourceDir): $(PackageArchive) $(PackagePatchPaths)
+	$(expand-and-patch-package)
+
+# Prepare the sources.
+
+$(BuildDirectory)/source: | $(PackageSourceDir) $(BuildDirectory)
+	$(Verbose)touch $@
+
+# Patch the sources, if necessary.
+
+$(BuildDirectory)/patch: $(BuildDirectory)/source | $(BuildDirectory)
+	$(Verbose)touch $@
+
+# Generate the package build makefile.
+BinutilsCFlags += '-Wno-error'
+
+# Configure the source for building.
+
+$(BuildDirectory)/configure: $(BuildDirectory)/source | $(PackageSourceDir) $(BuildDirectory)
+	$(Verbose)cd $(BuildDirectory) && \
+	$(CURDIR)/$(PackageSourceDir)/configure \
+	CC="$(CC) $(CPPOPTFLAGS)" CXX="$(CXX) $(CPPOPTFLAGS)" AR=$(AR) NM=$(NM) RANLIB=$(RANLIB) STRIP=$(STRIP) \
+	CPPFLAGS="$(call ToolGenerateIncludeArgument,$(LinuxIncludePath))" \
+	CFLAGS=$(BinutilsCFlags) \
+	--build=$(HostTuple) \
+	--host=$(TargetTuple) \
+	--enable-shared \
+	--prefix=/usr \
+	--sysconfdir=/etc \
+	--disable-static
+	$(Verbose)touch $@
+
+# Build the source.
+
+$(BuildDirectory)/build: $(BuildDirectory)/configure | $(BuildDirectory)
+	$(Verbose)$(MAKE) -C $(BuildDirectory) all
+	$(Verbose)touch $@
+
+# Stage the build to a temporary installation area.
+#
+# We have to unset MAKEFLAGS since they confuse the package build otherwise.
+#
+# We explictly remove 'libfoo.la' because some packages that depend on
+# these libraries use libtool. If libtool finds a 'libfoo.la' file for
+# a library, it uses the value of 'libdir=<dir>' it finds. In our
+# case, since '--prefix=/usr' this value is '/usr/lib'. It then
+# resolves '-lfoo'. In a cross-compilation environment, this is likely
+# to be neither the right architecture nor the right version to link
+# against. In short, we lose.
+#
+# We could also handle this by removing DESTDIR and setting the prefix
+# to $(ResultDirectory); however, that results in libtool hard-coding
+# $(ResultDirectory) as the RPATH in the linked executables which is
+# NOT what we want either. We lose again.
+#
+# By removing the '*.la' file, we win by ensuring neither a misdirected
+# link nor an RPATH.
+
+.PHONY: stage
+stage: $(BuildDirectory)/stage-default $(BuildDirectory)/stage-headers
+
+$(BuildDirectory)/stage-default: $(BuildDirectory)/build | $(ResultDirectory) $(BuildDirectory)
+	$(Verbose)unset MAKEFLAGS && \
+	$(MAKE) -C $(BuildDirectory) \
+	DESTDIR=$(ResultDirectory) \
+	install
+	$(Verbose)$(RM) $(RMFLAGS) $(call GenerateResultPaths,,usr/lib/libbfd.la usr/lib/libopcodes.la)
+	$(Verbose)touch $@
+
+# For some reason, binutils refuses to install the development headers
+# associated with the libiberty library, despite all attempts to get
+# it to do so automatically. Consquently, we have a dedicated target
+# here to ensure it happens as some debug and performance packages
+# depend on the presence of this header.
+
+$(BuildDirectory)/stage-headers: $(LibibertyResultPath) | $(BuildDirectory)
+	$(Verbose)touch $@
+
+$(LibibertySourcePath): | $(PackageSourceDir)
+
+$(LibibertyResultPath): $(LibibertySourcePath) $(BuildDirectory)/stage-default | $(ResultDirectory)
+	$(copy-result)
+
+clean:
+	$(Verbose)$(RM) $(RMFLAGS) -r $(PackageSourceDir)
+	$(Verbose)$(RM) $(RMFLAGS) -r $(BuildDirectory)
+	$(Verbose)$(RM) $(RMFLAGS) -r $(ResultDirectory)
+
+include post.mak
diff --git a/binutils.patches/binutils-50.description b/binutils.patches/binutils-50.description
new file mode 100644
index 0000000..102e697
--- /dev/null
+++ b/binutils.patches/binutils-50.description
@@ -0,0 +1 @@
+This patch addresses a compiler error for GCC 4.5 in which firsttype may be used uninitialized.
diff --git a/binutils.patches/binutils-50.patch b/binutils.patches/binutils-50.patch
new file mode 100644
index 0000000..c59b420
--- /dev/null
+++ b/binutils.patches/binutils-50.patch
@@ -0,0 +1,12 @@
+diff -aruN a/gas/config/tc-arm.c b/gas/config/tc-arm.c
+--- a/gas/config/tc-arm.c	2010-02-22 00:06:52.000000000 -0800
++++ b/gas/config/tc-arm.c	2011-08-02 13:11:39.000000000 -0700
+@@ -1878,6 +1878,8 @@
+   if (skip_past_char (&ptr, '{') == SUCCESS)
+     leading_brace = 1;
+ 
++  memset(&firsttype, 0, sizeof (firsttype));
++
+   do
+     {
+       struct neon_typed_alias atype;
diff --git a/binutils.patches/binutils-51.description b/binutils.patches/binutils-51.description
new file mode 100644
index 0000000..35cb6db
--- /dev/null
+++ b/binutils.patches/binutils-51.description
@@ -0,0 +1 @@
+Fixes errors in compilation of tex documentation on Ubuntu 14.04 hosts
diff --git a/binutils.patches/binutils-51.patch b/binutils.patches/binutils-51.patch
new file mode 100644
index 0000000..54651fd
--- /dev/null
+++ b/binutils.patches/binutils-51.patch
@@ -0,0 +1,42 @@
+diff -Naur a/bfd/doc/bfd.texinfo b/bfd/doc/bfd.texinfo
+--- a/bfd/doc/bfd.texinfo	2014-07-08 20:16:50.816554234 -0700
++++ b/bfd/doc/bfd.texinfo	2014-07-08 20:24:18.179356445 -0700
+@@ -323,7 +323,7 @@
+ @printindex cp
+ 
+ @tex
+-% I think something like @colophon should be in texinfo.  In the
++% I think something like @@colophon should be in texinfo.  In the
+ % meantime:
+ \long\def\colophon{\hbox to0pt{}\vfill
+ \centerline{The body of this manual is set in}
+@@ -334,7 +334,7 @@
+ \centerline{{\sl\fontname\tensl\/}}
+ \centerline{are used for emphasis.}\vfill}
+ \page\colophon
+-% Blame: doc@cygnus.com, 28mar91.
++% Blame: doc@@cygnus.com, 28mar91.
+ @end tex
+ 
+ @bye
+diff -Naur a/ld/ld.texinfo b/ld/ld.texinfo
+--- a/ld/ld.texinfo	2014-07-08 20:16:50.768553990 -0700
++++ b/ld/ld.texinfo	2014-07-08 20:24:18.143356161 -0700
+@@ -7509,7 +7509,7 @@
+ @printindex cp
+ 
+ @tex
+-% I think something like @colophon should be in texinfo.  In the
++% I think something like @@colophon should be in texinfo.  In the
+ % meantime:
+ \long\def\colophon{\hbox to0pt{}\vfill
+ \centerline{The body of this manual is set in}
+@@ -7520,7 +7520,7 @@
+ \centerline{{\sl\fontname\tensl\/}}
+ \centerline{are used for emphasis.}\vfill}
+ \page\colophon
+-% Blame: doc@cygnus.com, 28mar91.
++% Blame: doc@@cygnus.com, 28mar91.
+ @end tex
+ 
+ @bye
diff --git a/binutils.patches/binutils-52.description b/binutils.patches/binutils-52.description
new file mode 100644
index 0000000..bb44b6a
--- /dev/null
+++ b/binutils.patches/binutils-52.description
@@ -0,0 +1 @@
+Support Local Linux Headers
diff --git a/binutils.patches/binutils-52.patch b/binutils.patches/binutils-52.patch
new file mode 100644
index 0000000..f87cebc
--- /dev/null
+++ b/binutils.patches/binutils-52.patch
@@ -0,0 +1,19 @@
+diff -Naur a/Makefile.in b/Makefile.in
+--- a/Makefile.in	2016-09-14 15:05:50.120686685 -0700
++++ b/Makefile.in	2016-09-14 17:00:11.602847507 -0700
+@@ -188,6 +188,7 @@
+ 	ADA_CFLAGS="$(ADA_CFLAGS)"; export ADA_CFLAGS; \
+ 	CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ 	CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
++	CPPFLAGS="$(CPPFLAGS)"; export CPPFLAGS; \
+ 	CXX="$(CXX)"; export CXX; \
+ 	CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
+ 	GCJ="$(GCJ)"; export GCJ; \
+@@ -375,6 +376,7 @@
+ GNATBIND = @GNATBIND@
+ GNATMAKE = @GNATMAKE@
+ 
++CPPFLAGS = @CPPFLAGS@
+ CFLAGS = @CFLAGS@
+ LDFLAGS = @LDFLAGS@
+ LIBCFLAGS = $(CFLAGS)
diff --git a/binutils.patches/binutils-53.description b/binutils.patches/binutils-53.description
new file mode 100644
index 0000000..dc8ebe1
--- /dev/null
+++ b/binutils.patches/binutils-53.description
@@ -0,0 +1,8 @@
+Backport of upstream fix for -Werror=redundant-decls errors.
+
+2012-03-29  Alan Modra  <amodra@gmail.com>
+
+   * bfd-in.h (bfd_get_arch_size, bfd_get_sign_extend_vma): Delete.
+   * bfd-in2.h: Regenerate.
+
+https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commitdiff;h=f67f98b55b74d346ef535a01efdcc467f220b356
diff --git a/binutils.patches/binutils-53.patch b/binutils.patches/binutils-53.patch
new file mode 100644
index 0000000..0050b66
--- /dev/null
+++ b/binutils.patches/binutils-53.patch
@@ -0,0 +1,36 @@
+diff -Naur a/bfd/bfd-in2.h b/bfd/bfd-in2.h
+--- a/bfd/bfd-in2.h	2017-05-01 17:52:58.882686963 -0700
++++ b/bfd/bfd-in2.h	2017-05-01 17:52:31.334345847 -0700
+@@ -694,14 +694,6 @@
+   (bfd *templ, bfd_vma ehdr_vma, bfd_vma *loadbasep,
+    int (*target_read_memory) (bfd_vma vma, bfd_byte *myaddr, int len));
+ 
+-/* Return the arch_size field of an elf bfd, or -1 if not elf.  */
+-extern int bfd_get_arch_size
+-  (bfd *);
+-
+-/* Return TRUE if address "naturally" sign extends, or -1 if not elf.  */
+-extern int bfd_get_sign_extend_vma
+-  (bfd *);
+-
+ extern struct bfd_section *_bfd_elf_tls_setup
+   (bfd *, struct bfd_link_info *);
+ 
+diff -Naur a/bfd/bfd-in.h b/bfd/bfd-in.h
+--- a/bfd/bfd-in.h	2017-05-01 17:52:58.886687012 -0700
++++ b/bfd/bfd-in.h	2017-05-01 17:52:31.334345847 -0700
+@@ -687,14 +687,6 @@
+   (bfd *templ, bfd_vma ehdr_vma, bfd_vma *loadbasep,
+    int (*target_read_memory) (bfd_vma vma, bfd_byte *myaddr, int len));
+ 
+-/* Return the arch_size field of an elf bfd, or -1 if not elf.  */
+-extern int bfd_get_arch_size
+-  (bfd *);
+-
+-/* Return TRUE if address "naturally" sign extends, or -1 if not elf.  */
+-extern int bfd_get_sign_extend_vma
+-  (bfd *);
+-
+ extern struct bfd_section *_bfd_elf_tls_setup
+   (bfd *, struct bfd_link_info *);
+ 
diff --git a/binutils.tar.bz2 b/binutils.tar.bz2
new file mode 100644
index 0000000..a5ddf7f
--- /dev/null
+++ b/binutils.tar.bz2
Binary files differ
diff --git a/binutils.url b/binutils.url
new file mode 100644
index 0000000..7ef7bf4
--- /dev/null
+++ b/binutils.url
@@ -0,0 +1 @@
+http://ftp.gnu.org/gnu/binutils/binutils-2.20.1.tar.bz2
diff --git a/binutils.version b/binutils.version
new file mode 100644
index 0000000..4e2200b
--- /dev/null
+++ b/binutils.version
@@ -0,0 +1 @@
+2.20.1
