[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

GCC 4.1 now the default GCC version for etch


The compilers from GCC 4.1 provide now the default compiler for etch
for Ada, C, C++, Objc, ObjC++, Fortran95 and for the Java language.
The packages are currently in the incoming queue and will hit the
archive on Wed. June 7.  Compilers for Fortran77 and Pascal still
default to the compilers built from GCC 3.4.  Although we did not get
feedback from all port maintainers, we did switch the compiler
versions to 4.1 for all architectures [2].

Test builds on different architectures did reveal compiler bugs and
hundreds of bugs in packages, where the compilers became more strict.
The remaining 14 open reports against these packages can be found at
[1].  Many thanks to Martin Michlmayr for endless archive rebuilds and
working on these bugs.

During the test rebuilds, usually only reports from package building
failures were reported and fixed.  There may miss some bugs
resulting in miscompilation of a package; in some case that can be
compiler bug, in other cases it's an overviewed compiler warning,
leading to wrong code.

We did pick two compiler warnings and scanned the build logs of one
archive rebuild on alpha (64bit), where wrong code may be generated.
These warnings can be found in 1600 packages [4]; they are:

 - dereferencing type-punned pointer will break strict-aliasing rules

   For a description see the gcc(1) man page or [3]; a common
   workaround is to lower the optimization using -fno-strict-aliasing.
   See -Wstrict-aliasing and -Wstrict-aliasing=2 as well.

 - cast from pointer to integer of different size
   cast to pointer from integer of different size

   These warnings may point to code which is not 64bit clean. They are
   most likely not seen on 32bit architectures. See the amd64, alpha
   and ia64 build logs for these architecture specific warnings.

Bug reports for all these maybe-bugs could be a way to audit these
packages and close them if the package is looked at for the problems.


[1] http://bugs.debian.org/366820
[2] http://lists.debian.org/debian-devel/2006/06/msg00152.html
[3] http://gcc.gnu.org/onlinedocs/gcc-4.1.1/gcc/Optimize-Options.html#Optimize-Options
[4] http://people.debian.org/~tbm/logs/pointer/

Version: 2.6.3i
Charset: noconv
Comment: Processed by Mailcrypt 3.5.8, an Emacs/PGP interface


Reply to: