December 12, 2011
On 12/11/2011 7:33 PM, bearophile wrote:
> A not stripped hello world is 3_908_177 bytes, much bigger than the binary produced by DMD, and it's 677_888 bytes stripped.
> DMD 2.057beta+optilink produce a 932_892 bytes hello world binary, while using the same DMD+ulink it becomes 334_576 bytes.
I recall MinGW may include extra object files during the link process. Try comparing against what GCC's C/C++ compiler produces.


> If I compile the little D coins program here:
> http://www.digitalmars.com/webnews/newsgroups.php?art_group=digitalmars.D&article_id=151610
>
> Using:
> gdc -v2 coins.d -o coins.exe
>
> When I run it it crashes immediately with no error messages :-(
It's a TLS issue being looked into.  Offsets are being generated against the wrong section.

-Dan
December 12, 2011
This is great, the binaries now work. Thanks for your hard work Daniel.

Btw, it seems GDMD is hardcoded to D1? -fd-version is always 1, there's a -v1 switch for GDMD but no -v2 switch. Should I file this?
December 12, 2011
Here's what I can add on line 434 in GDMD to make it work:
    } elsif ( $arg =~ m/^-v2$/ ) {
        push @out, '-v2';
1 2 3
Next ›   Last »