- Avoid a call to the protected method `get_stack()` which cause a build fail.
- Remove the constructor definition `TCPServer(NetworkStack *stack)`
because it has no implementation.
In rtos/rtx/TARGET_CORTEX_M/RTX_CM_lib.h, Image$$ARM_LIB_HEAP$$Base/Image$$ARM_LIB_HEAP$$Length will cause zero memory allocation.
Fix it with Image$$ARM_LIB_HEAP$$ZI$$Base/Image$$ARM_LIB_HEAP$$ZI$$Length. This is to place heap at external SRAM.
Implement the functions __cxa_guard_acquire, __cxa_guard_release and
__cxa_guard_abort so lazily initialized function-local static objects
are done so in a thread safe manner in GCC.
* provide missing member functions from control_t in base_control_t
* construction of control_t from reference of base_control_t instead of
value.
* overload operator+ for all permutations between control_t and
base_control_t.
That way it is not a global object anymore and is not attached to the
.init section and init array. If the function which contain the object is
not called then the serial object will not be present in the final binary.
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 <tung7970@gmail.com>
- Corrected handling, before errors would forcibly restart the
accept loop without checks for timeouts
- Rearranged accept logic to match the logic of
recv/send/recvfrom/sendto