linux-mips
[Top] [All Lists]

Re: problem about the tool chain for R3000

To: guo guo <sunnyboyguo@gmail.com>
Subject: Re: problem about the tool chain for R3000
From: David Daney <ddaney@avtrex.com>
Date: Wed, 29 Aug 2007 16:51:17 -0700
Cc: linux-mips@linux-mips.org
In-reply-to: <50f30abd0708291609i72e4aa57oce757d79a7e87fd6@mail.gmail.com>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <50f30abd0708291609i72e4aa57oce757d79a7e87fd6@mail.gmail.com>
Sender: linux-mips-bounce@linux-mips.org
User-agent: Thunderbird 1.5.0.12 (X11/20070719)
guo guo wrote:
> Dear All,
> 
> I'm trying to build tool chain with gcc4.2, binutils2.17 and glibc2.5
> for mips r3000 chip.
> During configure gcc I add ?Cmabi=32 ?Cmarch=r3000 ?Cmtune=r3000. and
> during building glibc, I add CFLAGS= -O2 ?Cmabi=32 ?Cmarch=r3000
> ?Cmtune=r3000,
> Then I dissembled the libc-2.5.90.so to check the instructions. I
> found it has two instructions rdhwr(0x7c03e83b) and sync(0x0000000f)
> that don't belongs to mips r3000.

The rdhwr and sync are used by the NPTL pthread library and must be
emulated by the linux kernel.  Probably you will see ll and sc in there
as well.  If you use glibc2.3.x with Linux threads then the rdhwr will
not be generated.

 Probably if you did not use libpthread you would not need any of the
thread synchronization primitives that cause ll,sc, and sync to be
generated.

But if you want libpthread and your CPU does not support the
instructions, you will have to emulate them.


David Daney

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