First of all, many thanks for your help! I wrote: > $ mips-linux-gcc -mips16 -Wall -S t16.c > t16.c: In function `main': > t16.c:8: Internal compiler error: Non-PIC mips16 compilation seems to work with gcc-2.95.4-debian: $ mips-linux-gcc -fno-pic -mno-abicalls -mips16 -Wall -c t16.c yields a t16.o, which looks good when disassembled with mips-linux-objdump. Now I need a non-PIC version of libgcc to link against, since mips-linux-ld cannot link PIC with non-PIC code. I had built a non-PIC libgcc for earlier dietlibc experiments, but discarded it in favor of a less experimental development environment... I feel I have to learn more about the Linux kernel's role when executing mips16 code (unaligned.c etc.), and experiment more with my toolchain, until I know what I'm really doing ;-) I will post here when I have any meaningful results. Regards, Johannes