Your last change to expr.c broke bootstrap on ia64: Starting program: /tmp/cvs/gcc-20020831/Build/gcc/stage1/cc1 -quiet -v -I. -I. -I../../gcc -I../../gcc/. -I../../gcc/config -I../../gcc/../include -iprefix stage1/../lib/gcc-lib/ia64-suse-linux/3.3/ -isystem include -isystem stage1/include -isystem /usr/local/ia64-suse-linux/bin/include -D__GNUC__=3 -D__GNUC_MINOR__=3 -D__GNUC_PATCHLEVEL__=0 -D__gnu_linux__ -D__linux -D__linux__ -D_LONGLONG -Dlinux -Dunix -D__gnu_linux__ -D__linux -D__linux__ -D_LONGLONG -D__linux__ -D__unix__ -D__linux -D__unix -Asystem=linux -Acpu=ia64 -Amachine=ia64 -D__ia64 -D__ia64__ -D_LP64 -D__LP64__ -D__ELF__ -DIN_GCC -DHAVE_CONFIG_H ../../gcc/resource.c -quiet -dumpbase resource.c -auxbase-strip resource.o -g -O2 -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wtraditional -pedantic -Wno-long-long -version -fno-common ignoring nonexistent directory "stage1/include" ignoring nonexistent directory "/usr/local/ia64-suse-linux/bin/include" GNU C version 3.3 20020831 (experimental) (ia64-suse-linux) compiled by GNU C version 3.1.1 20020715 (prerelease) (SuSE Linux). ignoring nonexistent directory "lib/gcc-lib/ia64-suse-linux/3.3/include" ignoring nonexistent directory "lib/gcc-lib/ia64-suse-linux/3.3/../../../../ia64-suse-linux/include" ignoring nonexistent directory "NONE/include" ignoring nonexistent directory "/usr/local/lib/gcc-lib/ia64-suse-linux/3.3/include" ignoring nonexistent directory "/usr/local/ia64-suse-linux/include" ignoring duplicate directory "." ignoring duplicate directory "../../gcc" #include "..." search starts here: #include <...> search starts here: . ../../gcc ../../gcc/config ../../include include /usr/local/include /usr/include End of search list. Program received signal SIGSEGV, Segmentation fault. block_move_libcall_safe_for_call_parm () at ../../gcc/expr.c:1781 1781 = TYPE_MODE (TREE_TYPE (TREE_VALUE (arg))); (gdb) l 1776 1777 arg = TYPE_ARG_TYPES (TREE_TYPE (fn)); 1778 for ( ; arg != void_list_node ; arg = TREE_CHAIN (arg)) 1779 { 1780 enum machine_mode mode 1781 = TYPE_MODE (TREE_TYPE (TREE_VALUE (arg))); 1782 rtx tmp = FUNCTION_ARG (args_so_far, mode, NULL_TREE, 1); 1783 if (!tmp || !REG_P (tmp)) 1784 goto fail_takes_regs; 1785 #ifdef FUNCTION_ARG_PARTIAL_NREGS (gdb) p arg $1 = (union tree_node *) 0x2000000000586250 (gdb) pt unit size align 64 symtab 1861024 alias set -1 precision 64 min max > chain >>> (gdb) p $.list.value $2 = (union tree_node *) 0x20000000002dabc0 (gdb) pt constant 64> unit size constant 8> align 64 symtab 1861024 alias set -1 precision 64 min max > (gdb) p $.common.type $3 = (union tree_node *) 0x0 Andreas. -- Andreas Schwab, SuSE Labs, schwab@suse.de SuSE Linux AG, Deutschherrnstr. 15-19, D-90429 Nürnberg Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 "And now for something completely different."