This reverts commit r201625 and r201624.

Since r201608 got reverted, it is not safe to use private linkage in these cases
until it is committed back.