diff options
-rw-r--r-- | Makefile.rules | 2 | ||||
-rw-r--r-- | Makefile.toolchain | 4 | ||||
-rw-r--r-- | core/host/build.mk | 4 |
3 files changed, 7 insertions, 3 deletions
diff --git a/Makefile.rules b/Makefile.rules index 8cd04edf38..0cdd724c9d 100644 --- a/Makefile.rules +++ b/Makefile.rules @@ -64,7 +64,7 @@ export STATIC_VERSION # a ccache issue. # commands to build all targets -cmd_libec = $(LD) -r $^ -o $@.1.o ${silent_err} && \ +cmd_libec = $(LD) -r $(LD_R_FLAGS) $^ -o $@.1.o ${silent_err} && \ $(OBJCOPY) --localize-hidden $@.1.o $@.2.o ${silent_err} && \ $(AR) scr $@ $@.2.o ${silent_err} cmd_lds = $(CPP) -P -C -MMD -MF $@.d -MT $@ $(CPPFLAGS) $< -o $@ diff --git a/Makefile.toolchain b/Makefile.toolchain index e39a1c3016..fe7c9be5b9 100644 --- a/Makefile.toolchain +++ b/Makefile.toolchain @@ -95,11 +95,13 @@ BUILD_CPPFLAGS=$(CFLAGS_DEFINE) -Icore/host $(CFLAGS_INCLUDE) $(CFLAGS_TEST) \ HOST_CPPFLAGS=$(CFLAGS_DEFINE) $(CFLAGS_INCLUDE) $(CFLAGS_TEST) \ $(EXTRA_CFLAGS) $(CFLAGS_COVERAGE) $(CFLAGS_HOSTTEST) $(LATE_CFLAGS_DEFINE) \ -DSECTION_IS_$(BLD)=$(EMPTY) -DSECTION=$(BLD) $(CPPFLAGS_$(BLD)) +LD_R_FLAGS= ifneq ($(BOARD),host) CPPFLAGS+=-ffreestanding -fno-builtin -nostdinc -nostdlib CPPFLAGS+=-Ibuiltin/ else CPPFLAGS+=-Og +LD_R_FLAGS=-m elf_i386 endif CPPFLAGS+= -DCHROMIUM_EC=$(EMPTY) CFLAGS=$(CPPFLAGS) $(CFLAGS_CPU) $(CFLAGS_DEBUG) $(COMMON_WARN) $(CFLAGS_y) @@ -147,7 +149,7 @@ LDFLAGS=-nostdlib -g -Wl,-X -Wl,--gc-sections -Wl,--build-id=none \ BUILD_LDFLAGS=$(LIBFTDIUSB_LDLIBS) HOST_LDFLAGS=$(LIBFTDIUSB_LDLIBS) HOST_TEST_LDFLAGS=-Wl,-T core/host/host_exe.lds -lrt -pthread -rdynamic -lm\ - -fuse-ld=bfd \ + -fuse-ld=bfd -m32 \ $(if $(TEST_COVERAGE), --coverage,) \ $(if $(TEST_ASAN), -fsanitize=address) \ $(if $(TEST_MSAN), -fsanitize=memory) \ diff --git a/core/host/build.mk b/core/host/build.mk index 503aa5538a..8aaa01eaa2 100644 --- a/core/host/build.mk +++ b/core/host/build.mk @@ -6,6 +6,8 @@ # emulator specific files build # -CFLAGS_CPU=-fno-builtin +# Build host board in 32-bit mode for a better chance of catching things like +# 64-bit write tearing. +CFLAGS_CPU=-fno-builtin -m32 core-y=main.o task.o timer.o panic.o disabled.o stack_trace.o |