[phobos] large object files and binaries

Walter Bright walter at digitalmars.com
Tue May 3 17:03:19 PDT 2011



On 5/3/2011 4:14 PM, Steve Schveighoffer wrote:
>
> I'm going to close 5560 because you are right, the -lib switch did not affect 
> the final executable.  But I still don't understand the discrepancy, what 
> bookkeeping is output for code that isn't generated?

For example, there are all the definitions of the various sections.

>   I'm not trying for a witch hunt here, I just can't see how the compiler can 
> change the size of an object file when essentially versioned out code is compiled.

To repeat myself, take a look at the obj2asm output. You can even diff one from 
another to see what changed.

>
> However, there is definitely something wrong with -lib if 2254 is still 
> valid.  I'll work on compiling phobos and druntime without -lib and see if I 
> can repeat the difference in the final executable.
>
> Also, can you explain how to use obj2asm to figure out if code is properly 
> being generated without knowing assembly?

You can see the name of each function generated and how many bytes of code there 
are for it, for example. You can also see all the static data generated, such as:

       db  0,1,2,7,02Bh

which is pretty obvious.

>   I should say, without knowing how to demangle names in your head as well.  I 
> am not seeing how you do it without knowing these, every trip of mine through 
> obj2asm land is painstakingly slow, and usually ends up with me giving up 
> understanding what's going on.
>

Feel free to ask questions here. It's probably a simple misunderstanding, 
because the output is much simpler than people presume it to be. Often, their 
presumption that it's complicated is what trips them up.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puremagic.com/pipermail/phobos/attachments/20110503/24bc4887/attachment.html>


More information about the phobos mailing list