Hi folks,
We're trying to land a CL that turns on
-fsanitize=array-bounds in Chromium. Predictably, this added instrumentation on every C-style array causes a big regression in binary size (see
the CL or the
SuperSize dashboard - n.b. only patchset 1 is relevant).
We looked briefly at mitigating this in Skia, but didn't turn up anything wide-ranging. Unfortunately,
the top regressor in Skia (<1 kB on its own) exemplifies the worst of both worlds, where temporary C-style arrays are passed around by pointer (plus size) a fair bit, granting them no protection while still taking the binary size hit.
Any thoughts on what we could do? We don't want to just slap "opt this out" on everything under third_party/, but if we had a better idea of what to target, we could hold back some of the bloat.
Thanks,
Kalvin