On Thu, Apr 10, 2014 at 12:01:31PM -0400, DJ Delorie wrote: > > But ubsan is a new feature in 4.9, and it is a bootstrap failure > > with that feature. > > I will leave it up to the release manager to decide if they want this > non-regression patch applied before the branch, then. > > > This is for the host libiberty only, and only when gcc is configured > > a certain way. The intent is to have libiberty that is going to be > > linked into all the build and host tools instrumented, so that we > > actually catch bugs in libiberty or bugs in host/build tools calling > > libiberty functions as much as possible, but for the lto-plugin, > > which is dlopened by the linker which we don't have a control on, we > > need host libiberty without the address sanitization because > > otherwise it would only work properly if the linker itself has been > > address sanitized. > > So, if libiberty isn't built with sanitization, it would still *work* > but not be instrumented?
Certainly. If libiberty isn't built with sanitization (that is the normal case), then even nothing changes in the way it is built. The problem is only when it is built with sanitization that we actually for the lto-plugin (and whatever else is built as an dlopenable module, not an application) need a variant of the host libiberty that isn't built with sanitization (talking about asan only here, ubsan can handle this). So, now that 4.9 has branched, are both patches ok for trunk, or just the first one? The first one fixes --with-build-config=bootstrap-ubsan fully and --with-build-config=bootstrap-asan partially, the second one --with-build-config=bootstrap-asan fully. Jakub