[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug ld/11612] New: New underscoring behavior can break -aligncomm direc

From: dougsemler at gmail dot com
Subject: [Bug ld/11612] New: New underscoring behavior can break -aligncomm directve
Date: 19 May 2010 17:58:29 -0000

I ran across this situation due some .comm symbols being generated by gcc.  I
don't think it's a gcc problem per se, unless symbols are not allowed to begin
with a "."

The new underscoring behavior for 64 bit mingw 32 targets can break the linker's
expectation for the syntax of the -aligncomm .drectve section.  With the new
underscoring behavior, gcc generated a symbol that looked like this in the 

.comm   .gomp_critical_user_critical_foox, 8, 3

Gas translated that into:


Which generated a linker error:
/opt/devtools/x86_64-pc-linux/x86_64-w64-mingw32/bin/ld: <unknown-file>:0:
syntax error
Warning: .drectve `-aligncomm:.gomp_critical_user_critical_foox,3' unrecognized

The 32 bit side worked because gcc generated the symbol with a leading 

This is easy to replicate by:
echo ".comm .foo 8, 3" | x86_64-w64-mingw32-as - -o test.o && 
x86_64-w64-mingw32-ld -dll test.o -o test.dll

           Summary: New underscoring behavior can break -aligncomm directve
           Product: binutils
           Version: 2.21 (HEAD)
            Status: NEW
          Severity: normal
          Priority: P2
         Component: ld
        AssignedTo: unassigned at sources dot redhat dot com
        ReportedBy: dougsemler at gmail dot com
                CC: bug-binutils at gnu dot org,ktietz at onevision dot com
GCC target triplet: x86_64-*-mingw32


------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]