Subject: Re: bug#12242: Emacs 24.2 RC1 build fails on OpenBSD

From: YAMAMOTO Mitsuharu <[email-masked]>
Date: Wed, 22 Aug 2012 12:13:27 +0900

>>>>> On Wed, 22 Aug 2012 06:02:06 +0300, Eli Zaretskii <[email-masked]> said:

>> Date: Wed, 22 Aug 2012 11:35:26 +0900 From: YAMAMOTO Mitsuharu
>> <[email-masked]> Cc: [email-masked],
>> [email-masked]
>> 
>> I took a look at ralloc.c a bit, and I thought that the variable
>> `use_relocatable_buffers' is not designed to be changed temporarily
>> in the first place.

> Why not?  Can you tell what led you to that conclusion?

> My reading of the code is that inhibiting relocation just means that
> ralloc.c always asks for more memory when it cannot find a large
> enough block in the existing heaps.

For example, `virtual_break_value' is not updated in that case.  It
can lead to an inconsistent state as reported if r_alloc_sbrk is
called with a positive argument via malloc when
use_relocatable_buffers <= 0, and then it is called with a negative
argument via free when use_relocatable_buffers > 0.

				     YAMAMOTO Mitsuharu
				[email-masked]