diff --git a/package/opkg/Makefile b/package/opkg/Makefile
index 25cdc524c6d999527b7043bfc51b8d8b9f45a959..0b07d5b49965d2957be55ba045f57704b465e8c7 100644
--- a/package/opkg/Makefile
+++ b/package/opkg/Makefile
@@ -46,6 +46,7 @@ define Package/opkg/conffiles
 endef
 
 TARGET_CFLAGS += $(if $(CONFIG_GCC_VERSION_4_3)$(CONFIG_GCC_VERSION_4_4),-Wno-array-bounds)
+TARGET_CFLAGS += -ffunction-sections -fdata-sections
 EXTRA_CFLAGS += $(TARGET_CPPFLAGS)
 
 CONFIGURE_ARGS += \
@@ -59,6 +60,7 @@ define Build/Compile
 		CC="$(TARGET_CC)" \
 		DESTDIR="$(PKG_INSTALL_DIR)" \
 		HOST_CPU="$(PKGARCH)" \
+		LDFLAGS="-Wl,--gc-sections" \
 		all install
 endef