[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