https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103629
--- Comment #7 from Mathieu Malaterre <mathieu.malaterre at gmail dot com> --- (In reply to Andrew Pinski from comment #6) > (In reply to Mathieu Malaterre from comment #5) > > (In reply to Andrew Pinski from comment #4) > > > (In reply to Mathieu Malaterre from comment #3) > > > > $ export CXXFLAGS=-fvisibility=hidden > > > > > > Yes you can't just use -fvisibility=hidden without the source being ready > > > for it. > > > > Andrew, could you please be a bit more specific. I do not see any changes > > related to duplicate `typeinfo` or `visibility=hidden` in the changelog: > > > > * https://gcc.gnu.org/gcc-11/changes.html > > right there has been no major changes in this area as far as I Know. > > > > > `-fvisibility=hidden` was added in 2015 in the Debian/OpenVDB package and > > has worked quite well for all users so far. It would be nice if gcc/ld would > > help track any `type_info` issue, in large portable c++ codebase. > > It was working by accident before. Do you know why it was added? Has the > code upstream in OpenVDB been fixed for adding the visibility attribute > where needed? OpenVDB is supposed to be /portable/ c++. The dll export mechanism has been working on windows arch since basically day-one. The gcc implementation is at: * https://github.com/AcademySoftwareFoundation/openvdb/blob/master/openvdb/openvdb/Platform.h#L218-L219 IMHO this is following the wiki from: * https://gcc.gnu.org/wiki/Visibility