https://gcc.gnu.org/bugzilla/show_bug.cgi?id=192
--- Comment #17 from Matt Whitlock <gcc at mattwhitlock dot name> --- (In reply to Segher Boessenkool from comment #16) Thanks for the fix, Segher. Your patch seems more "right" than mine, although I will point out that it doesn't precisely address this bug report, as it places string literal data into unique sections only if -ffunction-sections is set, whereas -fdata-sections has no impact. I can see arguments both ways, and personally this distinction is irrelevant to me, as I always use for -ffunction-sections and -fdata-sections, but the new behavior does seem somewhat counter-intuitive to me. Anyway, I tested your new patch (backported to GCC 4.9.2) with the use cases in Comment 11 and Comment 15, and both produced the desired results (after I added -ffunction-sections to the command lines in Comment 15). So I'm appeased.