5.49.8 Weak Pragmas
For compatibility with SVR4, GCC supports a set of #pragma directives for declaring symbols to be weak, and defining weak aliases.
-
#pragma weaksymbol -
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 weaksymbol1=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.