[Mono-list] Adding Solaris/amd64 support

Miguel de Icaza miguel at novell.com
Mon Mar 5 20:04:05 EST 2007


Hello,

> By default, Solaris' gcc compiles to 32-bit unless overwritten by - 
> m64. I have therefore patched configure.in to infer the x86/amd64  
> architecture from the pointer size (as seen for another platform).

This sounds like a choice that the Solaris gcc people thought should be
made explicitly.  Maybe we should do the same, and have a special
configure option that enables the 64 bit binary?

> ** ERROR **: file mini-amd64.c: line 180 (amd64_patch): assertion  
> failed: (amd64_is_imm32 (disp))
> aborting...
> Stacktrace:
> 
> Abbrechen - Speicherabbild 'core' geschrieben

You could turn the above into a G_BREAKPOINT and with the debugger see
what it is trying to decode (you cause x/20i address on the address to
see the disassembled instruction).

What is happening is that the amd64 backend is generating code that the
patcher does not know about.

> This is also reproducible by executing mono/mini/mono with a hello  
> world assembly - it happens instantly and the text varies only in the  
> last line ("Abbrechen (core dumped)"). I've checked with "file" that  
> mono is actually ELF 64-bit and with "ldd" that it's linked to 64-bit  
> libraries only. To me it looks like a JIT issue?
> 
> According to bug #79271 the above assertion failure was supposed to  
> be fixed:
> http://bugzilla.ximian.com/show_bug.cgi?id=79271
> 
> Might I need to patch anything else for Solaris/amd64? Or should I  
> reopen that bug?

It is likely a different bug, the information above should be enough to
pinpoint what is it that we are not taking into account.


More information about the Mono-list mailing list