diff --git a/workspace_tools/export/gcc_arm_efm32gg_stk3700.tmpl b/workspace_tools/export/gcc_arm_efm32gg_stk3700.tmpl
index 7973f2716d..5a3920aabe 100644
--- a/workspace_tools/export/gcc_arm_efm32gg_stk3700.tmpl
+++ b/workspace_tools/export/gcc_arm_efm32gg_stk3700.tmpl
@@ -23,7 +23,7 @@ OBJDUMP = $(GCC_BIN)arm-none-eabi-objdump
SIZE = $(GCC_BIN)arm-none-eabi-size
CPU = -mcpu=cortex-m3 -mthumb
-CC_FLAGS = $(CPU) -c -g -fno-common -fmessage-length=0 -Wall -fno-exceptions -ffunction-sections -fdata-sections
+CC_FLAGS = $(CPU) -c -g -fno-common -fmessage-length=0 -Wall -fno-exceptions -ffunction-sections -fdata-sections -fno-common -fomit-frame-pointer
CC_FLAGS += -MMD -MP
ifeq ($(DEBUG), 1)
diff --git a/workspace_tools/export/gcc_arm_efm32hg_stk3400.tmpl b/workspace_tools/export/gcc_arm_efm32hg_stk3400.tmpl
index c15810f75c..b45dc6469e 100644
--- a/workspace_tools/export/gcc_arm_efm32hg_stk3400.tmpl
+++ b/workspace_tools/export/gcc_arm_efm32hg_stk3400.tmpl
@@ -23,7 +23,7 @@ OBJDUMP = $(GCC_BIN)arm-none-eabi-objdump
SIZE = $(GCC_BIN)arm-none-eabi-size
CPU = -mcpu=cortex-m0plus -mthumb
-CC_FLAGS = $(CPU) -c -g -fno-common -fmessage-length=0 -Wall -fno-exceptions -ffunction-sections -fdata-sections
+CC_FLAGS = $(CPU) -c -g -fno-common -fmessage-length=0 -Wall -fno-exceptions -ffunction-sections -fdata-sections -fno-common -fomit-frame-pointer
CC_FLAGS += -MMD -MP
ifeq ($(DEBUG), 1)
diff --git a/workspace_tools/export/gcc_arm_efm32lg_stk3600.tmpl b/workspace_tools/export/gcc_arm_efm32lg_stk3600.tmpl
index 7973f2716d..5a3920aabe 100644
--- a/workspace_tools/export/gcc_arm_efm32lg_stk3600.tmpl
+++ b/workspace_tools/export/gcc_arm_efm32lg_stk3600.tmpl
@@ -23,7 +23,7 @@ OBJDUMP = $(GCC_BIN)arm-none-eabi-objdump
SIZE = $(GCC_BIN)arm-none-eabi-size
CPU = -mcpu=cortex-m3 -mthumb
-CC_FLAGS = $(CPU) -c -g -fno-common -fmessage-length=0 -Wall -fno-exceptions -ffunction-sections -fdata-sections
+CC_FLAGS = $(CPU) -c -g -fno-common -fmessage-length=0 -Wall -fno-exceptions -ffunction-sections -fdata-sections -fno-common -fomit-frame-pointer
CC_FLAGS += -MMD -MP
ifeq ($(DEBUG), 1)
diff --git a/workspace_tools/export/gcc_arm_efm32wg_stk3800.tmpl b/workspace_tools/export/gcc_arm_efm32wg_stk3800.tmpl
index 7973f2716d..5a3920aabe 100644
--- a/workspace_tools/export/gcc_arm_efm32wg_stk3800.tmpl
+++ b/workspace_tools/export/gcc_arm_efm32wg_stk3800.tmpl
@@ -23,7 +23,7 @@ OBJDUMP = $(GCC_BIN)arm-none-eabi-objdump
SIZE = $(GCC_BIN)arm-none-eabi-size
CPU = -mcpu=cortex-m3 -mthumb
-CC_FLAGS = $(CPU) -c -g -fno-common -fmessage-length=0 -Wall -fno-exceptions -ffunction-sections -fdata-sections
+CC_FLAGS = $(CPU) -c -g -fno-common -fmessage-length=0 -Wall -fno-exceptions -ffunction-sections -fdata-sections -fno-common -fomit-frame-pointer
CC_FLAGS += -MMD -MP
ifeq ($(DEBUG), 1)
diff --git a/workspace_tools/export/gcc_arm_efm32zg_stk3200.tmpl b/workspace_tools/export/gcc_arm_efm32zg_stk3200.tmpl
index c15810f75c..b45dc6469e 100644
--- a/workspace_tools/export/gcc_arm_efm32zg_stk3200.tmpl
+++ b/workspace_tools/export/gcc_arm_efm32zg_stk3200.tmpl
@@ -23,7 +23,7 @@ OBJDUMP = $(GCC_BIN)arm-none-eabi-objdump
SIZE = $(GCC_BIN)arm-none-eabi-size
CPU = -mcpu=cortex-m0plus -mthumb
-CC_FLAGS = $(CPU) -c -g -fno-common -fmessage-length=0 -Wall -fno-exceptions -ffunction-sections -fdata-sections
+CC_FLAGS = $(CPU) -c -g -fno-common -fmessage-length=0 -Wall -fno-exceptions -ffunction-sections -fdata-sections -fno-common -fomit-frame-pointer
CC_FLAGS += -MMD -MP
ifeq ($(DEBUG), 1)
diff --git a/workspace_tools/export/simplicityv3_slsproj.tmpl b/workspace_tools/export/simplicityv3_slsproj.tmpl
index 0e3109a157..ac4d35519f 100644
--- a/workspace_tools/export/simplicityv3_slsproj.tmpl
+++ b/workspace_tools/export/simplicityv3_slsproj.tmpl
@@ -62,8 +62,10 @@
{# For debug build, don't apply optimizations #}
+
+
-
+
@@ -105,8 +107,10 @@
{# Use optimize for size on release build #}
+
+
-
+