[SERVER-78948] clang removes symbols in static builds that printers may want to use Created: 13/Jul/23  Updated: 02/Feb/24

Status: Backlog
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Improvement Priority: Major - P3
Reporter: Daniel Moody Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Assigned Teams:
Build
Participants:

 Description   

from https://github.com/10gen/mongo/pull/14049#discussion_r1261783964, it was discovered that static clang builds were removing symbols that were unused in the binary. These symbols linked to functions that were intended to be called by the pretty printer in a gdb session to execute code which would shed more light (like a native built pretty printer). However it seems that because the executed code when built had no calls to the symbol, most likely it was optimized out.

There should be some flag we can pass to leave these symbols in and we should explore if its valuable to keep them in clang non release builds.


Generated at Thu Feb 08 06:39:42 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.