Hi all, I'm currently using a toolchain based on binutils 2.12.90.0.1 and gcc-2.95.4-debian for my Linux kernel work. Since I'm developing for an embedded target, I wanted to check out mips16 code generation for the userspace apps. Unfortunately my gcc aborts with an internal error on even the simplest test program: $ cat t16.c extern int write(int fd, const char *buf, unsigned int size); int main(int argc, char *argv[]) { write(0, "xy", 2); return 0; } $ mips-linux-gcc -mips16 -Wall -S t16.c t16.c: In function `main': t16.c:8: Internal compiler error: t16.c:8: Unable to generate reloads for: (call_insn 18 16 21 (parallel[ (set (reg:SI 2 v0) (call (mem:SI (symbol_ref:SI ("write")) 0) (const_int 16 [0x10]))) (clobber (reg:SI 31 ra)) ] ) 469 {call_value_internal2} (nil) (nil) (expr_list (use (reg:SI 6 a2)) (expr_list (use (reg:SI 5 a1)) (expr_list (use (reg:SI 4 a0)) (nil))))) 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? Is there working support for mips16 in any other gcc-version? How about gcc-3.x from CVS? Any other comments or recommendations regarding mips16? glibc support wrt mips16 is not an issue for us, since we plan to use the dietlibc (http://www.fefe.de/dietlibc/). MIPS support for the dietlibc is still bit rough, though. Regards, Johannes