# 
# This is a placeholder file.  It does nothing and is not used.
# 
# If you are seeing this file as your linker script (named linker.map), then
# either 1) the configuration process determined that symbol versioning should
# not be done, or 2) you specifically turned it off.
# 
