We have the need to capture our compilers into our configuration management system so that we build with different versions. So I was checking the capture of the compiler by wrapping an strace around a compile that is invoked with the -B option to add a new search path for the relocated compiler. Everything looked like it was being found in the new location except when the crt?.o start up code is being looked for. It appeared that directory locations were looked for first and then the file, crt1.o or crti.o, was searched for all over the place. The complilations work and the programs execute, but it does appear to looking all over the file system for the start up code to be linked with the application. This was observed with a 4.1.2 g++ build.