I know that (recently) gcc/binutils has been through a "tightening" process where they have been trying to cleanup their act, by following more strict compiling/linking.
You mean that GCC continually improves its user error detection.
This has resulted in quite a few builds being broken due to things that were once allowed and are not allowed now.
"Things used to work accidentally, and are now correctly flagged as errors".
I like the idea of being able to "specify" a local toolchain.
Of course -- this is how every other project is built!
This would give someone the option to compile and build with a "known" good toolchain.
Or a known-bad. Or just a different one, for testing or whatever.
I feel this is useful in that toolchain problems can be very difficult to track down.
Yes, they can be. They usually aren't though.
They normally manifest themselves in a seg fault when running the compiled application or a very ambiguous error message during linking/compiling.
Make sure you enable lots of compiler warnings, they help find fishy code.
If you don't understand the errors the compiler is throwing, please ask (on gcc-help, for example), or read the manual. I'm sure many error messages can be improved; please file PRs for that, or send patches, etc.
I will look at this and see what changes would need to be made to buildrom to make so you can specify a different local compiler. This would follow along the lines of $(CROSS-COMPILER) macro that is usually used for compiling an application with a cross-compiler.
Most people use $(CC) and $(CFLAGS), etc.
Segher