]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
gcc/mingw: Align `.refptr.` to 8-byte boundaries for 64-bit targets
authorLIU Hao <lh_mouse@126.com>
Sat, 29 Mar 2025 14:47:54 +0000 (22:47 +0800)
committerJonathan Yong <10walls@gmail.com>
Sun, 30 Mar 2025 02:45:21 +0000 (02:45 +0000)
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_mouse@126.com>
Signed-off-by: Jonathan Yong <10walls@gmail.com>
gcc/ChangeLog:
* config/mingw/winnt.cc (mingw_pe_file_end): Add `.p2align`.

gcc/config/mingw/winnt.cc

index adaa6dfa3cffab7027c5aea55369d47f4e210607..08a761d3a6d4a85ef333a6dde751afd9d8e8df31 100644 (file)
@@ -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);