Index: gcc/config/i386/winnt.c =================================================================== --- gcc/config/i386/winnt.c (revision 140312) +++ gcc/config/i386/winnt.c (working copy) @@ -502,24 +502,13 @@ void i386_pe_asm_output_aligned_decl_common (FILE *stream, tree decl, const char *name, HOST_WIDE_INT size, - HOST_WIDE_INT align ATTRIBUTE_UNUSED) + HOST_WIDE_INT align) { - HOST_WIDE_INT rounded; - - /* Compute as in assemble_noswitch_variable, since we don't actually - support aligned common. */ - rounded = size ? size : 1; - rounded += (BIGGEST_ALIGNMENT / BITS_PER_UNIT) - 1; - rounded = (rounded / (BIGGEST_ALIGNMENT / BITS_PER_UNIT) - * (BIGGEST_ALIGNMENT / BITS_PER_UNIT)); - i386_pe_maybe_record_exported_symbol (decl, name, 1); - - fprintf (stream, "\t.comm\t"); + + fprintf (stream, "\t.bss\n\t.balign %d\n\t.comm \t", ((int) align) / BITS_PER_UNIT); assemble_name (stream, name); - fprintf (stream, ", " HOST_WIDE_INT_PRINT_DEC "\t" ASM_COMMENT_START - " " HOST_WIDE_INT_PRINT_DEC "\n", - rounded, size); + fprintf (stream, ", " HOST_WIDE_INT_PRINT_DEC "\n", size); } /* The Microsoft linker requires that every function be marked as