This is the mail archive of the
libc-ports@sources.redhat.com
mailing list for the libc-ports project.
ARM IPC fix
- From: Daniel Jacobowitz <drow at false dot org>
- To: libc-ports at sourceware dot org
- Date: Mon, 21 Aug 2006 16:08:41 -0400
- Subject: ARM IPC fix
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>