Bug 318881 (MONO75974) - [GMCS] PEVerify screams about duplicate MemberRefs in mono-sre-created assembly
Summary: [GMCS] PEVerify screams about duplicate MemberRefs in mono-sre-created assembly
Status: RESOLVED FIXED
Alias: MONO75974
Product: Mono: Runtime
Classification: Mono
Component: misc (show other bugs)
Version: 1.1
Hardware: Other Other
: P3 - Medium : Minor
Target Milestone: ---
Assignee: Martin Baulig
QA Contact: Mono Bugs
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-09-03 16:00 UTC by Michal Moskal
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

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


---- Reported by malekith@pld-linux.org 2005-09-03 09:00:53 MST ----

Description of Problem:
method_encode_methodspec doesn't do any caching, so each time you use
some_method<int,int>() a new MethodSpec is created. This wastes space in
the generated PE images and causes PEVerify to emit warnings.


Steps to reproduce the problem:
1. compile with gmcs

class T {
  void bar<T> () {}
  void u1 () { bar<int> (); }
  void u2 () { bar<int> (); }
  public static void Main ()
  {
  }
}

2. run PEVerify on it

Actual Results:
Microsoft (R) .NET Framework PE Verifier.  Version  2.0.50727.7
Copyright (c) Microsoft Corporation.  All rights reserved.

[MD]: Warning: MemberRef has a duplicate, token=0x0a000003. [token:0x0A000002]
[MD]: Warning: MemberRef has a duplicate, token=0x0a000002. [token:0x0A000003]
All Classes and Methods in foo.exe Verified.
(2 Warnings)


Expected Results:
No warnings.


How often does this happen? 
Always.

Additional Information:
I'm running mono svn.



---- Additional Comments From martin@ximian.com 2005-10-04 14:03:30 MST ----

Fixed in SVN.


Unknown bug field "cf_op_sys_details" encountered while moving bug
   <cf_op_sys_details>amd64 pld linux</cf_op_sys_details>
Unknown operating system unknown. Setting to default OS "Other".