This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[cxx-mem-model] testing infrastructure
- From: Aldy Hernandez <aldyh at redhat dot com>
- To: gcc-patches <gcc-patches at gcc dot gnu dot org>, Jeff Law <law at redhat dot com>, Tom Tromey <tromey at redhat dot com>, Benjamin De Kosnik <bkoz at redhat dot com>
- Cc: Andrew MacLeod <amacleod at redhat dot com>
- Date: Thu, 10 Mar 2011 13:58:38 -0600
- Subject: [cxx-mem-model] testing infrastructure
Hi folks.
The following is a test harness for testing atomicity problems and data
races in multi-threaded environments. Please see the README file in the
patch below, which describes the use of GDB to test in-between states in
a possibly threaded execution.
I would like to use this branch as the repository for tests of data
races introduced by the compiler (atomics, illegal memory hoists of
global variables in a multi-threaded environment, etc etc).
Eventually, as part of this project, I will be adding flags to the
compiler (-fno-allow-load-data-races, etc), which we can use to safe
guard against these illegal data race injections by the compiler. Until
then, I expect all (or most) of the tests below to fail.
A few tidbits...
1. I stole the GDB checks in the guality harness to check the presence
of GDB. If there is a more canonical way of checking the presence of a
working gdb, let me know.
2. There is a README explaining the infrastructure, and the anatomy of a
test.
3. Most of this work is actually Andrew Macleod's, who is off in a
tropical island somewhere. I have stolen most of his tests, implemented
the harness, and cleaned up things for submission. All errors, are
obviously mine.
I would appreciate comments, and/or new relevant tests/problems you have
encountered and would like fixed in the future. I know there are a few
Linux kernel problems that fall into this category.
Fire away, I don't mind being crucified.
Aldy
Attachment:
curr
Description: Text document