Should Debian further support the i386 target, or make (at least i486) the default for code generation? Asking because I'm unsure how to provide the libstdc++5 package.
- In gcc-3.2, the libstdc++ atomicity implementation uses ix86 (>=4) specific code. This was reported by two users (#184446, #185662). - In gcc-3.3, it's differentiated between i386 and ix86 (>=4), however the atomicity implementation is selected at configure time (so an i386-linux configured compiler always uses the generic implementation). - Trying to "fix" this resulted in libstdc++5 packages built for i386 and ix86, and selecting the atomicity implementation based on target cpu macros. This approach doesn't work, as I learned now. See http://gcc.gnu.org/ml/libstdc++/2003-04/msg00394.html: It's not possible to mix the two implementations. - Keeping the generic implementation would not allow binaries linked against the libstdc++ built with the generic implementation to run on platforms with a libstdc++ built for ix86 (>=4). See #189983. No libstdc++ dependent binary will run on distributions "optimized" for ix86 (>=4). - The generic implementation hurts ix86 (>=4) users a bit more. Phil Edwards writes in #184446: Debian already hurts the x86 users (IMHO) by giving them a compiler targetted for processor which, I'd bet, is used by less than 2% of the user base. This is just one more performace hit on top of all the others; I really wouldn't worry about it unless/until the compiler is targeted to something more useful, e.g., i486, i586, or (quelle suprise) i686, and for those cases the atomic operations will be automatically corrected. For now I will revert to the gcc-3.2 implementation and continue beeing incompatible with i386. But if you do this, why not make i486 the default target for code generation anyway? Who decides on this, is there an "ix86" port maintainer? Matthias