Change weak target family descriptors to references
This change replaces the default weak family descriptor structs (each taking up the full family descriptor size) in target_family.c with weak references. The purpose is to save .rodata space.
/morph test
Can you check test failures to proceed here?
/morph test
/morph test
/morph test
/morph test
/morph test
/morph test
/morph test
I think this PR has gotten stale. A lot has been merged to develop, but changing
__attribute__((weak)) const target_family_descriptor_t g_xxxxx = {0};
to
extern __WEAK const target_family_descriptor_t g_xxxx;
caused some issue with armcc so it was backed out (see [fb4b2292981671c6441d08eec8e51c3a685f4390]).