5.47.7 Weak Pragmas
For compatibility with SVR4, GCC supports a set of #pragma
directives for declaring symbols to be weak, and defining weak
aliases.
#pragma weak
symbol- This pragma declares symbol to be weak, as if the declaration
had the attribute of the same name. The pragma may appear before
or after the declaration of symbol, but must appear before
either its first use or its definition. It is not an error for
symbol to never be defined at all.
#pragma weak
symbol1 =
symbol2- This pragma declares symbol1 to be a weak alias of symbol2.
It is an error if symbol2 is not defined in the current
translation unit.