Compiling GDC-MinGW

Benjamin Thaut code at benjamin-thaut.de
Wed Mar 6 12:55:00 PST 2013


Am 06.03.2013 21:42, schrieb Daniel Green:
> On 3/6/2013 12:45 PM, Benjamin Thaut wrote:
>> Well I did compile 0.11. I just used your build-tdm-gcc.sh which
>> downloads and compiles 0.11. I fixed this issue by opening
>> crossdev\src\ppl-0.11\Watchdog\src\pwl.hh.dist and setting
>> PWL_HAVE_DECL_SETITIMER to 0.
> That shouldn't be necessary.  It may have something to do with using
> F:\crossdev . I've never done a compile from a separate drive. Two
> things, you made that directory before starting the build?  It won't be
> made automatically. Can you supply the config.log of the failed build?
>
>> But after that the problems just started. The next thing was that msys
>> told me there is a unkown command " " (really just a space) in
>> update-mingw.sh line 37. I could also fix that by removing all the "&&
>> \" from update-mingw.sh line 36 to 43.
> That was due to some extra spaces in after the \.  Fixed in the script.
>
>> Then the next problem appeard, configure of gdc would tell me that the d
>> language depends on the c++ language. Your build-tdm-gcc.sh script does
>> not download the sources for the g++ so I did it manually (I made sure
>> the grab the sources for g++ 4.6.1 from the tdm download page). I
>> extracted the downloaded sources to /crossdev/gdc64/v2
> Ya, I never added the g++ downloads.  Fixed as well.
>
> I've just finished the dependencies here, now it's on to GDC itself.
> I'll push the update once I look into the TLS issue you mentioned.
>
> "I also noted that one part of the tlsfix.patch gets rejected"
>
> One question though, which patch exactly was it?  There are 5 different
> TLS patches.
>
> tls-binutils-2.21.53-20110731.patch
> tls-mingw64-runtime.patch
> mingw-tls-gcc-4.6.x.patch
> tls-mingwrt-3.20.patch
> tlssup.c.patch

Its the tls-mingwrt.3.20.patch it rejects the 64 bit part:

-_CRTALLOC(".tls") const IMAGE_TLS_DIRECTORY64 _tls_used = {
-  (ULONGLONG) &_tls_start+1, (ULONGLONG) &_tls_end, (ULONGLONG) 
&_tls_index,
+_CRTALLOC(".rdata$TLS") const IMAGE_TLS_DIRECTORY64 _tls_used = {
+  (ULONGLONG) &_tls_start, (ULONGLONG) &_tls_end, (ULONGLONG) &_tls_index,

Why sould it matter that crossdev is on F:\ ? from within msys it should 
behave exactly the same.

Also do you have some idea about the multiline strings in options.c? 
Google tells me that multiline strings got deprecated starting with gcc 
4.0.0 (current mingw vanilla is gcc 4.7.2)

Kind Regards
Benjamin Thaut


More information about the D.gnu mailing list