use HIDDEN macro to export fewer symbols (bug 2210)