From eb00e9592006bb3b5412a4857762e85ea56a8e3f Mon Sep 17 00:00:00 2001
From: Torvald Riegel <triegel@redhat.com>
Date: Wed, 24 Oct 2012 19:52:18 +0000
Subject: [PATCH] Clarify ABI requirements for data-logging functions.

	* libitm.texi: Clarify ABI requirements for data-logging functions.

From-SVN: r192778
---
 libitm/ChangeLog   | 4 ++++
 libitm/libitm.texi | 7 +++++++
 2 files changed, 11 insertions(+)

diff --git a/libitm/ChangeLog b/libitm/ChangeLog
index af74e974df11..8f55f4eb3279 100644
--- a/libitm/ChangeLog
+++ b/libitm/ChangeLog
@@ -1,3 +1,7 @@
+2012-10-24  Torvald Riegel  <triegel@redhat.com>
+
+	* libitm.texi: Clarify ABI requirements for data-logging functions.
+
 2012-10-24  Torvald Riegel  <triegel@redhat.com>
 
 	* retry.cc (gtm_thread::decide_begin_dispatch): Ask dispatch whether
diff --git a/libitm/libitm.texi b/libitm/libitm.texi
index 6cfcaf9277d0..7e5c413610fb 100644
--- a/libitm/libitm.texi
+++ b/libitm/libitm.texi
@@ -156,6 +156,13 @@ about which memory locations are shared and which are not shared with other
 threads (i.e., data must be accessed either transactionally or
 nontransactionally). Otherwise, non-write-through TM algorithms would not work.
 
+For memory locations on the stack, this requirement extends to only the
+lifetime of the stack frame that the memory location belongs to (or the
+lifetime of the transaction, whichever is shorter).  Thus, memory that is
+reused for several stack frames could be target of both data logging and
+transactional accesses; however, this is harmless because these stack frames'
+lifetimes will end before the transaction finishes.
+
 @subsection [No changes] Scatter/gather calls
 @subsection [No changes] Serial and irrevocable mode
 @subsection [No changes] Transaction descriptor
-- 
GitLab