[Mono-list] Adding Solaris/amd64 support

Andreas Färber andreas.faerber at web.de
Sat Mar 10 08:34:54 EST 2007


An update:

> If configured [...] --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 added some debug output to GC_SysVGetDataStart and it appears to  
return okay, that is it returns 0x64d000 (which it gets by calling  
GC_find_limit(0x66a778, FALSE). I tried patching GC_find_limit to  
match CVS (a boundary check was added) to no avail, also adding some  
new assertions for the signal handling but they do not fail.

Maybe gdb is simply confused because of the SIGSEGV signal handler in  
GC_SysVGetDataStart and does not show where the actual segfault  
happens? Are there any options or commands that might help?

Andreas


More information about the Mono-list mailing list