← Commit list

401de648a

Denis Vlasenko
Denis Vlasenko
2008-06-06
FAILED Duration: 23s

Subject

Build system: track -Wl,-elf2flt in CFLAGS_busybox too. Document in comments that it generally should be thers, not in LDFLAGS

Binary

No binary (build failed)

Architecture & Compiler Flags

Architecture: x86_64-linux-gnu Compiler: gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0

—

Build Log

(log yok)

Commit Diff GitHub →

Makefile.flags+7 -2
@@ -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
scripts/Makefile.lib+3 -0
@@ -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 $@