http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48176
--- Comment #13 from Eric Botcazou <ebotcazou at gcc dot gnu.org> 2011-03-18 10:05:32 UTC --- > That is related to .debug_ranges, not .debug_aranges. Ah, OK. Your solution: (arange_table_in_use || text_section_used || cold_text_section_used) seems indeed to be the best one, you might even want to write it as: (text_section_used || cold_text_section_used || arange_table_in_use) to match the layout of output_aranges. Thanks for debugging this.