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
> 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
But if you want libpthread and your CPU does not support the
instructions, you will have to emulate them.