This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug libitm/51855] New: improve calculation of stack bottom in libitm's undolog
- From: "torvald at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Fri, 13 Jan 2012 23:33:19 +0000
- Subject: [Bug libitm/51855] New: improve calculation of stack bottom in libitm's undolog
- Auto-submitted: auto-generated
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51855
Bug #: 51855
Summary: improve calculation of stack bottom in libitm's
undolog
Classification: Unclassified
Product: gcc
Version: 4.7.0
Status: UNCONFIRMED
Severity: minor
Priority: P3
Component: libitm
AssignedTo: torvald@gcc.gnu.org
ReportedBy: torvald@gcc.gnu.org
CC: aldyh@gcc.gnu.org, rth@gcc.gnu.org
It would be good to improve how libitm calculates the bottom of the stack space
of the current thread. It needs to do that to prevent rolling back
transactional writes to this space because this would corrupt the stack frames
of the transaction rollback functions. For 4.7, we handle this with
__builtin_dwarf_cfa() and an additional buffer zone of 256 bytes to deal with
another __builtin_memcpy() call that we need during rollback and whose stack
frame size we can't measure at runtime. For 4.8, we should think about
improving that, perhaps based on the existing boehm-gc code for this
(GC_get_stack_base() in os_dep.c).