diff options
author | Davide Grohmann <davide.grohmann@arm.com> | 2022-08-15 17:11:54 +0200 |
---|---|---|
committer | Davide Grohmann <davide.grohmann@arm.com> | 2022-08-17 16:10:43 +0200 |
commit | 244a9b8514d066a457574b73ef82cc5925148fc2 (patch) | |
tree | 188fad38a0af95faab9b6da94e795eb09ce57412 | |
parent | ec72e9bc21a6b0c03b424ab882652e96c2b291b4 (diff) | |
download | ethos-u-core-platform-244a9b8514d066a457574b73ef82cc5925148fc2.tar.gz |
Make sure that unused symbols are dropped when using GCC22.08-rc2
Add compiler and linker options to add each symbols in its own section
so unused one can be dropped.
Also adds missing noexcept
Change-Id: I9143ae5865c4a071c6e09d14eb08ce3069b4b2db
-rw-r--r-- | applications/message_handler/lib/freertos_allocator.cpp | 8 | ||||
-rw-r--r-- | cmake/toolchain/arm-none-eabi-gcc.cmake | 6 |
2 files changed, 9 insertions, 5 deletions
diff --git a/applications/message_handler/lib/freertos_allocator.cpp b/applications/message_handler/lib/freertos_allocator.cpp index c7fdba6..883ada8 100644 --- a/applications/message_handler/lib/freertos_allocator.cpp +++ b/applications/message_handler/lib/freertos_allocator.cpp @@ -28,18 +28,18 @@ void *operator new[](size_t size) { return pvPortMalloc(size); } -void operator delete(void *ptr) { +void operator delete(void *ptr) noexcept { vPortFree(ptr); } -void operator delete(void *ptr, std::size_t) { +void operator delete(void *ptr, std::size_t) noexcept { vPortFree(ptr); } -void operator delete[](void *ptr) { +void operator delete[](void *ptr) noexcept { vPortFree(ptr); } -void operator delete[](void *ptr, std::size_t) { +void operator delete[](void *ptr, std::size_t) noexcept { vPortFree(ptr); } diff --git a/cmake/toolchain/arm-none-eabi-gcc.cmake b/cmake/toolchain/arm-none-eabi-gcc.cmake index ce54cd5..492abc5 100644 --- a/cmake/toolchain/arm-none-eabi-gcc.cmake +++ b/cmake/toolchain/arm-none-eabi-gcc.cmake @@ -52,7 +52,9 @@ add_compile_options( -mcpu=${GCC_CPU} -mthumb "$<$<CONFIG:DEBUG>:-gdwarf-3>" - "$<$<COMPILE_LANGUAGE:CXX>:-fno-unwind-tables;-fno-rtti;-fno-exceptions>") + "$<$<COMPILE_LANGUAGE:CXX>:-fno-unwind-tables;-fno-rtti;-fno-exceptions>" + -fdata-sections + -ffunction-sections) # Compile defines add_compile_definitions( @@ -88,6 +90,8 @@ if (FLOAT) add_link_options(-mfloat-abi=${FLOAT}) endif() +add_link_options(LINKER:--nmagic,--gc-sections) + # Compilation warnings add_compile_options( -Wall |