diff --git a/boards/sim/sim/sim/configs/cxxtest/Make.defs b/boards/sim/sim/sim/configs/cxxtest/Make.defs index 53fe2d56dc4..47f169a7493 100644 --- a/boards/sim/sim/sim/configs/cxxtest/Make.defs +++ b/boards/sim/sim/sim/configs/cxxtest/Make.defs @@ -60,6 +60,11 @@ ARCHINCLUDES = -I. -isystem $(TOPDIR)/include ARCHINCLUDESXX = -I. -isystem $(TOPDIR)/include -isystem $(TOPDIR)/include/cxx -isystem $(TOPDIR)/include/uClibc++ ARCHSCRIPT = +# Add -fno-common because macOS "ld -r" doesn't seem to pick objects +# for common symbols. +ARCHCPUFLAGS += -fno-common +ARCHCPUFLAGSXX += -fno-common + ifeq ($(CONFIG_SIM_M32),y) ARCHCPUFLAGS += -m32 ARCHCPUFLAGSXX += -m32 diff --git a/boards/sim/sim/sim/configs/nsh2/Make.defs b/boards/sim/sim/sim/configs/nsh2/Make.defs index b00ada0bfbc..680efd6df75 100644 --- a/boards/sim/sim/sim/configs/nsh2/Make.defs +++ b/boards/sim/sim/sim/configs/nsh2/Make.defs @@ -57,6 +57,11 @@ ARCHINCLUDES = -I. -isystem $(TOPDIR)/include ARCHINCLUDESXX = -I. -isystem $(TOPDIR)/include -isystem $(TOPDIR)/include/cxx ARCHSCRIPT = +# Add -fno-common because macOS "ld -r" doesn't seem to pick objects +# for common symbols. +ARCHCPUFLAGS += -fno-common +ARCHCPUFLAGSXX += -fno-common + ifeq ($(CONFIG_SIM_M32),y) ARCHCPUFLAGS += -m32 ARCHCPUFLAGSXX += -m32 diff --git a/boards/sim/sim/sim/scripts/Make.defs b/boards/sim/sim/sim/scripts/Make.defs index 9eb3d13c2ea..b1fca660d4d 100644 --- a/boards/sim/sim/sim/scripts/Make.defs +++ b/boards/sim/sim/sim/scripts/Make.defs @@ -63,6 +63,11 @@ ARCHINCLUDES = -I. -isystem $(TOPDIR)/include ARCHINCLUDESXX = -I. -isystem $(TOPDIR)/include -isystem $(TOPDIR)/include/cxx ARCHSCRIPT = +# Add -fno-common because macOS "ld -r" doesn't seem to pick objects +# for common symbols. +ARCHCPUFLAGS += -fno-common +ARCHCPUFLAGSXX += -fno-common + ifeq ($(CONFIG_SIM_M32),y) ARCHCPUFLAGS += -m32 ARCHCPUFLAGSXX += -m32