aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile4
-rw-r--r--Makefile.custom3
-rw-r--r--Makefile.flags9
3 files changed, 12 insertions, 4 deletions
diff --git a/Makefile b/Makefile
index 341bd7d5d..4a87573b7 100644
--- a/Makefile
+++ b/Makefile
@@ -677,8 +677,12 @@ busybox_unstripped: $(busybox-all) FORCE
$(Q)rm -f .old_version
busybox: busybox_unstripped
+ifeq ($(SKIP_STRIP),y)
+ $(Q)cp $< $@
+else
$(Q)$(STRIP) -s --remove-section=.note --remove-section=.comment \
busybox_unstripped -o $@
+endif
# The actual objects are generated when descending,
# make sure no implicit rule kicks in
diff --git a/Makefile.custom b/Makefile.custom
index cf3d14321..bb5977697 100644
--- a/Makefile.custom
+++ b/Makefile.custom
@@ -2,9 +2,6 @@
# Build system
# ==========================================================================
-%.bflt: %_unstripped
- $(CROSS_COMPILE)elf2flt $(ELF2FLTFLAGS) $< -o $@
-
busybox.links: $(srctree)/applets/busybox.mkll $(objtree)/include/autoconf.h $(srctree)/include/applets.h
$(Q)-$(SHELL) $^ >$@
diff --git a/Makefile.flags b/Makefile.flags
index 322e43792..c9b713b02 100644
--- a/Makefile.flags
+++ b/Makefile.flags
@@ -3,6 +3,7 @@
# ==========================================================================
BB_VER = $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)
+SKIP_STRIP = n
# -std=gnu99 needed for [U]LLONG_MAX on some systems
CPPFLAGS += $(call cc-option,-std=gnu99,)
@@ -69,6 +70,12 @@ endif
#LDFLAGS += -nostdlib
+LDFLAGS_ELF2FLT = -Wl,-elf2flt
+ifneq (,$(findstring $(LDFLAGS_ELF2FLT),$(LDFLAGS)))
+SKIP_STRIP = y
+endif
+
# Busybox is a stack-fatty so make sure we increase default size
-# (TODO: use "make stksizes" to find & fix big stack users)
+# TODO: use "make stksizes" to find & fix big stack users; should
+# just steal scripts/checkstack.pl from the kernel ...
FLTFLAGS += -s 20000