Hi, I'd really like to wrap my head around the concept of gcc toolchain generation w.r.t. different ABIs. So far, I managed to build cross compilers for the various architectures I need to support using these target tuples: i686-mytoolchain-linux-gnu mipsel-mytoolchain-linux-gnu mipseb-mytoolchain-linux-gnu powerpc-mytoolchain-linux-gnu but for ARM, I had to use linux-guneabi instead of linux-gnu to get the build done, i.e. arm-mytoolchain-linux-gnueabi To make all toolchains look as similar as possible, I then did use -gnueabi for the other architectures as well, which also worked fine, i.e. i686-mytoolchain-linux-gnueabi mipsel-mytoolchain-linux-gnueabi mipseb-mytoolchain-linux-gnueabi powerpc-mytoolchain-linux-gnueabi arm-mytoolchain-linux-gnueabi Now I really would like to understand what this eabi thing is all about in the context of GNU toolchain generation: Does it only make a difference for ARM? And what is the proper convention to be used for the other architecture's toolchains, _if_ it is only convention there? Should I go with or without -gnueabi for them? Finally, a quick look at the config.sub and configure scripts of gcc seem to indicate that -gnueabi only makes a difference for arm-, while -eabi is special for powerpc- and arm- (and _different_ from -gnueabi for arm-!). And what about mips*- and i*86-? At least for MIPS, Wikipedia says that EABI is also supported for this architecture. Thanks to anyone who could shed some light into the concept of different ABIs from the toolchain generation point of view. Cheers, Chris