Bug 40037 - Cannot build mono on PPC32 (BE) when PPC_64K_PAGES is set
Summary: Cannot build mono on PPC32 (BE) when PPC_64K_PAGES is set
Status: NEW
Alias: None
Product: Runtime
Classification: Mono
Component: JIT (show other bugs)
Version: unspecified
Hardware: Other Linux
: --- normal
Target Milestone: ---
Assignee: Bugzilla
URL: https://bugs.debian.org/819711
Depends on:
Blocks:
 
Reported: 2016-04-01 07:19 UTC by malat
Modified: 2016-04-11 08:26 UTC (History)
2 users (show)

Tags:
Is this bug a regression?: ---
Last known good build:


Attachments
default output (173.20 KB, text/plain)
2016-04-01 07:32 UTC, malat
Details
default valgrind output (193.39 KB, text/plain)
2016-04-01 07:32 UTC, malat
Details
default valgrind+helgrind output (1.52 MB, text/plain)
2016-04-01 07:33 UTC, malat
Details
partial patch (669 bytes, text/plain)
2016-04-11 08:26 UTC, malat
Details


Notice (2018-05-24): bugzilla.xamarin.com is now in read-only mode.

Please join us on Visual Studio Developer Community and in the Xamarin and Mono organizations on GitHub to continue tracking issues. Bugzilla will remain available for reference in read-only mode. We will continue to work on open Bugzilla bugs, copy them to the new locations as needed for follow-up, and add the new items under Related Links.

Our sincere thanks to everyone who has contributed on this bug tracker over the years. Thanks also for your understanding as we make these adjustments and improvements for the future.


Please create a new report for Bug 40037 on GitHub or Developer Community if you have new information to add and do not yet see a matching new report.

If the latest results still closely match this report, you can use the original description:

  • Export the original title and description: GitHub Markdown or Developer Community HTML
  • Copy the title and description into the new report. Adjust them to be up-to-date if needed.
  • Add your new information.

In special cases on GitHub you might also want the comments: GitHub Markdown with public comments

Related Links:
Status:
NEW

Description malat 2016-04-01 07:19:45 UTC
When trying to build mono from github on POWER7 (Debian ppc64 kernel, big endian, ppc32 userland)

Some exception is thrown while executing the static constructor of System.Console

To reproduce

> checkout from github (using master)
> autogen.sh --prefix=$HOME/blah
> make get-monolite-latest

Everything compiles fine on native side, but when starting to build mcs profiles, running mono fails

> make V=1 PROFILE=basic

[...]
#4  major_free_swept_blocks (allowance=<optimized out>) at sgen-marksweep.c:1977
[...]
Comment 1 malat 2016-04-01 07:26:36 UTC
I've tried to reduce the case to a minimal command line. The flag '-unsafe' and '-d:ASYNC' seems to be important here:

% ./mono basic.exe -d:NET_4_5 -unsafe -d:ASYNC -target:library -out:System.Xml.dll @System.Xml.dll.sources >& minimal.log

I was not able to reduce the number of files present in `System.Xml.dll.sources` so I had to use them all.
Comment 2 malat 2016-04-01 07:27:48 UTC
The system in use is:

% cat /proc/cpuinfo 
processor	: 0
cpu		: POWER7 (architected), altivec supported
clock		: 3550.000000MHz
revision	: 2.1 (pvr 003f 0201)

processor	: 1
cpu		: POWER7 (architected), altivec supported
clock		: 3550.000000MHz
revision	: 2.1 (pvr 003f 0201)

processor	: 2
cpu		: POWER7 (architected), altivec supported
clock		: 3550.000000MHz
revision	: 2.1 (pvr 003f 0201)

processor	: 3
cpu		: POWER7 (architected), altivec supported
clock		: 3550.000000MHz
revision	: 2.1 (pvr 003f 0201)

processor	: 4
cpu		: POWER7 (architected), altivec supported
clock		: 3550.000000MHz
revision	: 2.1 (pvr 003f 0201)

processor	: 5
cpu		: POWER7 (architected), altivec supported
clock		: 3550.000000MHz
revision	: 2.1 (pvr 003f 0201)

processor	: 6
cpu		: POWER7 (architected), altivec supported
clock		: 3550.000000MHz
revision	: 2.1 (pvr 003f 0201)

processor	: 7
cpu		: POWER7 (architected), altivec supported
clock		: 3550.000000MHz
revision	: 2.1 (pvr 003f 0201)

timebase	: 512000000
platform	: pSeries
model		: IBM,8231-E2B
machine		: CHRP IBM,8231-E2B
Comment 3 malat 2016-04-01 07:31:53 UTC
I am attaching some various outputs:

% ./mono basic.exe -d:NET_4_5 -unsafe -d:ASYNC -target:library -out:System.Xml.dll @ll.sources >& minimal.log

% valgrind ./mono basic.exe -d:NET_4_5 -unsafe -d:ASYNC -target:library -out:System.Xml.dll @ll.sources >& valgrind.log

% valgrind --tool=helgrind ./mono basic.exe -d:NET_4_5 -unsafe -d:ASYNC -target:library -out:System.Xml.dll @ll.sources >& helgrind.log
Comment 4 malat 2016-04-01 07:32:18 UTC
Created attachment 15580 [details]
default output
Comment 5 malat 2016-04-01 07:32:39 UTC
Created attachment 15581 [details]
default valgrind output
Comment 6 malat 2016-04-01 07:33:15 UTC
Created attachment 15582 [details]
default valgrind+helgrind output
Comment 7 malat 2016-04-11 08:25:59 UTC
The following patch fixes the symptoms.
Comment 8 malat 2016-04-11 08:26:52 UTC
Created attachment 15666 [details]
partial patch

I do not like this patch, but unless something more runtim-ish is implemented I do not see an alternative patch.