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);

Reply via email to