sem_wait() from uClibc on MIPS platform returns Not Implemented

78 Views Asked by At

It so happend that we are forced to use Linux 2.6.21 which was released in 2007 on MIPS platform, and no, changing kernel is out of the question, or rather the question is really expensive.

For that I'm building my own toolchain using crosstool-ng with ./maintainer/addToolVersion.sh --linux --obsolete 2.6.21 to add old kenel support and uClibc-0.9.33.2 configured for NPTL threads. So I'm having the issue with semaphores, specifically with sem_wait() and sem_timedwait() - when calling with any arguments, they return -1 and set errno to Not Implemented.

I was trying to replace all instances of sem_wait(), __new_sem_wait() and __old_sem_wait(), except x86 assembly code, with simple functions that set different Errno, but it didn't work and still return Not Implemented.

So my question is: did anyone seen such problem or maybe you know how uClibc chooses which functions to use for MIPS platform?

0

There are 0 best solutions below