This adds a new -Bsymbolic option that directly binds all non-weak
symbols. There's a couple of reasons motivating this:
- The new flag will match the default behavior on Mach-O, so you can get consistent behavior across platforms.
- We have use cases for which making weak data preemptible is useful, but we don't want to pessimize access to non-weak data. (For a large internal app, we measured 2000+ data symbols whose accesses would be unnecessarily pessimized by -Bsymbolic-functions.)