From 0d95be055de0d748536a460b0c9f5356b92a70c5 Mon Sep 17 00:00:00 2001 From: Tony Wu Date: Tue, 30 Aug 2016 15:25:08 +0800 Subject: [PATCH] LPC11U6X - Fix multiple definition of operator new/delete Fix the following linker errors: ToolException: ./.build/LPC11U68/GCC_ARM/mbed-os/hal/targets/cmsis/TARGET_NXP/TARGET_LPC11U6X/TOOLCHAIN_GCC_ARM/TARGET_LPC11U68/startup_LPC11U68.o: In function `operator new(unsigned int)': startup_LPC11U68.cpp:(.text._Znwj+0x0): multiple definition of `operator new(unsigned int)' ./.build/LPC11U68/GCC_ARM/mbed-os/hal/common/retarget.o:retarget.cpp:(.text._Znwj+0x0): first defined here ./.build/LPC11U68/GCC_ARM/mbed-os/hal/targets/cmsis/TARGET_NXP/TARGET_LPC11U6X/TOOLCHAIN_GCC_ARM/TARGET_LPC11U68/startup_LPC11U68.o: In function `operator new[](unsigned int)': startup_LPC11U68.cpp:(.text._Znaj+0x0): multiple definition of `operator new[](unsigned int)' ./.build/LPC11U68/GCC_ARM/mbed-os/hal/common/retarget.o:retarget.cpp:(.text._Znaj+0x0): first defined here ./.build/LPC11U68/GCC_ARM/mbed-os/hal/targets/cmsis/TARGET_NXP/TARGET_LPC11U6X/TOOLCHAIN_GCC_ARM/TARGET_LPC11U68/startup_LPC11U68.o: In function `operator delete(void*)': startup_LPC11U68.cpp:(.text._ZdlPv+0x0): multiple definition of `operator delete(void*)' ./.build/LPC11U68/GCC_ARM/mbed-os/hal/common/retarget.o:retarget.cpp:(.text._ZdlPv+0x0): first defined here ./.build/LPC11U68/GCC_ARM/mbed-os/hal/targets/cmsis/TARGET_NXP/TARGET_LPC11U6X/TOOLCHAIN_GCC_ARM/TARGET_LPC11U68/startup_LPC11U68.o: In function `operator delete[](void*)': startup_LPC11U68.cpp:(.text._ZdaPv+0x0): multiple definition of `operator delete[](void*)' ./.build/LPC11U68/GCC_ARM/mbed-os/hal/common/retarget.o:retarget.cpp:(.text._ZdaPv+0x0): first defined here collect2: error: ld returned 1 exit status Signed-off-by: Tony Wu --- .../TARGET_LPC11U68/startup_LPC11U68.cpp | 8 -------- 1 file changed, 8 deletions(-) diff --git a/hal/targets/cmsis/TARGET_NXP/TARGET_LPC11U6X/TOOLCHAIN_GCC_ARM/TARGET_LPC11U68/startup_LPC11U68.cpp b/hal/targets/cmsis/TARGET_NXP/TARGET_LPC11U6X/TOOLCHAIN_GCC_ARM/TARGET_LPC11U68/startup_LPC11U68.cpp index 8a716d2da0..fbbe1e9a20 100644 --- a/hal/targets/cmsis/TARGET_NXP/TARGET_LPC11U6X/TOOLCHAIN_GCC_ARM/TARGET_LPC11U68/startup_LPC11U68.cpp +++ b/hal/targets/cmsis/TARGET_NXP/TARGET_LPC11U6X/TOOLCHAIN_GCC_ARM/TARGET_LPC11U68/startup_LPC11U68.cpp @@ -171,11 +171,3 @@ AFTER_VECTORS void IntDefaultHandler (void) {} int __aeabi_atexit(void *object, void (*destructor)(void *), void *dso_handle) {return 0;} } - -#include - -void *operator new(size_t size) {return malloc(size);} -void *operator new[](size_t size){return malloc(size);} - -void operator delete(void *p) {free(p);} -void operator delete[](void *p) {free(p);}