dotgnu-general
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [DotGNU]Testing of ILASM:


From: James Michael DuPont
Subject: Re: [DotGNU]Testing of ILASM:
Date: Thu, 2 Jan 2003 16:43:59 -0800 (PST)

--- Rhys Weatherley <address@hidden> wrote:
> On Friday 03 January 2003 04:00 am, James Michael DuPont wrote:
> > Well, it looks 2112 is not a bug in ilasm,
> > but a bug in ildasm.
> 
> Our disassembler is not designed to support "round-tripping", where
> the output 
> of the disassembler can be fed into the assembler and then compiled
> back to 
> the original program.  Whether this is a bug or a feature, well ...
> :-)

Yes i read the FAQ, and I understand. For me right now, it is usefull
to understand the IL, and to be able to test pnet. If you dont mind , I
wil l continue and test the ildasm and report any bugs i find. 

I got this book "Inside Micrososoft .NET IL Assembler" and it is pretty
good, i can use that to help verify the il.

> I will see how easy it is to fix this by wrapping the class in a
> namespace 
> block, as you suggest, but this won't necessarily solve all the 
> round-tripping issues.

well, it does not have to produce the same exact program, 
i just replaced the dotted name with a "_" and that solved the problem
as well for the time. But i have seem some classnames with things like
"/" in them.

> 
> As stated in the FAQ, round-tripping isn't really a goal of pnet.  We
> always 
> work from the assumption of source code availability.  Being able to 
> disassemble an unknown binary, modify it, and then feed it back into
> the assembler, is unnecessary if you have the source available to 
> modify  directly.

Well if you want to link different code from different languages then
it is important, also if I write code with a different .net language,
lets say mecury for example. 

And I want to disamble that and then take a function and call it from
c#? or I have a managed C++ code and want to link that in. All that can
be helped out by ildasm being there, even if I have the sources, not
all sources are in a form that can be used by dotgnu yet. 


> The only semi-plausible reason that I've seen for round-tripping is 
> instrumenting a binary with profiling and debugging calls to analyse
> its runtime behaviour.


> In summary, round-tripping is only useful if you are writing tools in
> closed-source CLI environment, which you cannot modify directly to
> add the required functionality.  We don't have one of those. :-)

if you are talking about c# yes, but in the case of other languages, we
might want to replace the calls to system internal base classes with
dotgnu base classes in some assemblies, then we can port code to dotgnu
and not have to port the system dependant code. 

that can be implemented by hacking the il.

> 
> > .assembly public_key test
> > {
> > }
> 
> I assume that this one came from ildasm also?  Looks like a problem
> with the 
> flag list in "dump_flags.c" - it should be "publickey".  I'll fix
> this.

yes, the bug title was ildasm, I will be posting more of these.
thanks for the help.

mike

=====
James Michael DuPont
http://introspector.sourceforge.net/

__________________________________________________
Do you Yahoo!?
Yahoo! Mail Plus - Powerful. Affordable. Sign up now.
http://mailplus.yahoo.com


reply via email to

[Prev in Thread] Current Thread [Next in Thread]