[Mono-dev] Bug#819711: PPC_64K_PAGES (Re: Running Mono on 32bits-big endian PowerPC)

Mathieu Malaterre malat at debian.org
Mon Apr 11 08:37:36 UTC 2016

On Mon, Apr 11, 2016 at 10:27 AM, Jo Shields <directhex at apebox.org> wrote:
> On 11/04/16 09:18, Mathieu Malaterre wrote:
>> # set patch tag at least to get some attention, may need some tweaking
>> # since pagesize on buildd machine != user installed one
>> Control: tags -1 patch
>> On Thu, Mar 31, 2016 at 2:37 PM, Mathieu Malaterre <malat at debian.org> wrote:
>>> Dear all,
>>> I am currently trying to resurrect Mono debian package on PowerPC (32bits BE).
>>> I have two questions:
>>> - Is there a released version I should consider to start with if I
>>> want to make mono work son PowerPC again ?
>>> - I see some big changes here at:
>>> 99902cec93dfbc9e18e3fb6fa07b8770a3bd9adc so I am wondering if version
>>> (current debian package) is not a bit too old so get things
>>> back in shape.
>> Answering my own post.
>> So the bug was really within sgen implementation details:
>> ARCH_MIN_MS_BLOCK* definitions.
>> Within debian infrstratucture, our buildd machines are setup using
>> default debian kernel, and the default kernel logical page size was
>> changed recently:
>> [debian/config/kernelarch-powerpc/config-arch-64: Set PPC_64K_PAGES.]
>> https://anonscm.debian.org/cgit/kernel/linux.git/commit/?id=aed63a56b189d771116f2d4b8fe10bbec528e6a2
>> The ppc32 buildd machine is setup on a ppc64 kernel. For some obscure
>> details (at least to me), one cannot run a debian ppc32 kernel on
>> ppc64 arch. Which means that the basic `mono` compiler is compiled
>> using ppc32 user space, but at C# compile time is executed on ppc64
>> kernel.
>> I am guessing another simple patch would be to run the bootstrap
>> process with gc=none and keep the default sgen 4K setting for ppc32
>> machine.
>> It would be nice that mono detect any incoherence at runtime, this
>> would make tracking this bug in the future *so* much easier.
> Is this patch against 4.2.whateversinsid sufficient to get the build
> working fine on the porterbox?

Answer: no. Since my -crude- patch should be applied after git commit d9a3c39a.

Again there is nothing wrong in the mono code base for ppc32. If you
pick the right nursery-size you can build it just fine:

$ export MONO_GC_PARAMS=nursery-size=64k
$ dpkg-buildpackage -rfakeroot -us -uc

64k is silly but it explains the issue.


More information about the Mono-devel-list mailing list