ARM IPC fix
Daniel Jacobowitz
drow@false.org
Mon Aug 21 20:08:00 GMT 2006
We can't treat msgctl as a real syscall; if we don't add __IPC_64, we'll get
a mismatched type for ipc_perm. Fixed by using the Alpha implementation,
which is similar to the standard i386 implementation but doesn't use
the multiplexer syscall.
--
Daniel Jacobowitz
CodeSourcery
2006-08-21 Daniel Jacobowitz <dan@codesourcery.com>
* sysdeps/unix/sysv/linux/arm/eabi/syscalls.list: Remove msgctl,
shmctl, and semctl.
* sysdeps/unix/sysv/linux/arm/eabi/semctl.c,
sysdeps/unix/sysv/linux/arm/eabi/shmctl.c,
sysdeps/unix/sysv/linux/arm/eabi/msgctl.c: New files.
Index: sysdeps/unix/sysv/linux/arm/eabi/syscalls.list
===================================================================
--- sysdeps/unix/sysv/linux/arm/eabi/syscalls.list (revision 147209)
+++ sysdeps/unix/sysv/linux/arm/eabi/syscalls.list (working copy)
@@ -1,18 +1,16 @@
# File name Caller Syscall name # args Strong name Weak names
-# semaphore and shm system calls
-msgctl - msgctl i:iip __msgctl msgctl
+# Semaphore and shm system calls. msgctl, shmctl, and semctl have C
+# wrappers (to set __IPC_64).
msgget - msgget i:ii __msgget msgget
msgrcv - msgrcv Ci:ibnii __msgrcv msgrcv
msgsnd - msgsnd Ci:ibni __msgsnd msgsnd
shmat - shmat i:ipi __shmat shmat
-shmctl - shmctl i:iip __shmctl shmctl
shmdt - shmdt i:s __shmdt shmdt
shmget - shmget i:iii __shmget shmget
semop - semop i:ipi __semop semop
semtimedop - semtimedop i:ipip semtimedop
semget - semget i:iii __semget semget
-semctl - semctl i:iiii __semctl semctl
# proper socket implementations:
accept - accept Ci:iBN __libc_accept __accept accept
Property changes on: sysdeps/unix/sysv/linux/arm/eabi/syscalls.list
___________________________________________________________________
Name: svn:mime-type
- application/octet-stream
Index: sysdeps/unix/sysv/linux/arm/eabi/semctl.c
===================================================================
--- sysdeps/unix/sysv/linux/arm/eabi/semctl.c (revision 0)
+++ sysdeps/unix/sysv/linux/arm/eabi/semctl.c (revision 0)
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/alpha/semctl.c>
Index: sysdeps/unix/sysv/linux/arm/eabi/msgctl.c
===================================================================
--- sysdeps/unix/sysv/linux/arm/eabi/msgctl.c (revision 0)
+++ sysdeps/unix/sysv/linux/arm/eabi/msgctl.c (revision 0)
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/alpha/msgctl.c>
Index: sysdeps/unix/sysv/linux/arm/eabi/shmctl.c
===================================================================
--- sysdeps/unix/sysv/linux/arm/eabi/shmctl.c (revision 0)
+++ sysdeps/unix/sysv/linux/arm/eabi/shmctl.c (revision 0)
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/alpha/shmctl.c>
More information about the Libc-ports
mailing list