[Mono-list] Bug: string literals and escape's

Dan Lewis dihlewis@yahoo.co.uk
02 Apr 2002 07:02:49 +0100


On Tue, 2002-04-02 at 07:46, Adam Treat wrote:
> [SNIP]
> manyoso@manyoso:~/dev/csharp/makeup$ mcs Foo.cs 
> Needed to allocate blacklisted block at 0x8464000
> RESULT: 0
> manyoso@manyoso:~/dev/csharp/makeup$ mint Foo.exe 
> 
> (process:7517): ** ERROR **: file tramp.c: line 455 
> (mono_create_method_pointer): should not be reached
> aborting...
> Trace/breakpoint trap

Not sure about the gc error. But the tramp.c error is caused by creating
IntervalCollection.CostDelegate, which uses an unsupported valuetype
argument. I have a patch that seems to work, but it may be a little
naive. Could somebody check it for me please?

Thanks,
  Dan.



Index: tramp.c
===================================================================
RCS file: /cvs/public/mono/mono/arch/x86/tramp.c,v
retrieving revision 1.27
diff -u -r1.27 tramp.c
--- tramp.c	2002/03/16 14:37:28	1.27
+++ tramp.c	2002/04/02 03:13:17
@@ -377,6 +377,7 @@
 	gint32 local_size;
 	gint32 stackval_pos, arg_pos = 8;
 	int i;
+	int align;
 
 	/*
 	 * If it is a static P/Invoke method, we can just return the pointer
@@ -452,7 +453,8 @@
 				arg_pos += 4;
 				break;
 			case MONO_TYPE_VALUETYPE:
-				g_assert_not_reached (); /* Not implemented yet. */
+				arg_pos += mono_type_size (sig->params [i], &align) - 4;
+				break;
 			default:
 				break;
 			}






_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com