[Mono-devel-list] Issue with mono_debugger_add_type on Solaris SPARC.

Gary M. Smithrud gary.smithrud at haley.com
Fri Aug 5 13:24:03 EDT 2005



Gary M. Smithrud
Haley Systems, Inc.
Phone: 724-934-7853
gary.smithrud at haley.com
www.haley.com
Moving at the Speed of Change
The issue with mono_debugger_add_type is with the following lines (from
memory, since I am on a different machine):

write_leb(...);
write_leb(...);
write_leb(...);
* ((gpointer*) ptr) = klass;

Write_leb can move the pointer to an offset that is not on a pointer
boundary and the SPARC architecture does not allow a pointer to be
written on an odd boundary (or word boundaries that are not also long
boundaries, ie pointer % 4 != 0...actually, it probably even pointer % 8
!= 0 for 64-bit).  I've change the code to behave as though they were
two guint8* (which is convenient, since one is defined that way) and
loop through the data.  I do not know what the data is used for, I am
unsure that that is appropriate.



More information about the Mono-devel-list mailing list