On Fri, Sep 5, 2014 at 12:12 PM, Yury Gribov <y.gri...@samsung.com> wrote: > On 09/05/2014 11:32 AM, Dmitry Vyukov wrote: >> >> Can we do it w/o doubling number of runtime entry points? > > > I didn't find a good way to achieve this. See, normal asan reporting > functions > have a noreturn attribute (defined in sanitizer.def) which can't be changed > depending on cmdline flag.
I have not looked at the code in detail. But it looks weird to me that in a general-purpose programming language we can't alter an attribute of an in-memory object. I would expect that the attribute is just a field in a struct describing the functionm and the field can be freely set/reset. Is not it the case? >> Looks like a wrong way to pass global options to runtime. >> If we need >> to pass several other options, number of entry points will sky rocket. > > > We only need new definitions if functions look significantly different for > compiler > (noreturn, etc.). > >> I vaguely remember there are some globals that compiler uses to >> communicate configuration (version, shadow base) to runtime. > > > This would make the recovery setting global then. > It may be desirable to have per-object (or even per-function) options (or > maybe not). This makes sense. Leaving for others to chime in.