diff options
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | manual/memory.texi | 7 |
2 files changed, 13 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog index bf5d46475e..97670e880b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -3,6 +3,14 @@ * sysdeps/unix/sysv/linux/x86_64/sys/epoll.h: Update comment, remove __THROW from epoll_wait, to match .../linux/sys/epoll.h file. +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>. + 2005-11-15 Robert Millan <robertmh@gnu.org> [BZ #2161] diff --git a/manual/memory.texi b/manual/memory.texi index 0f28806a22..91b9d84eb2 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). |