https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83805
--- Comment #6 from Georg-Johann Lay <gjl at gcc dot gnu.org> --- (In reply to Jakub Jelinek from comment #1) > If so, avr should override the select_section and unique_section target > hooks and return something different for the __flash strings. Also tried TARGET_ASM_UNIQUE_SECTION (again atop the patch for PR83801): Doesn't solve the problem. With -fdata-sections, I can change one of the section names, namely str2 (which already was correctly put into .rodata). But .LC0 is still shared between fun1 and fun2. TARGET_ASM_UNIQUE_SECTION is called 2 times: For the 2 VAR_DECLs str1 and str2, but not for STRING_CST .LC0.