https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121394
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|[16 Regression][gcn] Since |[14/15/16 Regression] Since |r16-2595-gf1c80147641783: |r16-2595-gf1c80147641783: |link-time error: |link-time error: |libm_a-e_atan2.o):(.rodata. |libm_a-e_atan2.o):(.rodata. |cst32): SHF_MERGE section |cst32): SHF_MERGE section |size (56) must be a |size (56) must be a |multiple of sh_entsize (32) |multiple of sh_entsize (32) Target Milestone|16.0 |14.4 Component|target |middle-end Target|gcn |gcn i?86 --- Comment #10 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Found a C++ testcase which shows the same issue starting in GCC 14 (r14-1500-g4d935f52b0d5c0), happens on i?86 (or x86_64 with -m32): ``` #include <initializer_list> std::initializer_list<long double> a = {0.3l}; ``` We get: ``` .section .rodata.cst16,"aM",@progbits,16 .align 16 .type _ZGR1a_, @object .size _ZGR1a_, 12 _ZGR1a_: .long -1717986918 .long -1717986919 .long 16381 .text ``` Which is wrong and missed the .align there. The patch I have fixes both.