ldscripts/data: Provide aliases for some important symbols.

Some symbols are expected to exist with different names depending
on the C runtime used or startup code provided by the RTOS.

This patch adds alternate names for some of them.

Signed-off-by: Joakim Gebart <joakim.gebart@eistec.se>
C++ runtime support

Adds support for C++ static and global objects, including constructor
calling during startup.

Signed-off-by: Joakim Gebart <joakim.gebart@eistec.se>
startup/cppsupport: Move cppsupport.cpp to startup dir

cppsupport.cpp contains some helper functions needed by C++ programs for
initialization etc.

Signed-off-by: Joakim Gebart <joakim.gebart@eistec.se>
ldscripts: Place .preinit_array, .init_array and .fini_array in ROM.

.preinit_array will not work unless it is placed in ROM since it is
called before the C initialization which copies the .data section to
RAM. .init_array and .fini_array contains pointers to static constructors
and destructors, at the moment I do not see a use case where they need to
be writable at runtime.

Signed-off-by: Joakim Gebart <joakim.gebart@eistec.se>
startup/core-clocks.cpp: Use .preinit_array to start early RTC.

Add a pointer to core_clocks_init_early to .preinit_array in order
to execute it automatically during early init.

Signed-off-by: Joakim Gebart <joakim.gebart@eistec.se>
Experimental stack smashing protection runtime support.

Implemented the base functions necessary for GCC SSP (-fstack-protector) support.

Signed-off-by: Joakim Gebart <joakim.gebart@eistec.se>
ftdi: Update to v0.70 USB device name.

Updated for new production.

Signed-off-by: Joakim Gebart <joakim.gebart@eistec.se>
Mulle programmer v0.70 config file

Signed-off-by: Joakim Gebart <joakim.gebart@eistec.se>