diff options
-rw-r--r-- | Makefile.toolchain | 2 | ||||
-rw-r--r-- | core/cortex-m/ec.lds.S | 8 |
2 files changed, 10 insertions, 0 deletions
diff --git a/Makefile.toolchain b/Makefile.toolchain index fe7bfd7a83..8286be1e7c 100644 --- a/Makefile.toolchain +++ b/Makefile.toolchain @@ -115,6 +115,8 @@ C_WARN = -Wstrict-prototypes -Wdeclaration-after-statement -Wno-pointer-sign COMMON_WARN = -Wall -Wundef -Werror-implicit-function-declaration \ -Wno-trigraphs -Wno-format-security -Wno-address-of-packed-member \ -fno-common -fno-strict-aliasing -fno-strict-overflow +# See https://www.chromium.org/chromium-os/build/c-exception-support +COMMON_WARN+=-fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables ifndef ALLOW_WARNINGS COMMON_WARN+=-Werror diff --git a/core/cortex-m/ec.lds.S b/core/cortex-m/ec.lds.S index 8580e366b7..f5679a97f6 100644 --- a/core/cortex-m/ec.lds.S +++ b/core/cortex-m/ec.lds.S @@ -347,6 +347,14 @@ SECTIONS . = ALIGN(64); KEEP(*(.google)) #endif + /* + * Empty C++ exception index table. The exception index + * table is described in more detail in "Exception Handling + * ABI for ARM Architecture": + * https://github.com/ARM-software/abi-aa/blob/60a8eb8c55e999d74dac5e368fc9d7e36e38dda4/ehabi32/ehabi32.rst#54the-object-producer-interface + */ + __exidx_start = 0; + __exidx_end = 0; . = ALIGN(4); } > EC_IMAGE_VMA_MEM_REGION AT > EC_IMAGE_LMA_MEM_REGION |