From: LIU Hao Date: Sat, 29 Mar 2025 14:47:54 +0000 (+0800) Subject: gcc/mingw: Align `.refptr.` to 8-byte boundaries for 64-bit targets X-Git-Tag: basepoints/gcc-16~521 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8d42378acdf1a011420ba78685f7a6c79808c881;p=thirdparty%2Fgcc.git 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 Signed-off-by: Jonathan Yong <10walls@gmail.com> gcc/ChangeLog: * config/mingw/winnt.cc (mingw_pe_file_end): Add `.p2align`. --- 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);