[Mono-list] Adding Solaris/amd64 support
Andreas Färber
andreas.faerber at web.de
Fri Mar 9 20:19:42 EST 2007
Hi Paolo and Miguel:
> I just checked and
> you could try to add:
> #define MONO_ARCH_NOMAP32BIT 1
> to the top of mono/mini/mini-amd64.c or in mini-amd64.h.
> This will make the code emit the slower call sequence and hopefully
> work
> on solaris (try without the _MAP_LOW32 hack): it seems the same is
> done
> on freebsd.
This was a great hint! I added #define MONO_ARCH_NOMAP32BIT within
the #ifdef sun section, as done for FreeBSD. This fixes the assertion
failure.
If configured --with-gc=none everything is fine now, however --with-
gc=included I get a segmentation fault:
GC Warning: Large stack limit(10485760): only scanning 8 MB
Segmentierungsfehler - Speicherabbild 'core' geschrieben
gdb refers to libgc's GC_SysVGetDataStart:
GNU gdb 6.6
Copyright (C) 2006 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and
you are
welcome to change it and/or distribute copies of it under certain
conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for
details.
This GDB was configured as "i386-pc-solaris2.10"...
(gdb) run ../../Documents/Test.exe
Starting program: /export/home/andreas/Mono/mono/mono/mini/mono ../../
Documents/Test.exe
warning: Temporarily disabling breakpoints for unloaded shared
library "/usr/lib/amd64/ld.so.1"
warning: Lowest section in /lib/amd64/libpthread.so.1 is .dynamic at
00000000000000b0
[New LWP 1]
[New LWP 2]
Program received signal SIGSEGV, Segmentation fault.
0x000000000054e33e in GC_SysVGetDataStart ()
I checked the code against CVS, and the only difference I spotted was
the signature - (int, int*) vs. (size_t, ptr_t) - but changing this
did not make a difference. Any ideas?
Andreas
More information about the Mono-list
mailing list