summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVincent Palatin <vpalatin@chromium.org>2015-05-01 15:57:22 -0700
committerChromeOS Commit Bot <chromeos-commit-bot@chromium.org>2015-05-15 19:15:32 +0000
commit24f4e36d828f0029bcc62577684718f9dd3e3f74 (patch)
tree73b7a07e0d8a9292ffc9dcf4eba9eca79d331b18
parent91b9c336eee36c1ad6fe045b683852e318dbc7cf (diff)
downloadchrome-ec-24f4e36d828f0029bcc62577684718f9dd3e3f74.tar.gz
Use GCC instead of LD to trigger the linker
Invoke the linker through gcc rather than directly with ld. This will allow us to use some more advanced features : e.g. LTO. Signed-off-by: Vincent Palatin <vpalatin@chromium.org> BUG=none BRANCH=none TEST=make buildall then compare manually old and new binaries Change-Id: I101b1edbaebd5628624a5a8c12d5c0b5fa9e2c50 Reviewed-on: https://chromium-review.googlesource.com/271290 Tested-by: Vincent Palatin <vpalatin@chromium.org> Reviewed-by: Alec Berg <alecaberg@chromium.org> Reviewed-by: Randall Spangler <rspangler@chromium.org> Commit-Queue: Vincent Palatin <vpalatin@chromium.org> Trybot-Ready: Vincent Palatin <vpalatin@chromium.org>
-rw-r--r--Makefile.rules12
-rw-r--r--Makefile.toolchain2
2 files changed, 7 insertions, 7 deletions
diff --git a/Makefile.rules b/Makefile.rules
index 958e116311..96d2465078 100644
--- a/Makefile.rules
+++ b/Makefile.rules
@@ -45,7 +45,7 @@ cmd_elf_to_dis = $(OBJDUMP) -D $< > $@
cmd_elf_to_hex = $(OBJCOPY) -O ihex $< $@
cmd_bin_to_hex = $(OBJCOPY) -I binary -O ihex \
--change-addresses $(_flash_base) $^ $@
-cmd_elf = $(LD) $(objs) $(LDFLAGS) -o $@ -T $< -Map $(out)/$*.map
+cmd_elf = $(CC) $(objs) $(LDFLAGS) -o $@ -Wl,-T,$< -Wl,-Map,$(out)/$*.map
cmd_smap = $(NM) $< | sort > $@
cmd_exe = $(CC) $(objs) $(HOST_TEST_LDFLAGS) -o $@
cmd_c_to_o = $(CC) $(CFLAGS) -MMD -MF $@.d -c $< -o $@
@@ -251,9 +251,9 @@ $(npcx-flash-fw-bin):
-@ mkdir -p $(@D)
-@ $(CC) $(CFLAGS) -MMD -MF $(out)/$(npcx-lfw).d -c $(npcx-flash-fw).c \
-o $(out)/$(npcx-flash-fw).o
- -@ $(LD) $(out)/$(npcx-flash-fw).o $(LDFLAGS) \
- -o $(out)/$(npcx-flash-fw).elf -T $(npcx-flash-fw).ld \
- -Map $(out)/$(npcx-flash-fw).map
+ -@ $(CC) $(out)/$(npcx-flash-fw).o $(LDFLAGS) \
+ -o $(out)/$(npcx-flash-fw).elf -Wl,-T,$(npcx-flash-fw).ld \
+ -Wl,-Map,$(out)/$(npcx-flash-fw).map
-@ $(OBJCOPY) -O binary $(out)/$(npcx-flash-fw).elf $@
# TODO: optional make rules for PROJECT_EXTRA
@@ -262,8 +262,8 @@ $(npcx-lfw-bin):
-@ mkdir -p $(@D)
-@ $(CC) $(CFLAGS) -MMD -MF $(out)/$(npcx-lfw).d -c $(npcx-lfw).c \
-o $(out)/$(npcx-lfw).o
- -@ $(LD) $(out)/$(npcx-lfw).o $(LDFLAGS) -o $(out)/$(npcx-lfw).elf \
- -T $(npcx-lfw).ld -Map $(out)/$(npcx-lfw).map
+ -@ $(CC) $(out)/$(npcx-lfw).o $(LDFLAGS) -o $(out)/$(npcx-lfw).elf \
+ -Wl,-T,$(npcx-lfw).ld -Wl,-Map,$(out)/$(npcx-lfw).map
-@ $(OBJCOPY) -O binary $(out)/$(npcx-lfw).elf $@
.PHONY: xrefs
diff --git a/Makefile.toolchain b/Makefile.toolchain
index db8a640372..8beb7b2c0f 100644
--- a/Makefile.toolchain
+++ b/Makefile.toolchain
@@ -55,7 +55,7 @@ LIBFTDI_LDLIBS=$(shell $(PKG_CONFIG) --libs lib${LIBFTDI_NAME})
BUILD_CFLAGS= $(LIBFTDI_CFLAGS) $(CPPFLAGS) -O3 $(CFLAGS_DEBUG) $(CFLAGS_WARN)
HOST_CFLAGS=$(CPPFLAGS) -O3 $(CFLAGS_DEBUG) $(CFLAGS_WARN) -DHOST_TOOLS_BUILD
-LDFLAGS=-nostdlib -X --gc-sections
+LDFLAGS=-nostdlib -Wl,-X -Wl,--gc-sections -Wl,--build-id=none
BUILD_LDFLAGS=$(LIBFTDI_LDLIBS)
HOST_TEST_LDFLAGS=-T core/host/host_exe.lds -lrt -pthread -rdynamic -lm\
$(if $(TEST_COVERAGE),-fprofile-arcs,)