[Mono-bugs] [Bug 355025] New: mcs non-functional on PowerPC e300 core
bugzilla_noreply at novell.com
bugzilla_noreply at novell.com
Sun Jan 20 23:16:07 EST 2008
https://bugzilla.novell.com/show_bug.cgi?id=355025
User bill at arrowsreach.com added comment
https://bugzilla.novell.com/show_bug.cgi?id=355025#c2
Summary: mcs non-functional on PowerPC e300 core
Product: Mono: Compilers
Version: unspecified
Platform: PowerPC
OS/Version: Ubuntu
Status: NEW
Severity: Normal
Priority: P5 - None
Component: C#
AssignedTo: mono-bugs at lists.ximian.com
ReportedBy: bill at arrowsreach.com
QAContact: mono-bugs at lists.ximian.com
Found By: ---
Unable to build mono from source tarball, on an embedded PowerPC arch. The mcs
compiler that was built apears to generate non-functional output, and the
build process stops when trying to compile C# code.
The cpu is a Freescale MPC8349 which has an e300 core, an enhanced version of
the G2 or 603e cores.
http://en.wikipedia.org/wiki/PowerPC_e300
Platform Details:
Freescale MPC8349
Custom kernel 2.6.23
Root FS is using Ubuntu 6.10 PPC
billf at royal:~$ cat /proc/cpuinfo
processor : 0
cpu : e300c1
clock : 396.000000MHz
revision : 3.1 (pvr 8083 0031)
bogomips : 131.58
timebase : 66000000
platform : MPX8349
billf at royal:~$ uname -a
Linux royal 2.6.23MPX8349_PowerPC #2 Tue Dec 11 14:09:03 EST 2007 ppc GNU/Linux
billf at royal:~$ dpkg -l libc6 gcc
ii gcc 4.1.1-6ubuntu3 The GNU C compiler
ii libc6 2.4-1ubuntu12 GNU C Library: Shared libraries
===========================================================
Example Build Failure:
===========================================================
cd ~/src
wget http://mono.ximian.com/daily/mono-20080120.tar.bz2
tar jxf mono-20080120.tar.bz2
cd mono-20080120/
/configure --prefix=$HOME/mono-20080120
mcs source: $(top_srcdir)/mcs
olive source:
GC: included
TLS: __thread
SIGALTSTACK: yes
Engine: Building and using the JIT
2.0 Beta: yes
2.1 Alpha: yes
JNI support: IKVM Native
libgdiplus: assumed to be installed
zlib: system zlib
oprofile: no
make
<-- snip -->
make PROFILE=basic all
make[5]: Entering directory `/home/billf/src/mono-20080120/mcs'
make[6]: *** [build/deps/basic-profile-check.out] Error 2
make[6]: Entering directory `/home/billf/src/mono-20080120/mcs'
*** The compiler 'mcs' doesn't appear to be usable.
*** Trying the 'monolite' directory.
make[7]: Entering directory `/home/billf/src/mono-20080120/mcs'
make[8]: Warning: File `build/deps/basic-profile-check.cs' has modification
time 89 s in the future
make[8]: *** [build/deps/basic-profile-check.out] Error 2
make[8]: Entering directory `/home/billf/src/mono-20080120/mcs'
*** The contents of your 'monolite' directory may be out-of-date
*** You may want to try 'make get-monolite-latest'
make[8]: *** [do-profile-check-monolite] Error 1
make[8]: Leaving directory `/home/billf/src/mono-20080120/mcs'
make[7]: *** [do-profile-check] Error 2
make[7]: Leaving directory `/home/billf/src/mono-20080120/mcs'
make[6]: *** [do-profile-check-monolite] Error 2
make[6]: Leaving directory `/home/billf/src/mono-20080120/mcs'
make[5]: *** [do-profile-check] Error 2
make[5]: Leaving directory `/home/billf/src/mono-20080120/mcs'
make[4]: *** [profile-do--basic--all] Error 2
make[4]: Leaving directory `/home/billf/src/mono-20080120/mcs'
make[3]: *** [profiles-do--all] Error 2
make[3]: Leaving directory `/home/billf/src/mono-20080120/mcs'
make[2]: *** [all-local] Error 2
make[2]: Leaving directory `/home/billf/src/mono-20080120/runtime'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/billf/src/mono-20080120'
make: *** [all] Error 2
===========================================================
Compile C# on x86 Host, gcc on PPC Target
===========================================================
Following the http://www.mono-project.com/Mono:ARM page with
some changes for my situation.
Compile mono-20080120 on x86 Host.
$ ./configure
$ make
$ make install DESTDIR=`pwd`/tmptree
Copy tmptree from Host to the Target filesystem
Compile mono-20080120 on ppc Target (instead of using scratchbox)
$ ./configure --disable-mcs-build
$ make
$ make install
Looks good at this point on the ppc Target:
$ /usr/local/bin/mono --version
Mono JIT compiler version 20080120 (tarball)
Copyright (C) 2002-2007 Novell, Inc and Contributors. www.mono-project.com
TLS: __thread
GC: Included Boehm (with typed GC)
SIGSEGV: altstack
Notifications: epoll
Architecture: ppc
Disabled: none
$ mcs --version
Mono C# compiler version 2008.110.0.0
It will run assemblies that were compiled on the x86 Host
and copied to the target:
$ mono HelloWorldHost.exe
Hello Mono World (Compiled on Host)
It will NOT run assemblies compiled on the ppc Target:
$ mcs HelloWorldTarget.cs
$ mono HelloWorldTarget.exe
Cannot open assembly HelloWorldTarget.exe.
With the verbose option:
$ mono -v HelloWorldTarget.exe
billf at royal:~/code/MonoExamples/HelloWorld$ mono -v HelloWorldTarget.exe
Method (wrapper runtime-invoke) System.Object:runtime_invoke_void_string
(object,intptr,intptr,intptr) emitted at 0x30384028 to 0x30384164 (code length
316) [HelloWorldTarget.exe]
Method System.OutOfMemoryException:.ctor (string) emitted at 0x30384168 to
0x303841c0 (code length 88) [HelloWorldTarget.exe]
Method System.SystemException:.ctor (string) emitted at 0x303841d8 to
0x30384230 (code length 88) [HelloWorldTarget.exe]
Method System.Exception:.ctor (string) emitted at 0x30384240 to 0x30384280
(code length 64) [HelloWorldTarget.exe]
Method System.Exception:set_HResult (int) emitted at 0x30384280 to 0x303842b0
(code length 48) [HelloWorldTarget.exe]
Method System.NullReferenceException:.ctor (string) emitted at 0x303842b0 to
0x30384304 (code length 84) [HelloWorldTarget.exe]
Method System.StackOverflowException:.ctor (string) emitted at 0x30384308 to
0x30384344 (code length 60) [HelloWorldTarget.exe]
Cannot open assembly HelloWorldTarget.exe.
Method (wrapper runtime-invoke) System.Object:runtime_invoke_void
(object,intptr,intptr,intptr) emitted at 0x30384348 to 0x3038447c (code length
308) [HelloWorldTarget.exe]
Method (wrapper runtime-invoke) System.Object:runtime_invoke_void
(object,intptr,intptr,intptr) emitted at 0x30384480 to 0x303845b0 (code length
304) [HelloWorldTarget.exe]
Method System.Runtime.Remoting.Contexts.Context:.cctor () emitted at 0x303845c0
to 0x3038461c (code length 92) [HelloWorldTarget.exe]
Method (wrapper managed-to-native)
System.Object:__icall_wrapper_mono_object_new_fast (intptr) emitted at
0x30384638 to 0x30384740 (code length 264) [HelloWorldTarget.exe]
Method System.Collections.Hashtable:.ctor () emitted at 0x30384740 to
0x30384788 (code length 72) [HelloWorldTarget.exe]
Method System.Collections.Hashtable:.cctor () emitted at 0x303847a0 to
0x30384820 (code length 128) [HelloWorldTarget.exe]
Method (wrapper managed-to-native)
System.Object:__icall_wrapper_mono_array_new_specific (intptr,int) emitted at
0x30384830 to 0x30384940 (code length 272) [HelloWorldTarget.exe]
Method System.Runtime.CompilerServices.RuntimeHelpers:InitializeArray
(System.Array,System.RuntimeFieldHandle) emitted at 0x30384940 to 0x303849a8
(code length 104) [HelloWorldTarget.exe]
Method System.RuntimeFieldHandle:get_Value () emitted at 0x303849c0 to
0x303849e8 (code length 40) [HelloWorldTarget.exe]
Method (wrapper managed-to-native)
System.Runtime.CompilerServices.RuntimeHelpers:InitializeArray
(System.Array,intptr) emitted at 0x303849e8 to 0x30384af4 (code length 268)
[HelloWorldTarget.exe]
Method System.Collections.Hashtable:.ctor (int,single) emitted at 0x30384af8 to
0x30384b48 (code length 80) [HelloWorldTarget.exe]
Method System.Collections.Hashtable:.ctor
(int,single,System.Collections.IHashCodeProvider,System.Collections.IComparer)
emitted at 0x30384b60 to 0x30384eec (code length 908) [HelloWorldTarget.exe]
Method System.Single:IsNaN (single) emitted at 0x30384f28 to 0x30384f70 (code
length 72) [HelloWorldTarget.exe]
Method System.Collections.Hashtable:ToPrime (int) emitted at 0x30384f70 to
0x3038504c (code length 220) [HelloWorldTarget.exe]
Method System.Collections.Hashtable:SetTable
(System.Collections.Hashtable/Slot[],int[]) emitted at 0x30385058 to 0x30385124
(code length 204) [HelloWorldTarget.exe]
Method System.Collections.Hashtable:AdjustThreshold () emitted at 0x30385140 to
0x303851d8 (code length 152) [HelloWorldTarget.exe]
Method System.Runtime.Remoting.Contexts.Context:Finalize () emitted at
0x303851d8 to 0x30385234 (code length 92) [HelloWorldTarget.exe]
Method System.Object:Finalize () emitted at 0x30385240 to 0x30385288 (code
length 72) [HelloWorldTarget.exe]
Method System.Threading.Thread:.cctor () emitted at 0x30385298 to 0x3038532c
(code length 148) [HelloWorldTarget.exe]
Method (wrapper managed-to-native)
System.Object:__icall_wrapper_mono_object_new_ptrfree (intptr) emitted at
0x30385330 to 0x30385438 (code length 264) [HelloWorldTarget.exe]
Method System.Threading.Thread:Finalize () emitted at 0x30385438 to 0x303854e4
(code length 172) [HelloWorldTarget.exe]
Method System.IntPtr:op_Explicit (int) emitted at 0x30385500 to 0x30385548
(code length 72) [HelloWorldTarget.exe]
Method System.IntPtr:.ctor (int) emitted at 0x30385558 to 0x30385588 (code
length 48) [HelloWorldTarget.exe]
Method (wrapper managed-to-native) System.Threading.Thread:Thread_free_internal
(intptr) emitted at 0x30385588 to 0x30385694 (code length 268)
[HelloWorldTarget.exe]
--
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.
More information about the mono-bugs
mailing list