[Mono-bugs] [Bug 507108] "Hello World" hangs/crashes on embedded PPC/Linux system with mono version 2.4, versions 2.2 and 1.2.6 are working fine

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Tue Jun 16 03:34:19 EDT 2009


http://bugzilla.novell.com/show_bug.cgi?id=507108

User harald.herrmann at ids.de added comment
http://bugzilla.novell.com/show_bug.cgi?id=507108#c15





--- Comment #15 from Harald Herrmann <harald.herrmann at ids.de>  2009-06-16 01:34:18 MDT ---
According to the ELDK documentation Linux EABI is used!? (See
http://www.denx.de/wiki/view/DULG/LinuxKernelRegisterUsage).

"
14.3.4. Linux kernel register usage
For the PowerPC architecture, the Linux kernel uses the following registers: 

R1:     stack pointer 
R2:     pointer to task_struct for the current task 
R3-R4:  parameter passing and return values 
R5-R10: parameter passing 
R13:    small data area pointer 
R30:    GOT pointer 
R31:    frame pointer

A function can use r0 and r3 - r12 without saving and restoring them. r13 - r31
have to be preserved so they must be saved and restored when you want to use
them. Also, cr2 - cr4 must be preserved, while cr0, cr1, cr5 - cr7, lr, ctr and
xer can be used without saving & restoring them. [ Posted Tue, 15 Jul 2003 by
Paul Mackerras to linuxppc-embedded at lists.linuxppc.org ]. 

See also the (E)ABI specifications for the PowerPC architecture, Developing
PowerPC Embedded Application Binary Interface (EABI) Compliant Programs.
"

What are our options? Disabling TLS by using the mono configure with-tls=no
option did not work.

-- 
Configure bugmail: http://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