[Bug libitm/51855] New: improve calculation of stack bottom in libitm's undolog

torvald at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Fri Jan 13 23:36:00 GMT 2012


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).



More information about the Gcc-bugs mailing list