problems with writing a new pass

worm book skyhover@hotmail.com
Mon Oct 3 10:04:00 GMT 2005


Hi,

I wrote a new pass following the examples listed in the wiki 
pages. However, when I "../gcc/configure; make bootstrap", I got 
error messages like:

/xgcc -B./ -B/usr/local/i686-pc-linux-gnu/bin/ -isystem 
/usr/local/i686-pc-linux-gnu/include -isystem 
/usr/local/i686-pc-linux-gnu/sys-include -L/backup/home/jianglx/softs/researchTools/parsetree/v2/gcc/gcccvs/gccbuild/gcc/../ld 
 -O2 -O2 -g -O2  -DIN_GCC    -W -Wall -Wwrite-strings -Wstrict-prototypes 
 -Wmissing-prototypes -Wold-style-definition  -isystem 
/include  -I. -I. -I../../gcc/gcc -I../../gcc/gcc/. -I../../gcc/gcc/../include 
 -I../../gcc/gcc/../libcpp/include   -g0 -finhibit-size-directive  
-fno-inline-functions -fno-exceptions -fno-zero-initialized-in-bss 
 -fno-unit-at-a-time  -fno-omit-frame-pointer \
  -c ../../gcc/gcc/crtstuff.c -DCRT_BEGIN \
  -o crtbegin.o
In file included from /usr/include/stdio.h:831,
                 from ../../gcc/gcc/tsystem.h:90,
                 from ../../gcc/gcc/crtstuff.c:62:
/usr/include/bits/stdio.h: In function 'vprintf':
/usr/include/bits/stdio.h:37: internal compiler error: 
Segmentation fault

The pass just iterates all statements using FOR_EACH_BB and 
bsi_start/bsi_next and counts the numbers of different kinds of 
statements. I only added a new file containing the code for 
counting and didn't touch other files except for tree-pass.h, 
timevar.def, passes.c, Makefile.in which are mentioned in the 
examples. There is a hash table structure written by myself in the 
new file, using some library functions, such as xmalloc, assert 
and strcmp. I have no clue what the error message implies. Can 
anybody shed some light on it?


By the way, when I tried to build GCC using the code from the CVS 
repository, the bootstrap failed on my machine, showing error 
message like:

config.status: error: cannot find input file: 
native/jawt/Makefile.in
configure: error: /bin/sh 
'../../../../gcc/libjava/classpath/configure' failed for classpath
make[1]: *** [configure-target-libjava] Error 1
make[1]: Leaving directory `/backup/gcc/gcccvs/gccbuild'
make: *** [bootstrap] Error 2

However, if I disable Java support by 
"../gcc/configure --enable-language=c,c++,fortran,objc", bootstrap 
succeeds. Does it mean that certain configuration for Java is 
wrong?

Thanks a lot.

Skyhover



More information about the Gcc mailing list