> I saw that the algorithmics toolchain (which Dominic Sweetman > offered to the Linux/MIPS community here a month ago) claims > to have full support for the mips16 instruction set. > > My questions: > Does anyone here have experiences with mips16 and/or with the > algorithmics toolchain? Yes. Both Algorithmics and Green Hills embedded tool chains support it reasonably well. GHS has no Linux target, though. Algorithmics has been working on one, but I'm not sure what it's current status is. > Is there working support for mips16 in any other gcc-version? Cygnus (now part of Red Hat) did the very first MIPS16 support for gcc, most of which found its way into the main development/maintence stream. But apparently not enough of it, based on your experience. > How about gcc-3.x from CVS? No data there. > Any other comments or recommendations regarding mips16? MIPS16 requires more than just gcc support. One needs a binutils that can distinguish a MIPS16 binary module (or function if you want to be fancy and mix/match within modules) from a MIPS32/64 module and perform fixups so that the right selections are made between JAL and JALX on function invocations. If you've got that, you should not need a seperate MIPS16 libc. To correctly support MIPS16, the Linux kernel does need to be tweaked in those cases where user-mode instructions are decoded and interpreted, as in arch/mips/kernel/branch.c and unaligned.c. I believe that code has been prototyped somewhere, but it's not yet in any commonly used repository to the best of my knowledge. If you avoid throwing executing non-instructions, performing unaligned accesses, etc, you should be able to tiptoe around that deficiency. Regards, Kevin K.