You copied the Doc URL to your clipboard.

3.31 __attribute__((weak)) variable attribute

Generates a weak symbol for a variable, rather than the default strong symbol.

extern int foo __attribute__((weak));

At link time, strong symbols override weak symbols. This lets you replace a weak symbol with a strong symbol by choosing a particular combination of object files to link.