Author Topic: GCC 4.4.1-tdm-2 for MinGW (with installer)  (Read 53464 times)

Offline TDragon

  • Lives here!
  • ****
  • Posts: 943
    • TDM-GCC
GCC 4.4.1-tdm-2 for MinGW (with installer)
« on: August 23, 2009, 12:20:58 am »
The second TDM-GCC release of GCC 4.4.1 is now available!

NOTICE:
The first TDM-GCC release of GCC 4.4.1 had a bug that caused a major slowdown in nearly any non-trivial program that it compiled. Be sure to upgrade to the new TDM-2 release if you're currently using 4.4.1-tdm-1.

The 4.4 series continues to take a bit longer to bring from vanilla release to TDM release, but in exchange I've fixed nearly all the outstanding bugs in the TDM-GCC tracker. This release re-enables support for large files, correct formatting of long doubles in iostreams, and more. For general changes in the GCC 4.4 series, see http://gcc.gnu.org/gcc-4.4/changes.html.

I tested this release by successfully building wxWidgets (2.8.10), and building and running Code::Blocks (SVN r5848), both without errors!

Binary packages are available for the Ada, C, C++, Fortran, Objective-C, and Objective-C++ languages, as drop-in replacements for the MinGW project's official gcc packages. Additionally, the TDM/MinGW installer will automatically install TDM-GCC and the MinGW compiler suite for you. Full details and download links are at http://www.tdragon.net/recentgcc/ .

Disclaimer:
The TDM-GCC builds are unofficial replacements for the official MinGW releases of GCC binaries. TDM-GCC was previously recommended for experimentation purposes only, but constant use in day-to-day development and a total download count of over 60,000 have proven the TDM-GCC releases to be at least as usable as the most recent official MinGW GCC release. (Please note that this does not mean that there are no bugs; merely that there is a different set of bugs with a similar or lesser average criticality.) Therefore, TDM-GCC is now heartily endorsed for production use in any non-critical environment, with only the following caveats:
  • TDM-GCC is not formally affiliated with or endorsed by the MinGW project (although several MinGW team members make use of it)
  • No level of support for TDM-GCC is in any way guaranteed (although a best effort is made to fix bugs as they are found or forward them to GCC Bugzilla)

Cheers,
John E. / TDM
« Last Edit: October 09, 2009, 05:30:55 pm by TDragon »
https://jmeubank.github.io/tdm-gcc/ - TDM-GCC compiler suite for Windows (GCC 9.2.0 2020-03-08, 32/64-bit, no extra DLLs)

Offline rhf

  • Multiple posting newcomer
  • *
  • Posts: 123
Re: GCC 4.4.1-tdm-1 for MinGW (with installer)
« Reply #1 on: August 23, 2009, 02:43:15 am »
The TDM-GCC release of GCC 4.4.1 is now available!
The upgrade using your installer went very smooth; and everything seems to work well so far, including re-compiling Code::Blocks.
Thanks!

EDIT: Oops. This morning things do not look as rosy as they did last night. CB and wxWidgets (2.8.10) all seemed to compile with only minor warnings. But now when I load a project into Code:Blocks, CB goes to ~95% CPU usage and never stops. My Nightly CB version seems to work just fine using TDM 4.4.1, but it appears that I have screwed something up in the compilation process of Code:Blocks itself. Oh well!

EDIT 2: Well shoot. The more I experimented with even my Nightly CB version, the more problems I had. After re-compiling several of my existing projects with 4.4.1, they ran very slowly or not at all. I may have something wrong with my setup; but, after reverting to your TDM-GCC 4.4.0 (and recompiling everything), all seems to work fine.
« Last Edit: August 23, 2009, 09:25:09 pm by rhf »

Offline TDragon

  • Lives here!
  • ****
  • Posts: 943
    • TDM-GCC
Re: GCC 4.4.1-tdm-1 for MinGW (with installer)
« Reply #2 on: August 23, 2009, 10:15:06 pm »
Well, I'm not able to reproduce any of those problems. Really, there's only one change between the 4.4.0 r2 release and this one that affects code generation, and that one actually *fixes* floating point formatting by detecting and using the correct math library. I don't see how it could be causing these problems.

In C::B, have you tried systematically disabling plugins to find a specific problem area?
https://jmeubank.github.io/tdm-gcc/ - TDM-GCC compiler suite for Windows (GCC 9.2.0 2020-03-08, 32/64-bit, no extra DLLs)

Offline rhf

  • Multiple posting newcomer
  • *
  • Posts: 123
Re: GCC 4.4.1-tdm-1 for MinGW (with installer)
« Reply #3 on: August 23, 2009, 10:32:11 pm »
Thanks, John.
It is very weird. I'll experiment with it some more after I get a little work done.

Offline ollydbg

  • Developer
  • Lives here!
  • *****
  • Posts: 5910
  • OpenCV and Robotics
    • Chinese OpenCV forum moderator
Re: GCC 4.4.1-tdm-1 for MinGW (with installer)
« Reply #4 on: August 24, 2009, 05:02:46 pm »
Thanks John.
I will download this package and testing building OpenCV library then. :D
If some piece of memory should be reused, turn them to variables (or const variables).
If some piece of operations should be reused, turn them to functions.
If they happened together, then turn them to classes.

Offline ollydbg

  • Developer
  • Lives here!
  • *****
  • Posts: 5910
  • OpenCV and Robotics
    • Chinese OpenCV forum moderator
Re: GCC 4.4.1-tdm-1 for MinGW (with installer)
« Reply #5 on: August 25, 2009, 05:28:43 am »
Hi, John
Failed running the CB build from GCC 4.4.1.
see this thread:
http://forums.codeblocks.org/index.php?topic=11069.msg75526;topicseen#msg75526

Do I need to rebuild the wxWidgets?
If some piece of memory should be reused, turn them to variables (or const variables).
If some piece of operations should be reused, turn them to functions.
If they happened together, then turn them to classes.

Offline TDragon

  • Lives here!
  • ****
  • Posts: 943
    • TDM-GCC
Re: GCC 4.4.1-tdm-1 for MinGW (with installer)
« Reply #6 on: August 25, 2009, 05:32:21 am »
No; apparently there's a bug somewhere in TDM-GCC that needs to be tracked down. Unfortunately, I'm not able to reproduce it yet.
https://jmeubank.github.io/tdm-gcc/ - TDM-GCC compiler suite for Windows (GCC 9.2.0 2020-03-08, 32/64-bit, no extra DLLs)

Offline thomas

  • Administrator
  • Lives here!
  • *****
  • Posts: 3979
Re: GCC 4.4.1-tdm-1 for MinGW (with installer)
« Reply #7 on: August 26, 2009, 03:17:15 pm »
That bug apparently also causes a drastic increase in executable size, roughly 15-20%.
"We should forget about small efficiencies, say about 97% of the time: Premature quotation is the root of public humiliation."

Offline billyonthemountain

  • Multiple posting newcomer
  • *
  • Posts: 40
Re: GCC 4.4.1-tdm-1 for MinGW (with installer)
« Reply #8 on: September 27, 2009, 06:30:14 pm »
Has this bug been already reported in the GCC bugzilla system ?
A search with "known to work : 4.4.0" and "known to fail : 4.4.1" didn't give any results...
(ASM, C/C++)||(VISION&AI)||(EMBEDDED SYSTEMS)

Offline stahta01

  • Lives here!
  • ****
  • Posts: 7582
    • My Best Post
Re: GCC 4.4.1-tdm-1 for MinGW (with installer)
« Reply #9 on: September 27, 2009, 07:15:16 pm »
Has this bug been already reported in the GCC bugzilla system ?
A search with "known to work : 4.4.0" and "known to fail : 4.4.1" didn't give any results...

I would guess that till TDM (TDragon) finds the cause and submits a patch that there will be no bug report at GCC bugzilla.

Unless the issue happens on an Linux build of GCC 4.4.1; the only one able to work the bug are MinGW GCC developers like TDM.

Tim S.
« Last Edit: September 27, 2009, 07:17:01 pm by stahta01 »
C Programmer working to learn more about C++ and Git.
On Windows 7 64 bit and Windows 10 64 bit.
--
When in doubt, read the CB WiKi FAQ. http://wiki.codeblocks.org

Offline billyonthemountain

  • Multiple posting newcomer
  • *
  • Posts: 40
Re: GCC 4.4.1-tdm-1 for MinGW (with installer)
« Reply #10 on: September 28, 2009, 11:07:41 am »
Ok hope this will be fixed soon...
Also I noticed that tdm's release isn't configured with --with-ppl and with --with-cloog (cf. gcc -v 's output)... does that mean that the graphite loop optimizations (ie. -floop-interchange, -floop-strip-mine and -floop-block) are not yet available for mingw32 ?
(ASM, C/C++)||(VISION&AI)||(EMBEDDED SYSTEMS)

Offline TDragon

  • Lives here!
  • ****
  • Posts: 943
    • TDM-GCC
Re: GCC 4.4.1-tdm-1 for MinGW (with installer)
« Reply #11 on: September 28, 2009, 02:16:00 pm »
Obviously you didn't read the documentation on the website or the README (since they both clearly state that Graphite opts are available), or even simply try a test program with them. --with-cloog and --with-ppl are not requisite for the configuration process to find those libraries, merely optional.
https://jmeubank.github.io/tdm-gcc/ - TDM-GCC compiler suite for Windows (GCC 9.2.0 2020-03-08, 32/64-bit, no extra DLLs)

Offline billyonthemountain

  • Multiple posting newcomer
  • *
  • Posts: 40
Re: GCC 4.4.1-tdm-1 for MinGW (with installer)
« Reply #12 on: September 28, 2009, 07:16:30 pm »
I see...
Quote
To use this code transformation, GCC has to be configured with --with-ppl and --with-cloog to enable the Graphite loop transformation infrastructure.
from the gcc-4.4 optimisation page was somewhat misleading...
Thanks for the info...
(ASM, C/C++)||(VISION&AI)||(EMBEDDED SYSTEMS)

Offline ollydbg

  • Developer
  • Lives here!
  • *****
  • Posts: 5910
  • OpenCV and Robotics
    • Chinese OpenCV forum moderator
Re: GCC 4.4.1-tdm-1 for MinGW (with installer)
« Reply #13 on: October 09, 2009, 03:02:39 am »
hi ALL, TDM GCC 4.4.1-2 is released.

http://www.tdragon.net/recentgcc/

Quote
NOTICE:
The 4.4.1-tdm-2 release is now available. If you were using the first 4.4.1 release, you are urged to upgrade to this new version in order to avoid a bug that caused drastically increased CPU usage in programs compiled with the first version.
If some piece of memory should be reused, turn them to variables (or const variables).
If some piece of operations should be reused, turn them to functions.
If they happened together, then turn them to classes.

Offline ollydbg

  • Developer
  • Lives here!
  • *****
  • Posts: 5910
  • OpenCV and Robotics
    • Chinese OpenCV forum moderator
Re: GCC 4.4.1-tdm-1 for MinGW (with installer)
« Reply #14 on: October 09, 2009, 03:43:41 am »
I just build the CB trunk, and it works with no problem!!! Thanks to John.
If some piece of memory should be reused, turn them to variables (or const variables).
If some piece of operations should be reused, turn them to functions.
If they happened together, then turn them to classes.