I added a pass in GCC and successfully built it to binary following the
building procedure (./configure, make, make install). I found
"mygcc/libexec/gcc/i686-pc-linux-gnu/4.0.2/cc1" is different from
"mygcc/gcc/cc1", as shown below.
----------------------------------------------------------------------
mygcc>ls -l libexec/gcc/i686-pc-linux-gnu/4.0.2/cc1
-rwxr-xr-x 1 user other 10985929 May 12 22:12
libexec/gcc/i686-pc-linux-gnu/4.0.2/cc1
mygcc>ls -l gcc/cc1
-rwxr-xr-x 1 user other 10986625 May 12 22:17 gcc/cc1
--------------------------------------------------------------------------
When I compiled a test code i.e, ">mygcc/gcc/cc1 $HOME/test.c", everything
works fine as I expected--i.e., the modification of the pass itself is good.
But when I tested the same code with the compiler driver (gcc), i.e.,
">mygcc/bin/gcc $HOME/test.c", as the driver uses
mygcc/libexec/gcc/i686-pc-linux-gnu/4.0.2/cc1 as the compiler, it does not
behave as I wanted (i.e, the pass I added is not executed). I wonder what
caused the problem, and how I can fix it.
Thanks a lot,
Sean
_________________________________________________________________
Express yourself instantly with MSN Messenger! Download today - it's FREE!
http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/