Live data from Hacker News

GCC 4.9 Release Series – Changes, New Features, and Fixes

gcc.gnu.org

31–40 of 43 posts

Re: GCC 4.9 Release Series – Changes, New Features, and Fixes

#31
post #22

The things that caught my eye were both related to IBM hardware features. Firstly, apparently IBM chips have hardware transactional memory now: PowerPC / PowerPC64 / RS6000 GCC now supports Power ISA 2.07, which includes support for Hardware Transactional Memory (HTM) S/390, System z Support for the Transactional Execution Facility included with the IBM zEnterprise zEC12 processor has been added. That's pretty cool.…

Windows system DLLs have pointless "mov edi, edi" instructions in function prologues to enable hotpatching. It's not just mainframes ;)

Yes, MSVC does this when the /hotpatch command line option is provided.

Re: GCC 4.9 Release Series – Changes, New Features, and Fixes

#32
post #22

The things that caught my eye were both related to IBM hardware features. Firstly, apparently IBM chips have hardware transactional memory now: PowerPC / PowerPC64 / RS6000 GCC now supports Power ISA 2.07, which includes support for Hardware Transactional Memory (HTM) S/390, System z Support for the Transactional Execution Facility included with the IBM zEnterprise zEC12 processor has been added. That's pretty cool.…

One of the large design-constraints of Erlang is being able to hotpatch, given the uptime requirements for telephone switching.

Re: GCC 4.9 Release Series – Changes, New Features, and Fixes

#33
post #3

Only six months since 4.8 was released. Is GCC moving to a more regular release schedule?

4.8.0 was actually released in March 2013. GCC has been on a yearly major release schedule for several years now (since at least GCC 4.5.0 in 2010). This year 4.9.0 will be about a month late.

Re: GCC 4.9 Release Series – Changes, New Features, and Fixes

#34

> Memory usage building Firefox with debug enabled was reduced from 15GB to 3.5GB; link time from 1700 seconds to 350 seconds. This is huge- you can now do this on a laptop

As a Gentoo user, we always did it on our laptop. Build time was about 30 minutes.

Re: GCC 4.9 Release Series – Changes, New Features, and Fixes

#35
post #22

The things that caught my eye were both related to IBM hardware features. Firstly, apparently IBM chips have hardware transactional memory now: PowerPC / PowerPC64 / RS6000 GCC now supports Power ISA 2.07, which includes support for Hardware Transactional Memory (HTM) S/390, System z Support for the Transactional Execution Facility included with the IBM zEnterprise zEC12 processor has been added. That's pretty cool.…

You can read quick slides about the POWER8 transactional memory and general feature comparison here:

https://www-950.ibm.com/events/wwe/grp/grp030.nsf/vLookupPDF...

Re: GCC 4.9 Release Series – Changes, New Features, and Fixes

#36
post #22

The things that caught my eye were both related to IBM hardware features. Firstly, apparently IBM chips have hardware transactional memory now: PowerPC / PowerPC64 / RS6000 GCC now supports Power ISA 2.07, which includes support for Hardware Transactional Memory (HTM) S/390, System z Support for the Transactional Execution Facility included with the IBM zEnterprise zEC12 processor has been added. That's pretty cool.…

Windows system DLLs have pointless "mov edi, edi" instructions in function prologues to enable hotpatching. It's not just mainframes ;)

Which I recently read about on Raymond Chen's blog. Link: http://blogs.msdn.com/b/oldnewthing/archive/2011/09/21/10214...

Re: GCC 4.9 Release Series – Changes, New Features, and Fixes

#37
post #24
post #17

Earlier quoted context omitted.

I use whatever compiler is defined in the makefile or called for in a README. Needless to say I do not really follow developments in either camp closely. I am curious what improvements are the result of "competition" from clang?

I might be doing GCC a disservice but I'm pretty sure the various sanitization work has come from LLVM/Clang.

Actually the sanitizers where added to LLVM by Google who also added them to GCC as they are actively working on both compiler toolchains.

Re: GCC 4.9 Release Series – Changes, New Features, and Fixes

#38

> A new C extension __auto_type provides a subset of the functionality of C++11 auto in GNU C. I wonder if anyone is working to standardize something like this? It would be way more useful than all those _s() functions they added to C11.

Yes, bounds checking are unnecessary, you don't need those _s() functions - NSA director

Re: GCC 4.9 Release Series – Changes, New Features, and Fixes

#39

> Memory usage building Firefox with debug enabled was reduced from 15GB to 3.5GB; link time from 1700 seconds to 350 seconds. This is huge- you can now do this on a laptop

As a Gentoo user, we always did it on our laptop. Build time was about 30 minutes.

Firefox recently (Trunk as of December) started using Unified Sources so builds are now typically 7-9 minutes on laptops now for non Windows platforms.

Re: GCC 4.9 Release Series – Changes, New Features, and Fixes

#40
Support for the CPU code names in -march is a simple but really useful change:

   -march=nehalem, westmere, sandybridge, ivybridge, haswell,
   bonnell, broadwell, silvermont
Also this:

   -mtune=intel can now be used to generate code running well
   on the most current Intel processors, which are Haswell
   and Silvermont for GCC 4.9.
Post reply on HN