linux-mips
[Top] [All Lists]

Mips16 toolchain?

To: linux-mips@oss.sgi.com
Subject: Mips16 toolchain?
From: Johannes Stezenbach <js@convergence.de>
Date: Mon, 25 Mar 2002 14:58:34 +0100
Mail-followup-to: Johannes Stezenbach <js@convergence.de>, linux-mips@oss.sgi.com
Sender: owner-linux-mips@oss.sgi.com
User-agent: Mutt/1.3.27i
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


<Prev in Thread] Current Thread [Next in Thread>