Compile with -freorder-blocks-and-partition and you'll find 00000000006b4a73 t .COLDE999 00000000004026a0 t .HOTB0
These symbols are not removed by the assembler because they are not named properly. The partitioning code should be using either ASM_GENERATE_INTERNAL_LABEL or targetm.asm_out.internal_label or both. -- Summary: useless symbols in object files Product: gcc Version: 4.1.0 Status: UNCONFIRMED Severity: minor Priority: P2 Component: rtl-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: rth at gcc dot gnu dot org CC: ctice at apple dot com,gcc-bugs at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21956