Bug 315989 (MONO65657) - [PATCH] ldelema <ref> buggy with AOT
Summary: [PATCH] ldelema <ref> buggy with AOT
Status: RESOLVED FIXED
Alias: MONO65657
Product: Mono: Runtime
Classification: Mono
Component: misc (show other bugs)
Version: unspecified
Hardware: Other Other
: P3 - Medium : Normal
Target Milestone: ---
Assignee: Mono Bugs
QA Contact: Mono Bugs
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-09-10 01:25 UTC by Miguel de Icaza
Modified: 2007-09-15 21:24 UTC (History)
0 users

See Also:
Found By: ---
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments
patch (13.72 KB, patch)
2004-09-10 06:09 UTC, Thomas Wiest
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Thomas Wiest 2007-09-15 18:53:12 UTC


---- Reported by miguel@ximian.com 2004-09-09 18:25:04 MST ----

Ahead-of-Time compiling mcs.exe will produce an mcs that crashes:

(tried both with -O=all and without it):

mono$ mono  --aot mcs.exe
Mono Ahead of Time compiler - compiling assembly /cvs/mcs/mcs/mcs.exe
Executing the native assembler: as /tmp/mono_aot_jXFh5p -o
/tmp/mono_aot_jXFh5p.o
Executing the native linker: ld -shared -o /cvs/mcs/mcs/mcs.exe.so
/tmp/mono_aot_jXFh5p.o
Compiled 2283 out of 2509 methods (90%)
0 methods contain absolute addresses (0%)
226 methods contain wrapper references (9%)
0 methods contain lmf pointers (0%)
0 methods have other problems (0%)
AOT RESULT 0
mono$ time mono mcs.exe   -d:NET_1_1 -d:ONLY_1_1 /target:exe /out:mcs2.exe
cs-parser.cs  @mcs.exe.sources
UNHANDLED IN 416e8b30

Unhandled Exception: System.ArrayTypeMismatchException: Source array type
cannot be assigned to destination array type.
in <0x001f5> Mono.CSharp.Invocation:OverloadResolve
(Mono.CSharp.EmitContext,Mono.CSharp.MethodGroupExpr,System.Collections.ArrayList,bool,Mono.CSharp.Location)
in <0x00ceb> Mono.CSharp.Attribute:Resolve (Mono.CSharp.EmitContext)
in <0x0003f> Mono.CSharp.Attribute:Emit
(Mono.CSharp.EmitContext,Mono.CSharp.Attributable,System.Collections.Specialized.ListDictionary)in
<0x000c9> Mono.CSharp.Attributes:Emit
(Mono.CSharp.EmitContext,Mono.CSharp.Attributable)
in <0x00078> Mono.CSharp.CommonAssemblyModulClass:Emit
(Mono.CSharp.TypeContainer)
in <0x00248> Mono.CSharp.RootContext:EmitCode ()
in <0x00cfd> Mono.CSharp.Driver:MainDriver (string[])
in <0x0000f> Mono.CSharp.Driver:Main (string[])



---- Additional Comments From bmaurer@users.sf.net 2004-09-09 22:39:33 MST ----

Simpler:

class A {
	static void Main ()
	{
		string [] x = new string [5];
		X (ref x [0]);
	}
	static void X (ref string x) {}
}

[benm@Ben benm]$ mcs t.cs
Compilation succeeded
[benm@Ben benm]$ mono t.exe
[benm@Ben benm]$ mono --aot t.exe
Mono Ahead of Time compiler - compiling assembly /home/benm/t.exe
Executing the native assembler: as /tmp/mono_aot_pNcFlA -o
/tmp/mono_aot_pNcFlA. o
Executing the native linker: ld -shared -o /home/benm/t.exe.so
/tmp/mono_aot_pNc FlA.o
Compiled 3 out of 3 methods (100%)
0 methods contain absolute addresses (0%)
0 methods contain wrapper references (0%)
0 methods contain lmf pointers (0%)
0 methods have other problems (0%)
AOT RESULT 0
[benm@Ben benm]$ mono t.exe
 
Unhandled Exception: System.ArrayTypeMismatchException: Source array
type cannot be assigned to destination array type.
in <0x0002d> A:Main ()




---- Additional Comments From bmaurer@users.sf.net 2004-09-09 23:09:26 MST ----

Created an attachment (id=166752)
patch




---- Additional Comments From bmaurer@users.sf.net 2004-09-09 23:09:58 MST ----

Just needs some aot friendlyfication



---- Additional Comments From vargaz@freemail.hu 2004-09-10 10:22:04 MST ----

The inssel.brg part of the patch is ok to check in.



---- Additional Comments From bmaurer@users.sf.net 2004-09-10 12:41:14 MST ----

oops, sorry about that. will check in the right part, when i get 
home ;-).



---- Additional Comments From bmaurer@users.sf.net 2004-09-11 11:30:49 MST ----

fixed in both branches

Imported an attachment (id=166752)

Unknown operating system unknown. Setting to default OS "Other".