http://gcc.gnu.org/ml/gcc-patches/2007-07/msg01745.html regresses the property that code output with -g must be the same as that without -g. make bootstrap-debug demonstrates that several files miscompare after this patch, and don't if the patch is reversed.
The patch not only causes -g divergence, it also accidentally drops subblocks that need to be kept around for the sake of generating debug information for them. Both problems are fixed with the patch at http://gcc.gnu.org/ml/gcc-patches/2007-10/msg00608.html -- Summary: scope-blocks-on-a-diet patch diverges -g from non-g output code Product: gcc Version: 4.3.0 Status: UNCONFIRMED Severity: blocker Priority: P3 Component: bootstrap AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: aoliva at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34255