diff --git a/bin/misc-functions.sh b/bin/misc-functions.sh
index 961738f..b0d8b18 100755
--- a/bin/misc-functions.sh
+++ b/bin/misc-functions.sh
@@ -1215,6 +1215,17 @@
 	[ -z "${PORTAGE_BINPKG_TMPFILE}" ] && \
 		die "PORTAGE_BINPKG_TMPFILE is unset"
 	mkdir -p "${PORTAGE_BINPKG_TMPFILE%/*}" || die "mkdir failed"
+
+	if has separatedebug ${FEATURES} && [[ -d "${PROOT%/}${EPREFIX}/usr/lib/debug" ]]; then
+		[[ -z "${PORTAGE_DEBUGSYMBOLS_TMPFILE}" ]] && \
+			die "PORTAGE_DEBUGSYMBOLS_TMPFILE is unset"
+		mkdir -p "${PORTAGE_DEBUGSYMBOLS_TMPFILE%/*}" || die "mkdir failed"
+		tar $tar_options -cf - $PORTAGE_BINPKG_TAR_OPTS \
+			-C "${PROOT}" ".${EPREFIX}/usr/lib/debug/" | \
+		$PORTAGE_BZIP2_COMMAND -c > "$PORTAGE_DEBUGSYMBOLS_TMPFILE"
+		tar_options+=" --anchored --exclude=.${EPREFIX}/usr/lib/debug"
+	fi
+
 	tar $tar_options -cf - $PORTAGE_BINPKG_TAR_OPTS -C "${PROOT}" . | \
 		$PORTAGE_BZIP2_COMMAND -c > "$PORTAGE_BINPKG_TMPFILE"
 	assert "failed to pack binary package: '$PORTAGE_BINPKG_TMPFILE'"
diff --git a/man/make.conf.5 b/man/make.conf.5
index 84e894b..9050ee7 100644
--- a/man/make.conf.5
+++ b/man/make.conf.5
@@ -506,6 +506,11 @@
 .B sandbox
 Enable sandbox\-ing when running \fBemerge\fR(1) and \fBebuild\fR(1).
 .TP
+.B separatedebug
+When splitdebug is enabled, produces a separate tarball containing the debug
+symbols in \fBPKGDIR\fR.
+The debug symbols tarball has the name ${CATEGORY}/${PF}.debug.tbz2.
+.TP
 .B sesandbox
 Enable SELinux sandbox\-ing.  Do not toggle this \fBFEATURE\fR yourself.
 .TP
diff --git a/pym/_emerge/EbuildBinpkg.py b/pym/_emerge/EbuildBinpkg.py
index 34a6aef..902639c 100644
--- a/pym/_emerge/EbuildBinpkg.py
+++ b/pym/_emerge/EbuildBinpkg.py
@@ -3,14 +3,14 @@
 
 from _emerge.CompositeTask import CompositeTask
 from _emerge.EbuildPhase import EbuildPhase
-from portage import os
+from portage import os, xpak
 
 class EbuildBinpkg(CompositeTask):
 	"""
 	This assumes that src_install() has successfully completed.
 	"""
 	__slots__ = ('pkg', 'settings') + \
-		('_binpkg_tmpfile',)
+		('_binpkg_tmpfile', '_symbols_tmpfile')
 
 	def _start(self):
 		pkg = self.pkg
@@ -24,6 +24,12 @@
 		self._binpkg_tmpfile = binpkg_tmpfile
 		self.settings["PORTAGE_BINPKG_TMPFILE"] = self._binpkg_tmpfile
 
+		if 'separatedebug' in self.settings.features:
+			self._symbols_tmpfile = os.path.join(bintree.pkgdir, pkg.cpv \
+										+ '.debug.tbz2')
+			self.settings["PORTAGE_DEBUGSYMBOLS_TMPFILE"] = \
+					self._symbols_tmpfile
+
 		package_phase = EbuildPhase(background=self.background,
 			phase='package', scheduler=self.scheduler,
 			settings=self.settings)
@@ -33,15 +39,25 @@
 	def _package_phase_exit(self, package_phase):
 
 		self.settings.pop("PORTAGE_BINPKG_TMPFILE", None)
+		self.settings.pop("PORTAGE_DEBUGSYMBOLS_TMPFILE", None)
 		if self._default_exit(package_phase) != os.EX_OK:
 			try:
 				os.unlink(self._binpkg_tmpfile)
 			except OSError:
 				pass
+			try:
+				os.unlink(self._symbols_tmpfile)
+			except OSError:
+				pass
 			self.wait()
 			return
 
 		pkg = self.pkg
+		if self._symbols_tmpfile and os.path.isfile(self._symbols_tmpfile):
+			xpak_data = xpak.xpak_mem({ "CATEGORY": pkg.category,
+							  "PF": pkg.pf + "-debug",
+							  "SLOT": pkg._metadata['SLOT'] })
+			xpak.tbz2(self._symbols_tmpfile).recompose_mem(xpak_data)
 		bintree = pkg.root_config.trees["bintree"]
 		bintree.inject(pkg.cpv, filename=self._binpkg_tmpfile)
 
diff --git a/pym/portage/const.py b/pym/portage/const.py
index f2e69e0..fa7bd66 100644
--- a/pym/portage/const.py
+++ b/pym/portage/const.py
@@ -173,6 +173,7 @@
 	"python-trace",
 	"sandbox",
 	"selinux",
+	"separatedebug",
 	"sesandbox",
 	"sfperms",
 	"sign",
diff --git a/pym/portage/package/ebuild/_config/special_env_vars.py b/pym/portage/package/ebuild/_config/special_env_vars.py
index 8803491..55754d9 100644
--- a/pym/portage/package/ebuild/_config/special_env_vars.py
+++ b/pym/portage/package/ebuild/_config/special_env_vars.py
@@ -52,7 +52,7 @@
 	"PORTAGE_ACTUAL_DISTDIR", "PORTAGE_ARCHLIST", "PORTAGE_BASHRC_FILES",
 	"PORTAGE_BASHRC", "PM_EBUILD_HOOK_DIR",
 	"PORTAGE_BINPKG_FILE", "PORTAGE_BINPKG_TAR_OPTS",
-	"PORTAGE_BINPKG_TMPFILE",
+	"PORTAGE_BINPKG_TMPFILE", "PORTAGE_DEBUGSYMBOLS_TMPFILE",
 	"PORTAGE_BIN_PATH",
 	"PORTAGE_BUILDDIR", "PORTAGE_BUILD_GROUP", "PORTAGE_BUILD_USER",
 	"PORTAGE_BUNZIP2_COMMAND", "PORTAGE_BZIP2_COMMAND",
