summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--Makefile13
-rw-r--r--Makefile.flags5
2 files changed, 6 insertions, 12 deletions
diff --git a/Makefile b/Makefile
index 7b87cb7f9..cc1fd305b 100644
--- a/Makefile
+++ b/Makefile
@@ -273,8 +273,8 @@ MAKEFLAGS += -rR
# Make variables (CC, etc...)
AS = $(CROSS_COMPILE)as
-LD = $(CROSS_COMPILE)gcc -nostdlib
CC = $(CROSS_COMPILE)gcc
+LD = $(CROSS_COMPILE)ld
CPP = $(CC) -E
AR = $(CROSS_COMPILE)ar
NM = $(CROSS_COMPILE)nm
@@ -529,7 +529,6 @@ libs-y1 := $(patsubst %/, %/lib.a, $(libs-y))
libs-y2 := $(patsubst %/, %/built-in.o, $(libs-y))
libs-y := $(libs-y1) $(libs-y2)
-
# Build busybox
# ---------------------------------------------------------------------------
# busybox is build from the objects selected by $(busybox-init) and
@@ -562,18 +561,10 @@ busybox-all := $(core-y) $(libs-y)
# Rule to link busybox - also used during CONFIG_KALLSYMS
# May be overridden by arch/$(ARCH)/Makefile
quiet_cmd_busybox__ ?= LINK $@
-ifdef CONFIG_STATIC
- cmd_busybox__ ?= $(srctree)/scripts/trylink $(CC) $(LDFLAGS) \
- -static \
- -o $@ \
- -Wl,--warn-common -Wl,--sort-common -Wl,--gc-sections \
- -Wl,--start-group $(busybox-all) -Wl,--end-group
-else
- cmd_busybox__ ?= $(srctree)/scripts/trylink $(CC) $(LDFLAGS) \
+ cmd_busybox__ ?= $(srctree)/scripts/trylink $(CC) $(patsubst %,-Wl$(comma)%,$(LDFLAGS)) \
-o $@ \
-Wl,--warn-common -Wl,--sort-common -Wl,--gc-sections \
-Wl,--start-group $(busybox-all) -Wl,--end-group
-endif
# Generate System.map
quiet_cmd_sysmap = SYSMAP
diff --git a/Makefile.flags b/Makefile.flags
index 0261d34df..7dd9dc5dd 100644
--- a/Makefile.flags
+++ b/Makefile.flags
@@ -23,6 +23,9 @@ CFLAGS += \
ifeq ($(CONFIG_DEBUG),y)
CFLAGS += -g
-LDFLAGS += -g
endif
+ifeq ($(CONFIG_STATIC),y)
+LDFLAGS += -static
+endif
+LDFLAGS += -nostdlib