https://gcc.gnu.org/g:8d42378acdf1a011420ba78685f7a6c79808c881
commit r15-9032-g8d42378acdf1a011420ba78685f7a6c79808c881 Author: LIU Hao <lh_mo...@126.com> Date: Sat Mar 29 22:47:54 2025 +0800 gcc/mingw: Align `.refptr.` to 8-byte boundaries for 64-bit targets Windows only requires sections to be aligned on a 4-byte boundary. This used to work because in binutils the `.rdata` section is over-aligned to a 16-byte boundary, which will be fixed in the future. This matches the output of Clang. Signed-off-by: LIU Hao <lh_mo...@126.com> Signed-off-by: Jonathan Yong <10wa...@gmail.com> gcc/ChangeLog: * config/mingw/winnt.cc (mingw_pe_file_end): Add `.p2align`. Diff: --- gcc/config/mingw/winnt.cc | 1 + 1 file changed, 1 insertion(+) diff --git a/gcc/config/mingw/winnt.cc b/gcc/config/mingw/winnt.cc index adaa6dfa3cff..08a761d3a6d4 100644 --- a/gcc/config/mingw/winnt.cc +++ b/gcc/config/mingw/winnt.cc @@ -819,6 +819,7 @@ mingw_pe_file_end (void) } fprintf (asm_out_file, "\t.section\t.rdata$%s, \"dr\"\n" + "\t.p2align\t3, 0\n" "\t.globl\t%s\n" "\t.linkonce\tdiscard\n", oname, oname); fprintf (asm_out_file, "%s:\n\t.quad\t%s\n", oname, name);