[Mono-list] Adding Solaris/amd64 support

Andreas Färber andreas.faerber at web.de
Mon Mar 5 16:52:44 EST 2007


Hello,

I am trying to add support for Solaris on amd64. So far I have needed  
to patch both libgc's gcconfig.h and Mono's configure script.

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).

libgc was patched as detailed here:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21942


With or without this patch, compiled 32-bit or 64-bit, on the amd64  
system I get the following warning in mono at runtime:

GC Warning: Large stack limit(10485760): only scanning 8 MB

Whereas I was not getting this warning on two non-amd64 Solaris boxes  
(which had 512MB RAM + 1GB swap; the AMD now has 1GB RAM + 2GB swap).  
Compiled 32-bit, mono appeared to work despite the warning. But just  
in case I have subsequently configured Mono --with-gc=none to rule  
out the GC.

During compilation for amd64, mono (r73669, with and without GC) then  
outputs the following:


TYPE: 1

** ERROR **: file mini-amd64.c: line 180 (amd64_patch): assertion  
failed: (amd64_is_imm32 (disp))
aborting...
Stacktrace:

Abbrechen - Speicherabbild 'core' geschrieben


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?

Andreas
-------------- next part --------------
A non-text attachment was scrubbed...
Name: sol_amd64.diff
Type: application/octet-stream
Size: 2802 bytes
Desc: not available
Url : http://lists.ximian.com/pipermail/mono-list/attachments/20070305/8db3e8f8/attachment.obj 


More information about the Mono-list mailing list