On 17 Mar 2013 22:32, "Alexey Samsonov" <[email protected]> wrote:
>
> +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?

I was intending to have a manually maintained list, but generating it would
be better.

>>
>>
>> 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

Reply via email to