summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile.flags9
-rw-r--r--scripts/Makefile.lib3
2 files changed, 10 insertions, 2 deletions
diff --git a/Makefile.flags b/Makefile.flags
index cb2c878..e940547 100644
--- a/Makefile.flags
+++ b/Makefile.flags
@@ -91,8 +91,13 @@ ifeq ($(CONFIG_DMALLOC),y)
LDLIBS += dmalloc
endif
-LDFLAGS_ELF2FLT = -Wl,-elf2flt
-ifneq (,$(findstring $(LDFLAGS_ELF2FLT),$(LDFLAGS)))
+# If a flat binary should be built, CFLAGS_busybox="-Wl,-elf2flt"
+# env var should be set for make invocation.
+# Here we check whether CFLAGS_busybox indeed contains that flag.
+# (For historical reasons, we also check LDFLAGS, which doesn't
+# seem to be entirely correct variable to put "-Wl,-elf2flt" into).
+W_ELF2FLT = -Wl,-elf2flt
+ifneq (,$(findstring $(W_ELF2FLT),$(LDFLAGS) $(CFLAGS_busybox)))
SKIP_STRIP = y
endif
diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
index e1e0ba4..22c6430 100644
--- a/scripts/Makefile.lib
+++ b/scripts/Makefile.lib
@@ -117,6 +117,7 @@ a_flags = -Wp,-MD,$(depfile) $(NOSTDINC_FLAGS) $(CPPFLAGS) \
cpp_flags = -Wp,-MD,$(depfile) $(NOSTDINC_FLAGS) $(__cpp_flags)
+# TODO: seems to be a wrong thing to do! LDFLAGS contains gcc's flags!
ld_flags = $(LDFLAGS) $(EXTRA_LDFLAGS)
# Finds the multi-part object the current object will be linked into
@@ -146,6 +147,8 @@ $(obj)/%:: $(src)/%_shipped
# Linking
# ---------------------------------------------------------------------------
+# TODO: LDFLAGS usually is supposed to contain gcc's flags, not ld's.
+# but here we feed them to ld!
quiet_cmd_ld = LD $@
cmd_ld = $(LD) $(LDFLAGS) $(EXTRA_LDFLAGS) $(LDFLAGS_$(@F)) \
$(filter-out FORCE,$^) -o $@