[SERVER-33581] Add scons switch to build with /Zi instead of /Z7 on msvc Created: 01/Mar/18 Updated: 29/Oct/23 Resolved: 02/Mar/18 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 3.7.3 |
| Type: | Task | Priority: | Major - P3 |
| Reporter: | Henrik Edin | Assignee: | Henrik Edin |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||
| Participants: | |||||||||
| Description |
|
Using ninja, /DEBUG:FASTLINK and pch branch from Mark: /Z7 full link
/Z7 incremental (change to db.cpp)
/Zi full link
/Zi incremental (change to db.cpp)
|
| Comments |
| Comment by Githook User [ 02/Mar/18 ] |
|
Author: {'email': 'henrik.edin@mongodb.com', 'name': 'Henrik Edin', 'username': 'henrikedin'}Message: |
| Comment by Henrik Edin [ 01/Mar/18 ] |
|
The linker seem to use more memory and I had issues with oom on evergreen when multiple links jobs are executed in parallel. So needed to keep the old behavior there. /Zi still has that problem if you try and write to the same pdb during intermediate compilation (of object files etc). To solve that I'm using one pdb per object file as you can see in the review. |
| Comment by Eric Milkie [ 01/Mar/18 ] |
|
Why would we add a switch to scons for this? Why not use /Zi all the time? |
| Comment by Eric Milkie [ 01/Mar/18 ] |
|
Way back in the day, the reason why I switched the builds to use /Z7 (thus forcing the compiler to output separate debug files for each translation unit, in the old-style format) was because with shared PDB files, multiple simultaneous compilations would conflict on the PDB file and you would get file-is-locked errors from the compiler. It's great to see that this problem is now fixed. |