suppress splitdebug for .o files

BUG=chromium-os:21932,chromium:305263
TEST=cbuildbot run of an arm builder, checking python.o after dump_syms
     runs against it
TEST=`emerge-x86-alex chromeos-kernel` no longer throws errors during stripping
TEST=`emerge-x86-alex chromeos-kernel` has split debug files for kernel modules
TEST=`emerge-x86-alex python` does not have debug file for python.o, and lacks debug sections
TEST=`emerge-x86-alex chromeos-base/autotest-deps-libaio` does not have debug file for raw_syscall.os, and lacks debug sections
TEST=`cros_generate_breakpad_symbols --board x86-alex` still works
https://gerrit.chromium.org/gerrit/10451
https://gerrit.chromium.org/gerrit/42997

Change-Id: I08aa03df98265a307ef1142ac0af722e8e1bd0cd
Reviewed-on: https://chromium-review.googlesource.com/214525
Tested-by: Bertrand Simonnet <bsimonnet@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
diff --git a/bin/ebuild-helpers/prepstrip b/bin/ebuild-helpers/prepstrip
index 2ef8a1a..f37ddae 100755
--- a/bin/ebuild-helpers/prepstrip
+++ b/bin/ebuild-helpers/prepstrip
@@ -350,7 +350,12 @@
 	elif [[ ${f} == *"SB executable"* || ${f} == *"SB shared object"* ]] ; then
 		process_elf "${x}" "${inode_link}" ${PORTAGE_STRIP_FLAGS}
 	elif [[ ${f} == *"SB relocatable"* ]] ; then
+		# Disable splitdebug for object files as breakpad fails atm w/them.
+		# http://crosbug.com/204974
+		FEATURES_splitdebug_save=${FEATURES_splitdebug}
+		[[ ${x} != *.ko ]] && FEATURES_splitdebug=false
 		process_elf "${x}" "${inode_link}" ${SAFE_STRIP_FLAGS}
+		FEATURES_splitdebug=${FEATURES_splitdebug_save}
 	fi
 
 	if ${was_not_writable} ; then