path: root/manual/memory.texi
diff options
authorRoland McGrath <roland@gnu.org>2006-02-22 06:58:11 +0000
committerRoland McGrath <roland@gnu.org>2006-02-22 06:58:11 +0000
commit11883883a5b9cd7826dfc813a3ec479ead9e4537 (patch)
tree053e60e3ef31fa52f7668a13e39dc6bc72a5aa40 /manual/memory.texi
parentedb72ee4e5cb2c1067102edabe4137d3f960e521 (diff)
[BZ #315]
2004-08-09 Paul Eggert <eggert@cs.ucla.edu> [BZ #315] * manual/memory.texi (Obstacks Data Alignment): The default alignment is not 4: it is enough to hold any type of data. Problem reported by Benno in <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
Diffstat (limited to 'manual/memory.texi')
1 files changed, 5 insertions, 2 deletions
diff --git a/manual/memory.texi b/manual/memory.texi
index 0f28806a22a..91b9d84eb26 100644
--- a/manual/memory.texi
+++ b/manual/memory.texi
@@ -1968,7 +1968,8 @@ obstack_next_free (@var{obstack-ptr}) - obstack_base (@var{obstack-ptr})
Each obstack has an @dfn{alignment boundary}; each object allocated in
the obstack automatically starts on an address that is a multiple of the
-specified boundary. By default, this boundary is 4 bytes.
+specified boundary. By default, this boundary is aligned so that
+the object can hold any type of data.
To access an obstack's alignment boundary, use the macro
@code{obstack_alignment_mask}, whose function prototype looks like
@@ -1980,7 +1981,9 @@ this:
The value is a bit mask; a bit that is 1 indicates that the corresponding
bit in the address of an object should be 0. The mask value should be one
less than a power of 2; the effect is that all object addresses are
-multiples of that power of 2. The default value of the mask is 3, so that
+multiples of that power of 2. The default value of the mask is a value
+that allows aligned objects to hold any type of data: for example, if
+its value is 3, any type of data can be stored at locations whose
addresses are multiples of 4. A mask value of 0 means an object can start
on any multiple of 1 (that is, no alignment is required).