gcc/ChangeLog:
commit831b9bed945ad64ac2ba5372a222b90e7d93a22a
authoredlinger <edlinger@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 2 Jan 2015 22:16:59 +0000 (2 22:16 +0000)
committeredlinger <edlinger@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 2 Jan 2015 22:16:59 +0000 (2 22:16 +0000)
tree2e150e026804c390ac9333406e3d7552c6a62711
parentd820a81826e701a0c648ec9aad3d20d9dd6fc53d
gcc/ChangeLog:
2015-01-02  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        Instrument bit field and unaligned accesses for TSAN.
        * sanitizer.def (BUILT_IN_TSAN_READ_RANGE): New built-in function.
        (BUILT_IN_TSAN_WRITE_RANGE): New built-in function.
        * tsan.c (instrument_expr): Handle COMPONENT_REF and BIT_FIELD_REF.
        Use BUILT_IN_TSAN_READ_RANGE and BUILT_IN_TSAN_WRITE_RANGE for
        unaligned memory regions.

testsuite/ChangeLog:
2015-01-02  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * c-c++-common/tsan/bitfield_race.c: New testcase.
        * g++.dg/tsan/aligned_vs_unaligned_race.C: Fixed.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@219150 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/sanitizer.def
gcc/testsuite/ChangeLog
gcc/testsuite/c-c++-common/tsan/bitfield_race.c [new file with mode: 0644]
gcc/testsuite/g++.dg/tsan/aligned_vs_unaligned_race.C
gcc/tsan.c