Yes, asan produces much larger binaries, off the top of my head 2x is normal. I don't have the fresh numbers, and we usually don't build on Mac, and not with -O0, and not with -g. What will your numbers be with -O1 and -O2, with and w/o -gmlt (not -g)? Do you compress debug info? What happens w/o any debug info?
There was also a bug which effectively disabled function dead stripping, but IIRC on Mac it's been fixed a while ago. If completely removing the debug info doesn't bring the code size increase to < 1.5x, it's interesting to see the effect of not instrumenting globals (-mllvm -asan-globals=0) and not instrumenting stack (-mllvm -asan-stack=0), separately. Thanks! --kcc On Fri, Sep 29, 2017 at 10:56 AM, Francis Ricci <[email protected]> wrote: > Is there an expected percent increase in binary size with ASan? Over a > set of a few thousand unit test binaries, I'm seeing some pretty > significant size increases (compilation with -O0 and debug info, with > dynamically linked asan dylib, on darwin): > > 50% of ASan executables are at least 183.25% the size of the non-ASan > version. > 10% of ASan executables are at least 276.53% the size of the non-ASan > version. > 5% of ASan executables are at least 332.92% the size of the non-ASan > version. > > This seems like pretty significant bloat to me - is it expected? And > are there any methods you suggest for reducing the size? > > I would expect some increase in size from instrumentation, but a > median increase of 180% seems like quite a lot. > > Francis > > -- > You received this message because you are subscribed to the Google Groups > "address-sanitizer" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "address-sanitizer" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
