Hi, When linking a sanitizer runtime, we add -export-dynamic to the link lines. This can *dramatically* increase binary sizes (I've seen a 25% increase in some cases), and seems to be largely unnecessary -- the sanitizer symbols should be exported anyway if the linker is told about any DSOs which need the runtime and will be linked against the binary.
However, this will presumably break any mostly-static binaries which don't link against any sanitizer-using DSOs, but do dlopen such DSOs. If we care about that, I think the right way to handle it would be to add a file containing a list of exported sanitizer symbols to compiler-rt, and pass that file to the linker with --dynamic-list when linking in a sanitizer. What do you think? Is this patch OK as-is, or do you want the more complete solution? Thanks! Richard
no-export-dynamic.diff
Description: Binary data
_______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
