Ian, Thanks. Tried [gcc -v] : it show only the options of the build scripts. Tried [echo " " | gcc -c -xc -v -o tmp.o], seems gcc does not receive the pipe as its input. Tried [touch tmp.c ; gcc -c -xc -v tmp.c -o tmp.o], it works. And thanks for Andi's advices too. Sorry that I forgot to reply-to-all to include gcc-help@xxxxxxxxxxx, which made Andi's previous advices not shown on the mail-list. Curious question: why to search /usr/local/include before /usr/include? And what is the original intention to have /usr and /usr/local both, rather than just /usr? Best Regards, Song Du Application Processor System Engineering @ Marvell Technology Shanghai Ltd. -----Original Message----- From: Ian Lance Taylor [mailto:iant@xxxxxxxxxx] Sent: 2010年5月18日 22:29 To: Song Du Cc: gcc-help@xxxxxxxxxxx Subject: Re: when GCC searches the system include directories, "/usr/include" first, or "usr/lib/gcc/include", "usr/local/lib/gcc/include" first? Use gcc -v to see the exact include directories and the order in which they are searched. Ian