[SERVER-12588] Application of -fvisibility=hidden to CCFLAGS comes too late to affect shared client library build Created: 03/Feb/14 Updated: 10/Dec/14 Resolved: 28/Feb/14 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Build |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Andrew Morrow (Inactive) | Assignee: | Andrew Morrow (Inactive) |
| Resolution: | Duplicate | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||
| Operating System: | ALL | ||||||||||||||||
| Participants: | |||||||||||||||||
| Description |
|
SConscript.client applies -fvisibility=hidden to both CCFLAGS and SHLINKFLAGS in the sharedLibEnv, with the aim of making the default visibility for the library hidden. However, the application to CCFLAGS in that environment has no effect on compilation, since the object files were already compiled by the 'libEnv' Environment. This was done to share the compilation artifacts between the static and shared build of the library. As a result, none of the .cpp files actually have hidden visibility applied. While the application of -fvisibility=hidden to SHLINKFLAGS is necessary, it is not sufficient. |
| Comments |
| Comment by Andrew Morrow (Inactive) [ 28/Feb/14 ] |
|
We are going to be fixing this in the CXX repo, and this becomes irrelevant in the server repo. Marking as duplicate before closing as such. |