Thread overview | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
|
December 19, 2011 Release: MinGW64 GCC 4.6.1 GDC 1.070/2.055 | ||||
---|---|---|---|---|
| ||||
Please post all issues in D.gnu or on GDC's bitbucket site https://bitbucket.org/goshawk/gdc * Built against TDM64 GCC 4.6.1: http://tdm-gcc.tdragon.net/ * Built against GDC revision 7e22befef29c. * Working TLS support. * Updated binutils and mingw runtime for TLS support. * new gas directive @secrel32 will generate a constant offset usable as an immediate or displacement value. Works like posix counterparts @tpoff, @dtpoff, etc. * Fixes issue with the mingw runtime related to TLS. * Fixes issue with binutils and secrel32 relocations. * 7-zip format for size reasons: http://7-zip.org * Release includes both D versions. * -v1(default) compiles for D1. * -v2 compiles for D2. * The switch must be used for linking as well. To install simply extract to you TDM MinGW64 directory. This release https://bitbucket.org/goshawk/gdc/downloads/gcc-4.6.1-tdm64-1-gdc-7e22befef29c-20111218.7z All MinGW GDC downloads. https://bitbucket.org/goshawk/gdc/downloads All patches, source files and build scripts can be found at https://bitbucket.org/venix1/mingw-gdc/ I will be updating to tip and making -v2 default for the next release. |
December 19, 2011 Re: Release: MinGW64 GCC 4.6.1 GDC 1.070/2.055 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Daniel Green | It compiles all of my dwinsamples (although I have to verify if I've introduced any 32/64 bugs), great work on the release! |
December 19, 2011 Re: Release: MinGW64 GCC 4.6.1 GDC 1.070/2.055 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Daniel Green | Nice work. One question, though: Why are you using an ancient revision of GDC? I'll try your build out, but I'm not sure most of my code still compiles on 2.055. That's **two** releases behind now, and two very significant releases.
On 12/18/2011 10:27 PM, Daniel Green wrote:
> Please post all issues in D.gnu or on GDC's bitbucket site
> https://bitbucket.org/goshawk/gdc
>
> * Built against TDM64 GCC 4.6.1: http://tdm-gcc.tdragon.net/
> * Built against GDC revision 7e22befef29c.
> * Working TLS support.
> * Updated binutils and mingw runtime for TLS support.
> * new gas directive @secrel32 will generate a constant offset usable
> as an immediate or displacement value.
> Works like posix counterparts @tpoff, @dtpoff, etc.
> * Fixes issue with the mingw runtime related to TLS.
> * Fixes issue with binutils and secrel32 relocations.
> * 7-zip format for size reasons: http://7-zip.org
> * Release includes both D versions.
> * -v1(default) compiles for D1.
> * -v2 compiles for D2.
> * The switch must be used for linking as well.
>
> To install simply extract to you TDM MinGW64 directory.
>
> This release
> https://bitbucket.org/goshawk/gdc/downloads/gcc-4.6.1-tdm64-1-gdc-7e22befef29c-20111218.7z
>
>
> All MinGW GDC downloads.
> https://bitbucket.org/goshawk/gdc/downloads
>
> All patches, source files and build scripts can be found at
> https://bitbucket.org/venix1/mingw-gdc/
>
> I will be updating to tip and making -v2 default for the next release.
|
December 19, 2011 Re: Release: MinGW64 GCC 4.6.1 GDC 1.070/2.055 | ||||
---|---|---|---|---|
| ||||
Posted in reply to dsimcha | On 12/19/2011 12:04 AM, dsimcha wrote:
> Nice work. One question, though: Why are you using an ancient revision
> of GDC? I'll try your build out, but I'm not sure most of my code still
> compiles on 2.055. That's **two** releases behind now, and two very
> significant releases.
GDC support for 2.056 and 2.057 is less than 2 weeks old. I didn't see it beneficial to update while testing a new feature. Now that the support is there, I will be updating to tip.
|
December 19, 2011 Re: Release: MinGW64 GCC 4.6.1 GDC 1.070/2.055 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Daniel Green | Seems to work in 32-bit mode, but crashes in 64-bit mode. hello.d: import std.stdio; void main() { writeln("Hello, world."); } >gdc -o hello.exe hello.d -m64 -v2 >hello.exe (crash) Running Windows 7, TDM-GCC 64 installed with the bundle installer. On Monday, 19 December 2011 at 03:27:07 UTC, Daniel Green wrote: > Please post all issues in D.gnu or on GDC's bitbucket site https://bitbucket.org/goshawk/gdc > > * Built against TDM64 GCC 4.6.1: http://tdm-gcc.tdragon.net/ > * Built against GDC revision 7e22befef29c. > * Working TLS support. > * Updated binutils and mingw runtime for TLS support. > * new gas directive @secrel32 will generate a constant offset usable > as an immediate or displacement value. > Works like posix counterparts @tpoff, @dtpoff, etc. > * Fixes issue with the mingw runtime related to TLS. > * Fixes issue with binutils and secrel32 relocations. > * 7-zip format for size reasons: http://7-zip.org > * Release includes both D versions. > * -v1(default) compiles for D1. > * -v2 compiles for D2. > * The switch must be used for linking as well. > > To install simply extract to you TDM MinGW64 directory. > > This release > https://bitbucket.org/goshawk/gdc/downloads/gcc-4.6.1-tdm64-1-gdc-7e22befef29c-20111218.7z > > All MinGW GDC downloads. > https://bitbucket.org/goshawk/gdc/downloads > > All patches, source files and build scripts can be found at https://bitbucket.org/venix1/mingw-gdc/ > > I will be updating to tip and making -v2 default for the next release. |
December 19, 2011 Re: Release: MinGW64 GCC 4.6.1 GDC 1.070/2.055 | ||||
---|---|---|---|---|
| ||||
Posted in reply to dsimcha | I think it compiles in 64bit mode by default. This assert passes without -m64: static assert(size_t.sizeof == 8); The crash seems related to stdio. It doesn't happen with -m32. |
December 19, 2011 Re: Release: MinGW64 GCC 4.6.1 GDC 1.070/2.055 | ||||
---|---|---|---|---|
| ||||
On 12/19/11, Andrej Mitrovic <andrej.mitrovich@gmail.com> wrote:
> I think it compiles in 64bit mode by default. This assert passes without
> -m64:
> static assert(size_t.sizeof == 8);
Woops, sorry I assumed you meant it doesn't, but you didn't say that. My bad. :)
|
December 19, 2011 Re: Release: MinGW64 GCC 4.6.1 GDC 1.070/2.055 | ||||
---|---|---|---|---|
| ||||
Posted in reply to dsimcha | ...And with D1, everything works again in 32-bit mode but in 64-bit mode: >gdc -o hello.exe hello.d -m64 c:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.6.1/../../../../lib/libgphobos.a( win32.o):(.text+0xc3): undefined reference to `_data_start__' c:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.6.1/../../../../lib/libgphobos.a( win32.o):(.text+0xca): undefined reference to `_bss_end__' collect2: ld returned 1 exit status On Monday, 19 December 2011 at 16:10:32 UTC, dsimcha wrote: > Seems to work in 32-bit mode, but crashes in 64-bit mode. > > hello.d: > > import std.stdio; > > void main() { > writeln("Hello, world."); > } > >>gdc -o hello.exe hello.d -m64 -v2 > >>hello.exe > > (crash) > > Running Windows 7, TDM-GCC 64 installed with the bundle installer. > > On Monday, 19 December 2011 at 03:27:07 UTC, Daniel Green wrote: >> Please post all issues in D.gnu or on GDC's bitbucket site https://bitbucket.org/goshawk/gdc >> >> * Built against TDM64 GCC 4.6.1: http://tdm-gcc.tdragon.net/ >> * Built against GDC revision 7e22befef29c. >> * Working TLS support. >> * Updated binutils and mingw runtime for TLS support. >> * new gas directive @secrel32 will generate a constant offset usable >> as an immediate or displacement value. >> Works like posix counterparts @tpoff, @dtpoff, etc. >> * Fixes issue with the mingw runtime related to TLS. >> * Fixes issue with binutils and secrel32 relocations. >> * 7-zip format for size reasons: http://7-zip.org >> * Release includes both D versions. >> * -v1(default) compiles for D1. >> * -v2 compiles for D2. >> * The switch must be used for linking as well. >> >> To install simply extract to you TDM MinGW64 directory. >> >> This release >> https://bitbucket.org/goshawk/gdc/downloads/gcc-4.6.1-tdm64-1-gdc-7e22befef29c-20111218.7z >> >> All MinGW GDC downloads. >> https://bitbucket.org/goshawk/gdc/downloads >> >> All patches, source files and build scripts can be found at https://bitbucket.org/venix1/mingw-gdc/ >> >> I will be updating to tip and making -v2 default for the next release. |
December 19, 2011 Re: Release: MinGW64 GCC 4.6.1 GDC 1.070/2.055 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Andrej Mitrovic | Yeah, I just added the -m64 to the command line for explicitness.
I figured out that 64 is the default.
On Monday, 19 December 2011 at 16:42:16 UTC, Andrej Mitrovic wrote:
> On 12/19/11, Andrej Mitrovic <andrej.mitrovich@gmail.com> wrote:
>> I think it compiles in 64bit mode by default. This assert passes without
>> -m64:
>> static assert(size_t.sizeof == 8);
>
> Woops, sorry I assumed you meant it doesn't, but you didn't say that. My bad. :)
|
December 19, 2011 Re: Release: MinGW64 GCC 4.6.1 GDC 1.070/2.055 | ||||
---|---|---|---|---|
| ||||
Posted in reply to dsimcha | On 12/19/2011 12:07 PM, dsimcha wrote:
> ...And with D1, everything works again in 32-bit mode but in 64-bit mode:
>
>> gdc -o hello.exe hello.d -m64
> c:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.6.1/../../../../lib/libgphobos.a(
>
> win32.o):(.text+0xc3): undefined reference to `_data_start__'
> c:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.6.1/../../../../lib/libgphobos.a(
>
> win32.o):(.text+0xca): undefined reference to `_bss_end__'
> collect2: ld returned 1 exit status
That's an oversight on my part. binutils linker scripts don't follow the Win64 ABI. The variables are still being defined as __data_start__ and __bss_end__ by the linker scripts. I forgot to change the symbols for D1.
Regarding this and your previous issue, I just updated to tip. So it may be a few days before I can upload new/fixed binaries.
|
Copyright © 1999-2021 by the D Language Foundation