mips32 little endian -ENOSYS is not -(-ENOSYS)

Submitted by Andreas Dröscher on March 29, 2020, 9:46 p.m.


Message ID 05432fae-cfb9-6f24-ac60-2f07e4222781@droescher.ch
State New
Series "mips32 little endian -ENOSYS is not -(-ENOSYS)"
Headers show

Commit Message

Andreas Dröscher March 29, 2020, 9:46 p.m.
Am 20.03.20 um 23:33 schrieb Rich Felker:
> On Fri, Mar 20, 2020 at 11:18:56PM +0100, Andreas Dröscher wrote:
>> Sorry for now sending an update in a timely manner. I've tested your
>> patches and they definitely get me to the point I had with my manual
>> changes. However, the incompatibilities I reported earlier stil need
>> to be ironed out. Sadly I got sidetracked by another project. There
>> was no progress in the past week.
>> I’m planning to pick up the task on Monday. I was wondering if the
>> inclusion of our fixes for a 13-year-old kernel benefits anyone
>> except my niche use case.
> I'm not sure, but critical regression on supported kernel is always a
> bug that needs to be fixed. This is actually probably serious enough
> to merit a follow-up to the 1.1.x series, though I'll hold off for
> anything else that might come up in the next month or two.

I still own you an update.

I had to define SYSCALL_USE_SOCKETCALL to get the network stack working:


Next to that I'm struggling to get an old OS abstraction layer working (ACE).
The library somehow manages to create pthread mutexes where even single threaded
process gets stuck during a pthread_mutexe_lock. I assume the data structure is
not properly initialized.

I'm additionally battling with ACE-Threads randomly returning from select/epoll 
with EINTR. Both issues are very vague at the moment. Since all native daemons
(e.g. ssh, mosquito, dbus, avahi) are up and running now, I expect the issue to
be caused by the OS abstraction layer.


Patch hide | download patch | download mbox

diff --git a/arch/mips/syscall_arch.h b/arch/mips/syscall_arch.h
index 17e9fa56..96998deb 100644
--- a/arch/mips/syscall_arch.h
+++ b/arch/mips/syscall_arch.h
@@ -147,3 +147,5 @@  static inline long __syscall7(long n, long a, long b, long 
c, long d, long e, lo

#define SO_SNDTIMEO_OLD 0x1005
#define SO_RCVTIMEO_OLD 0x1006