Mips16 toolchain?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux