When creating a shared library, we can control the visibility of the symbols. See Visibility - GCC Wiki.

This effectively means that a function symbol that would’ve been public (“T”) in the generated DSO would now be local (“t”). Similarly, a public variable (“D”) would now be local (“d”)