mirror of
git://git.musl-libc.org/musl
synced 2025-02-04 04:51:47 +00:00
eliminate explicit (long) casts when making syscalls
this practice came from very early, before internal/syscall.h defined macros that could accept pointer arguments directly and handle them correctly. aside from being ugly and unnecessary, it looks like it will be problematic when we add support for 32-bit ABIs on archs where registers (and syscall arguments) are 64-bit, e.g. x32 and mips n32.
This commit is contained in:
parent
839cc4e6da
commit
eca335fc04
@ -10,6 +10,6 @@ void __wait(volatile int *addr, volatile int *waiters, int val, int priv)
|
||||
}
|
||||
if (waiters) a_inc(waiters);
|
||||
while (*addr==val)
|
||||
__syscall(SYS_futex, (long)addr, FUTEX_WAIT|priv, val, 0);
|
||||
__syscall(SYS_futex, addr, FUTEX_WAIT|priv, val, 0);
|
||||
if (waiters) a_dec(waiters);
|
||||
}
|
||||
|
@ -10,5 +10,5 @@ int timer_delete(timer_t t)
|
||||
__wake(&td->timer_id, 1, 1);
|
||||
return 0;
|
||||
}
|
||||
return __syscall(SYS_timer_delete, (long)t);
|
||||
return __syscall(SYS_timer_delete, t);
|
||||
}
|
||||
|
@ -8,5 +8,5 @@ int timer_getoverrun(timer_t t)
|
||||
pthread_t td = (void *)((uintptr_t)t << 1);
|
||||
t = (void *)(uintptr_t)(td->timer_id & INT_MAX);
|
||||
}
|
||||
return syscall(SYS_timer_getoverrun, (long)t);
|
||||
return syscall(SYS_timer_getoverrun, t);
|
||||
}
|
||||
|
@ -8,5 +8,5 @@ int timer_gettime(timer_t t, struct itimerspec *val)
|
||||
pthread_t td = (void *)((uintptr_t)t << 1);
|
||||
t = (void *)(uintptr_t)(td->timer_id & INT_MAX);
|
||||
}
|
||||
return syscall(SYS_timer_gettime, (long)t, val);
|
||||
return syscall(SYS_timer_gettime, t, val);
|
||||
}
|
||||
|
@ -8,5 +8,5 @@ int timer_settime(timer_t t, int flags, const struct itimerspec *restrict val, s
|
||||
pthread_t td = (void *)((uintptr_t)t << 1);
|
||||
t = (void *)(uintptr_t)(td->timer_id & INT_MAX);
|
||||
}
|
||||
return syscall(SYS_timer_settime, (long)t, flags, val, old);
|
||||
return syscall(SYS_timer_settime, t, flags, val, old);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user