-
Notifications
You must be signed in to change notification settings - Fork 129
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Bug #25835560: SET DEFAULT SYMBOL VISIBILITY TO HIDDEN
Hide all symbols by default and export only the ones that are supposed to actually be visible. This primarily affects mysqld, but also plugins and statically linked libraries of various sorts now stop polluting the server's namespace. In addition, we export 297 “legacy” functions and classes that were already in use by existing plugins; this is not meant as an endorsement of the practice, and is likely to break in the future, but fixing them all is a longer procedure that will take time. A stripped mysqld binary (RelWithDebInfo) on Linux goes from 38 to 34 MB, exporting 950 instead of 20854 symbols. Windows builds can now skip the WScript step that goes through every symbol and exports it manually through a .def file. On a 16-core Xeon build server (vale31), this reduces the build time of a full debug build by about 40 seconds (from 9 minutes 25 seconds to 8 minutes 45 seconds). The difference for an incremental build, ie., just touching sql/main.cc and rebuilding, is even bigger; it goes from 1m42s to just under 13 seconds, as the incrementality is significantly increased. Change-Id: I2d1c39b6822502139e3286c7473db81c876b7bbc
- Loading branch information
Steinar H. Gunderson
committed
Apr 7, 2017
1 parent
e4103ba
commit bc4eff8
Showing
226 changed files
with
1,686 additions
and
1,529 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.