Make references to __{start,stop}___{markers,tracepoints} weak
When using the linker script approach for initialization of the libust
library we unconditionally call __markers_init()/__tracepoints_init().
If one is using only tracepoints or only markers the init call fails
because of undefined references to the linker generated symbols for the
__markers or __tracepoints section (__start___markers, ...). Since we use
the symbols just for the size and the start of the section it is safe to
use weak symbols in this case: if the size if zero nothing get read anyway.