+glider Decreasing the binary size is a great goal... I think that dlopen'ing DSOs that weren't linked with is a pretty common scenario, but it's just a guess. Alex, does this happen in Chromium, for example? If the workaround for users will be to manually add --export-dynamic to the link command, we should mention it somewhere in the manual.
On Sat, Mar 16, 2013 at 5:35 AM, Richard Smith <[email protected]>wrote: > 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. > Do you plan to generate this list when building compiler-rt and store it next to the runtime in the resource directory? > > What do you think? Is this patch OK as-is, or do you want the more > complete solution? > > Thanks! > Richard > -- Alexey Samsonov, MSK
_______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
