aligned on 8-byte boundary.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192945
138bc75d-0d04-0410-961f-
82ee72b054a4
+2012-10-29 Ian Lance Taylor <iant@google.com>
+
+ * mmap.c (backtrace_vector_release): Make sure freed block is
+ aligned on 8-byte boundary.
+
2012-10-26 Ian Lance Taylor <iant@google.com>
PR other/55087
backtrace_error_callback error_callback,
void *data)
{
- backtrace_free (state, (char *) vec->base + vec->size, vec->alc,
- error_callback, data);
+ size_t size;
+ size_t alc;
+ size_t aligned;
+
+ /* Make sure that the block that we free is aligned on an 8-byte
+ boundary. */
+ size = vec->size;
+ alc = vec->alc;
+ aligned = (size + 7) & ~ (size_t) 7;
+ alc -= aligned - size;
+
+ backtrace_free (state, (char *) vec->base + size, alc, error_callback, data);
vec->alc = 0;
return 1;
}