On Sun, Jul 22, 2012 at 1:21 AM, Allan McRae <allan@archlinux.org> wrote:
Hi all,
gcc-4.7 introduced some c++11 support, but unfortunately this resulted in a changed ABI for files compiled with c++98/03 support and those complied with c++11. So, if a library used c++11 but linked to a library using c++98, there could be crashes due to incompatibilities between these.
The gcc-4.7.1-5 package uses a snapshot with the needed patches to fix this issue. However, c++11 code compiled with any earlier 4.7.x version possibly be incompatible with c++11 code compiled with gcc-4.7.1-5 and above and anything compiled with c++98/03.
I have created a TODO list that includes everything linking to libstdc++.so and that was built since gcc-4.7.0 entered the repos. It is a big list, but only software that used --std=c++11 when compiling need recompiled. Look at your build output (you do keep the logs for future reference...) and decide if your package needs recompiled or not.
More details: http://jaegerandi.blogspot.com.au/2012/07/gcc-47-c-abi-changes-and-opensuse-... http://gcc.gnu.org/gcc-4.7/changes.html http://gcc.gnu.org/git/?p=gcc.git;a=commit;h=a245605f http://gcc.gnu.org/git/?p=gcc.git;a=commit;h=74ca4097
Allan
I noticed that you pushed the new gcc in the [testing] repo whereas rebuilds are usually done in [staging]. Is that wanted? If so, does the rebuilded packages go in [testing] repo? Eric