http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55886

             Bug #: 55886
           Summary: gcc/configure.ac problems lead to GCC 4.7.2 not
                    building for x86_64-pc-mingw64
    Classification: Unclassified
           Product: gcc
           Version: 4.7.2
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: bootstrap
        AssignedTo: unassig...@gcc.gnu.org
        ReportedBy: devuran...@gmx.net


gcc/configure.ac contains several checks for mingw hosts, which are tied to
mingw32 instead of generic mingw. This might lead to problems when
crosscompiling a x86_64-pc-mingw64 compiler.

Possibly problematic lines in gcc-4.7.2/gcc/configure.ac:
    case $host in                                                               
1453: *-*-mingw32*)
    use_cxa_atexit=yes

case $host_os in                                                                
1656:  win32 | pe | cygwin* | mingw32* | uwin*)
    if test "x$enable_win32_registry" != xno; then

[case $target_os in                                                             
2565:  win32 | pe | cygwin* | mingw32* | uwin*)
    # Need to check that we generated the correct relocation for the

    case $target_os in
3604:      cygwin* | pe | mingw32* | interix*)
    # Recent binutils allows the three-operand form of ".comm" on PE.  This

They should probably use mingw* instead of mingw32*.

At least the last one (gcc/configure.ac:3604) is wrong and leads to
HAVE_GAS_ALIGNED_COMM being undefined for mingw64, which makes gcc/options.c
(autogenerated file) fail to compile:
options.c:952:3: error: ‘HAVE_GAS_ALIGNED_COMM’ undeclared here (not in a
function)

See also: https://bugs.gentoo.org/show_bug.cgi?id=447708

Reply via email to