diff --git a/Config.in b/Config.in
index 4d75896d8dd931d9fc679fc5afa8178651310fec..d7ce63e462c86991787164e4659839677fc62b5e 100644
--- a/Config.in
+++ b/Config.in
@@ -88,7 +88,7 @@ config ALL
 	bool "Select all packages by default"
 	default n
 
-comment "Features"
+comment "General build options"
 
 config CLEAN_IPKG
 	bool
@@ -97,6 +97,35 @@ config CLEAN_IPKG
 	help
 		This removes all ipkg data from the target directory before building the root fs
 
+choice
+	prompt "Binary stripping method"
+	default USE_STRIP   if USE_GLIBC || USE_EGLIBC
+	default USE_SSTRIP
+	help
+	  Select the binary stripping method you wish to use.
+
+	config NO_STRIP
+		bool "none"
+		help
+		  This will install unstripped binaries (useful for native compiling/debugging)
+
+	config USE_STRIP
+		bool "strip"
+		depends !DEBUG
+		help
+		  This will install binaries stripped using strip from binutils
+
+
+	config USE_SSTRIP
+		bool "sstrip"
+		depends !DEBUG
+		depends !USE_GLIBC
+		depends !USE_EGLIBC
+		help
+		  This will install binaries stripped using sstrip
+
+endchoice
+
 comment "Package build options"
 
 config DEBUG
@@ -113,10 +142,6 @@ config DEBUG_DIR
 		This will install all compiled package binaries into build_dir/target-*/debug-*/,
 		useful for cross-debugging via gdb/gdbserver
 
-config NO_STRIP
-	bool "Install unstripped binary on the target (useful for native compiling/debugging)"
-	default n
-
 comment "Kernel build options"
 
 config KERNEL_KALLSYMS
diff --git a/rules.mk b/rules.mk
index 15d62bc26912f3c4c5ff448f18dcedc933339545..05609b9ac03afaec2df13fae2d1d214ec9f89ee1 100644
--- a/rules.mk
+++ b/rules.mk
@@ -104,7 +104,6 @@ HOST_LDFLAGS:=-L$(STAGING_DIR_HOST)/lib
 
 TARGET_CC:=$(TARGET_CROSS)gcc
 TARGET_CXX:=$(if $(CONFIG_INSTALL_LIBSTDCPP),$(TARGET_CROSS)g++,no)
-STRIP:=$(STAGING_DIR_HOST)/bin/sstrip
 PATCH:=$(SCRIPT_DIR)/patch-kernel.sh
 SED:=$(STAGING_DIR_HOST)/bin/sed -i -e
 CP:=cp -fpR
@@ -137,7 +136,15 @@ TARGET_CONFIGURE_OPTS:= \
 # strip an entire directory
 ifneq ($(CONFIG_NO_STRIP),)
   RSTRIP:=:
+  STRIP:=:
 else
+  ifneq ($(CONFIG_USE_STRIP),)
+    STRIP:=$(TARGET_CROSS)strip
+  else
+    ifneq ($(CONFIG_USE_SSTRIP),)
+      STRIP:=$(STAGING_DIR_HOST)/bin/sstrip
+    endif
+  endif
   RSTRIP:= \
     NM="$(TARGET_CROSS)nm" \
     STRIP="$(STRIP)" \
diff --git a/toolchain/Config.in b/toolchain/Config.in
index 5b5ad37a1b00a8ed4d3fcc5c60ece22d261ff340..3ff0801369c642423bc9bc9527b2744badbb4247 100644
--- a/toolchain/Config.in
+++ b/toolchain/Config.in
@@ -54,12 +54,10 @@ choice
 	config USE_EGLIBC
 		bool "Use eglibc"
 		depends !avr32
-		select NO_STRIP
 	
 	config USE_GLIBC
 		bool "Use glibc"
 		depends !avr32
-		select NO_STRIP
 	
 	config USE_UCLIBC
 		bool "Use uClibc"