------- Comment #3 from rob1weld at aol dot com 2009-02-14 02:06 ------- The next issue is here:
../gcc_trunk/gcc/unwind-dw2.c and ../gcc_trunk/gcc/unwind-dw2-fde.c, etc ... ../../../../gcc_trunk/libgcc/../gcc/gthr-posix.h:44:21: error: pthread.h: No such file or directory ../../../../gcc_trunk/libgcc/../gcc/gthr-posix.h:45:20: error: unistd.h: No such file or directory In file included from ../../.././gcc/gthr-default.h:1, from ../../../../gcc_trunk/libgcc/../gcc/gthr.h:165, from ../../../../gcc_trunk/libgcc/../gcc/unwind-dw2.c:42: ../../../../gcc_trunk/libgcc/../gcc/gthr-posix.h:47: error: expected =, ,, ;, asm or __attribute__ before __gthread_t I built that one file manually by adding "-I/usr/include" to the list of include directories, that allowed it to find "pthread.h" and "unistd.h". I tried adding "-I/usr/include" into the Makefile in ../gcc_build/x86_64-pc-solaris2.11/amd64/libgcc like this: # Specify the directories to be searched for header files. # Both . and srcdir are used, in that order, # so that *config.h will be found in the compilation # subdirectory rather than in the source directory. # -I$(@D) and -I$(srcdir)/$(@D) cause the subdirectory of the file # currently being compiled, in both source trees, to be examined as well. INCLUDES = -I. -I$(@D) -I$(gcc_objdir) \ -I$(srcdir) -I$(srcdir)/$(@D) -I$(srcdir)/../gcc \ -I$(srcdir)/../include $(DECNUMINC) -I/usr/include That works for a while but when I get here: /usr/share/src/gcc_build/./gcc/xgcc -v -B/usr/share/src/gcc_build/./gcc/ -B/usr/local/x86_64-pc-solaris2.11/bin/ -B/usr/local/x86_64-pc-solaris2.11/lib/ -isystem /usr/local/x86_64-pc-solaris2.11/include -isystem /usr/local/x86_64-pc-solaris2.11/sys-include -O2 -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -DNATIVE_CROSS -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wcast-qual -Wold-style-definition -isystem ./include -I. -I/usr/share/src/gcc_build/x86_64-pc-solaris2.11/amd64/libgcc -I../../gcc_trunk/gcc -I../../gcc_trunk/gcc//usr/share/src/gcc_build/x86_64-pc-solaris2.11/amd64/libgcc -I../../gcc_trunk/gcc/../include -I./../intl -I../../gcc_trunk/gcc/../libcpp/include -I/usr/local/include -I/usr/local/include -I../../gcc_trunk/gcc/../libdecnumber -I../../gcc_trunk/gcc/../libdecnumber/dpd -I../libdecnumber -g -O2 -m64 -g0 -finhibit-size-directive -fno-inline-functions -fno-exceptions -fno-zero-initialized-in-bss -fno-toplevel-reorder -fno-tree-vectorize -Dinhibit_libc -c ../../gcc_trunk/gcc/crtstuff.c -DCRT_BEGIN --save-temps -o /usr/share/src/gcc_build/x86_64-pc-solaris2.11/amd64/libgcc/crtbegin.o I get this: ... /usr/local/bin/as -v -I. -I/usr/share/src/gcc_build/x86_64-pc-solaris2.11/amd64/libgcc -I../../gcc_trunk/gcc -I../../gcc_trunk/gcc//usr/share/src/gcc_build/x86_64-pc-solaris2.11/amd64/libgcc -I../../gcc_trunk/gcc/../include -I./../intl -I../../gcc_trunk/gcc/../libcpp/include -I/usr/local/include -I/usr/local/include -I../../gcc_trunk/gcc/../libdecnumber -I../../gcc_trunk/gcc/../libdecnumber/dpd -I../libdecnumber -V -Qy --64 -s -o /usr/share/src/gcc_build/x86_64-pc-solaris2.11/amd64/libgcc/crtbegin.o crtstuff.s GNU assembler version 2.19.1 (i386-pc-solaris2.11) using BFD version (GNU Binutils) 2.19.1 crtstuff.s: Assembler messages: crtstuff.s:91: Error: suffix or operands invalid for `pop' crtstuff.s:92: Error: Incorrect register `%rdx' used with `l' suffix .p2align 4,,15 .type frame_dummy, @function frame_dummy: .LFB4: .cfi_startproc pushq %rbp .cfi_def_cfa_offset 16 movl $__register_frame_info_bases, %eax /APP / 354 "../../gcc_trunk/gcc/crtstuff.c" 1 call .LPR53 .LPR53: popl %rdx addl $_GLOBAL_OFFSET_TABLE_+[.-.LPR53],%rdx / 0 "" 2 /NO_APP Line 91: popl %rdx Line 92: addl $_GLOBAL_OFFSET_TABLE_+[.-.LPR53],%rdx Tossing an "-m32" into the end of the "xgcc ..." command will compile without errors. Thus, I conclude that the "-m32" for gcc (which does produce an "--64" for the assembler) is somehow giving us 32 bit code instead of 64 bit. Investigating ... Rob -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39186