I compile a cross compiler --host=x86_64-redhat-linux-gnu --target=x86_64-pc-mingw32, Then use this cross compiler to compile a native binutils and gcc, Then I run the native x86_64-pc-mingw32-g++.exe which call native as.exe under winxp x64.
It produce such error : $ /c/tools/target/bin/x86_64-pc-mingw32-g++.exe -v -Wall hello.cpp Using built-in specs. Target: x86_64-pc-mingw32 Configured with: ../gcc/configure --host=x86_64-pc-mingw32 --enable-languages=c,c++ --disable-nls --disable-multilib --disable-libstdcxx-pch --enable-long-long --with-gmp=/home/drangon/mingw/target/forgcc --prefix=/home/drangon/mingw/target Thread model: win32 gcc version 4.3.0 20070914 (experimental) (GCC) COLLECT_GCC_OPTIONS='-v' '-Wall' '-mtune=generic' c:/tools/target/bin/../libexec/gcc/x86_64-pc-mingw32/4.3.0/cc1plus.exe -quiet -v -iprefix c:\tools\target\bin\../lib/gcc/x86_64-pc-mingw32/4.3.0/ hello.cpp -quiet -dumpbase hello.cpp -mtune=generic -auxbase hello -Wall -version -o C:/DOCUME~1/drangon/LOCALS~1/Temp/ccMHaaaa.s ignoring nonexistent directory "c:\tools\target\bin\../lib/gcc/x86_64-pc-mingw32/4.3.0/../../../../include/c++/4.3.0" ignoring nonexistent directory "c:\tools\target\bin\../lib/gcc/x86_64-pc-mingw32/4.3.0/../../../../include/c++/4.3.0/x86_64-pc-mingw32" ignoring nonexistent directory "c:\tools\target\bin\../lib/gcc/x86_64-pc-mingw32/4.3.0/../../../../include/c++/4.3.0/backward" ignoring nonexistent directory "c:/tools/target/lib/gcc/../../lib/gcc/x86_64-pc-mingw32/4.3.0/../../../../include/c++/4.3.0" ignoring nonexistent directory "c:/tools/target/lib/gcc/../../lib/gcc/x86_64-pc-mingw32/4.3.0/../../../../include/c++/4.3.0/x86_64-pc-mingw32" ignoring nonexistent directory "c:/tools/target/lib/gcc/../../lib/gcc/x86_64-pc-mingw32/4.3.0/../../../../include/c++/4.3.0/backward" ignoring nonexistent directory "/home/drangon/mingw/target/include" ignoring nonexistent directory "/mingw/include64" #include "..." search starts here: #include <...> search starts here: c:\tools\target\bin\../lib/gcc/x86_64-pc-mingw32/4.3.0/../../../../include c:\tools\target\bin\../lib/gcc/x86_64-pc-mingw32/4.3.0/include c:\tools\target\bin\../lib/gcc/x86_64-pc-mingw32/4.3.0/include-fixed c:\tools\target\bin\../lib/gcc/x86_64-pc-mingw32/4.3.0/../../../../x86_64-pc-mingw32/include c:/tools/target/lib/gcc/../../include c:/tools/target/lib/gcc/../../lib/gcc/x86_64-pc-mingw32/4.3.0/include c:/tools/target/lib/gcc/../../lib/gcc/x86_64-pc-mingw32/4.3.0/include-fixed c:/tools/target/lib/gcc/../../lib/gcc/x86_64-pc-mingw32/4.3.0/../../../../x86_64-pc-mingw32/include End of search list. GNU C++ (GCC) version 4.3.0 20070914 (experimental) (x86_64-pc-mingw32) compiled by GNU C version 4.3.0 20070914 (experimental), GMP version 4.2.2, MPFR version 2.3.0. GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 Compiler executable checksum: 952c5c349b801e679ce084d69ae4e018 hello.cpp: In function 'int main(int, char**)': hello.cpp:9: warning: format '%d' expects type 'int', but argument 2 has type 'long long unsigned int' hello.cpp:9: warning: format '%d' expects type 'int', but argument 3 has type 'long long unsigned int' hello.cpp:9: warning: format '%d' expects type 'int', but argument 4 has type 'long long unsigned int' COLLECT_GCC_OPTIONS='-v' '-Wall' '-mtune=generic' c:/tools/target/bin/../lib/gcc/x86_64-pc-mingw32/4.3.0/../../../../x86_64-pc-mingw32/bin/as.exe -o C:/DOCUME~1/drangon/LOCALS~1/Temp/ccofbaaa.o C:/DOCUME~1/drangon/LOCALS~1/Temp/ccMHaaaa.s C:/DOCUME~1/drangon/LOCALS~1/Temp/ccMHaaaa.s: Assembler messages: C:/DOCUME~1/drangon/LOCALS~1/Temp/ccMHaaaa.s:2: Internal error! Assertion failure in obj_coff_endef at ../../binutils/gas/config/obj-coff.c line 780. Please report this bug. ================================= I read the source code binutils/gas/config/obj-coff.c 780 line it is : 778 if (SF_GET_FUNCTION (def_symbol_in_progress)) 779 { 780 know (sizeof (def_symbol_in_progress) <= sizeof (long)); 781 set_function (def_symbol_in_progress); 782 SF_SET_PROCESS (def_symbol_in_progress); x86_64-pc-mingw32 has a ABI that pointer is 8 bytes and int / long is 4 bytes, so maybe sizeof( pointer ) <= sizeof(long) is not true. I remove this line and compile a new as.exe, then run g++, it print out this log : $ /c/tools/target/bin/x86_64-pc-mingw32-g++.exe -v -Wall hello.cpp Using built-in specs. Target: x86_64-pc-mingw32 Configured with: ../gcc/configure --host=x86_64-pc-mingw32 --enable-languages=c,c++ --disable-nls --disable-multilib --disable-libstdcxx-pch --enable-long-long --with-gmp=/home/drangon/mingw/target/forgcc --prefix=/home/drangon/mingw/target Thread model: win32 gcc version 4.3.0 20070914 (experimental) (GCC) COLLECT_GCC_OPTIONS='-v' '-Wall' '-mtune=generic' c:/tools/target/bin/../libexec/gcc/x86_64-pc-mingw32/4.3.0/cc1plus.exe -quiet -v -iprefix c:\tools\target\bin\../lib/gcc/x86_64-pc-mingw32/4.3.0/ hello.cpp -quiet -dumpbase hello.cpp -mtune=generic -auxbase hello -Wall -version -o C:/DOCUME~1/drangon/LOCALS~1/Temp/ccQLaaaa.s ignoring nonexistent directory "c:\tools\target\bin\../lib/gcc/x86_64-pc-mingw32/4.3.0/../../../../include/c++/4.3.0" ignoring nonexistent directory "c:\tools\target\bin\../lib/gcc/x86_64-pc-mingw32/4.3.0/../../../../include/c++/4.3.0/x86_64-pc-mingw32" ignoring nonexistent directory "c:\tools\target\bin\../lib/gcc/x86_64-pc-mingw32/4.3.0/../../../../include/c++/4.3.0/backward" ignoring nonexistent directory "c:/tools/target/lib/gcc/../../lib/gcc/x86_64-pc-mingw32/4.3.0/../../../../include/c++/4.3.0" ignoring nonexistent directory "c:/tools/target/lib/gcc/../../lib/gcc/x86_64-pc-mingw32/4.3.0/../../../../include/c++/4.3.0/x86_64-pc-mingw32" ignoring nonexistent directory "c:/tools/target/lib/gcc/../../lib/gcc/x86_64-pc-mingw32/4.3.0/../../../../include/c++/4.3.0/backward" ignoring nonexistent directory "/home/drangon/mingw/target/include" ignoring nonexistent directory "/mingw/include64" #include "..." search starts here: #include <...> search starts here: c:\tools\target\bin\../lib/gcc/x86_64-pc-mingw32/4.3.0/../../../../include c:\tools\target\bin\../lib/gcc/x86_64-pc-mingw32/4.3.0/include c:\tools\target\bin\../lib/gcc/x86_64-pc-mingw32/4.3.0/include-fixed c:\tools\target\bin\../lib/gcc/x86_64-pc-mingw32/4.3.0/../../../../x86_64-pc-mingw32/include c:/tools/target/lib/gcc/../../include c:/tools/target/lib/gcc/../../lib/gcc/x86_64-pc-mingw32/4.3.0/include c:/tools/target/lib/gcc/../../lib/gcc/x86_64-pc-mingw32/4.3.0/include-fixed c:/tools/target/lib/gcc/../../lib/gcc/x86_64-pc-mingw32/4.3.0/../../../../x86_64-pc-mingw32/include End of search list. GNU C++ (GCC) version 4.3.0 20070914 (experimental) (x86_64-pc-mingw32) compiled by GNU C version 4.3.0 20070914 (experimental), GMP version 4.2.2, MPFR version 2.3.0. GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 Compiler executable checksum: 952c5c349b801e679ce084d69ae4e018 hello.cpp: In function 'int main(int, char**)': hello.cpp:9: warning: format '%d' expects type 'int', but argument 2 has type 'long long unsigned int' hello.cpp:9: warning: format '%d' expects type 'int', but argument 3 has type 'long long unsigned int' hello.cpp:9: warning: format '%d' expects type 'int', but argument 4 has type 'long long unsigned int' COLLECT_GCC_OPTIONS='-v' '-Wall' '-mtune=generic' c:/tools/target/bin/../lib/gcc/x86_64-pc-mingw32/4.3.0/../../../../x86_64-pc-mingw32/bin/as.exe -o C:/DOCUME~1/drangon/LOCALS~1/Temp/ccwnbaaa.o C:/DOCUME~1/drangon/LOCALS~1/Temp/ccQLaaaa.s C:/DOCUME~1/drangon/LOCALS~1/Temp/ccQLaaaa.s: Assembler messages: C:/DOCUME~1/drangon/LOCALS~1/Temp/ccQLaaaa.s:107: Error: unknown pseudo-op: `.hidden' -- Summary: x86_64-pc-mingw32-as.exe failed to work Product: binutils Version: 2.19 (HEAD) Status: NEW Severity: normal Priority: P2 Component: gas AssignedTo: unassigned at sources dot redhat dot com ReportedBy: drangon dot mail at gmail dot com CC: bug-binutils at gnu dot org GCC build triplet: x86_64-redhat-linux-gnu GCC host triplet: x86_64-pc-mingw32 GCC target triplet: x86_64-pc-mingw32 http://sourceware.org/bugzilla/show_bug.cgi?id=5035 ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is. _______________________________________________ bug-binutils mailing list bug-binutils@gnu.org http://lists.gnu.org/mailman/listinfo/bug-binutils