Tanger is a tool to support transactions in C and C++ programs. It transforms an application that uses a minimal application-level API consisting of calls to hook functions into an application that contains proper calls to an STM for all accesses in transactional code. You can find a more detailed description in this paper.
Tanger is licensed under the GNU General Public License, version 2. You can download it from here.