First of all, many thanks for your help!
> $ 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
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
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.