This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Proposal to move Valgrind annotations from "valgrind" to "misc" --enable-checking option


The --enable-checking=valgrind does two things. First, it provides
Valgrind annotations for internal GCC allocators so that Valgrind has
a better idea about memory blocks which are not supposed to be
accessed. Second, it actually invokes Valgrind on every compiler
invocation. This makes the option very nice for e.g. ensuring that
bootstrap and testsuite are Valgrind-clean. However if one wants to
use Valgrind only to analyze a particular testcase, then the price of
full Valgrind'ified bootstrap is prohibitive.

Thus I propose to separate the two. To avoid introducing another
--enable-checking option, let's move the annotations to the "misc"
checking and also enable "misc" too if "valgrind" is requested. Both
these options are disabled for releases, so no performance loss there.

There are two drawbacks I can think of. First, if one wants Valgrind
annotations but does not have the required headers, then the compiler
will be built without them - silently (currently
--enable-checking=valgrind fails if headers are not found). Second,
the compiler binary will be built slightly different if "misc" is
enabled depending on the presence or absence of those headers. I
believe these are minor enough.

I have a prototype patch which I've been using on gc-improv (not
committed there yet).

What do you think?

-- 
Laurynas


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]