1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
|
From libc-ports-return-430-listarch-libc-ports=sources dot redhat dot com at sourceware dot org Mon Aug 21 20:08:57 2006
Return-Path: <libc-ports-return-430-listarch-libc-ports=sources dot redhat dot com at sourceware dot org>
Delivered-To: listarch-libc-ports at sources dot redhat dot com
Received: (qmail 9913 invoked by alias); 21 Aug 2006 20:08:56 -0000
Received: (qmail 9893 invoked by uid 22791); 21 Aug 2006 20:08:53 -0000
X-Spam-Status: No, hits=-2.5 required=5.0 tests=AWL,BAYES_00,TW_HM,TW_SG,TW_SN
X-Spam-Check-By: sourceware.org
Received: from nevyn.them.org (HELO nevyn.them.org) (66.93.172.17) by sourceware.org (qpsmtpd/0.31.1) with ESMTP; Mon, 21 Aug 2006 20:08:44 +0000
Received: from drow by nevyn.them.org with local (Exim 4.54) id 1GFG4f-0007gO-TW for libc-ports@sourceware.org; Mon, 21 Aug 2006 16:08:42 -0400
Date: Mon, 21 Aug 2006 16:08:41 -0400
From: Daniel Jacobowitz <drow at false dot org>
To: libc-ports at sourceware dot org
Subject: ARM IPC fix
Message-ID: <20060821200841.GA29502@nevyn.them.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
User-Agent: Mutt/1.5.11+cvs20060403
X-IsSubscribed: yes
Mailing-List: contact libc-ports-help at sourceware dot org; run by ezmlm
Precedence: bulk
List-Subscribe: <mailto:libc-ports-subscribe at sourceware dot org>
List-Post: <mailto:libc-ports at sourceware dot org>
List-Help: <mailto:libc-ports-help at sourceware dot org>, <http://sourceware dot org/lists dot html#faqs>
Sender: libc-ports-owner at sourceware dot org
Delivered-To: mailing list libc-ports at sourceware dot org
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: a/ports/sysdeps/unix/sysv/linux/arm/eabi/syscalls.list
===================================================================
--- a/ports/sysdeps/unix/sysv/linux/arm/eabi/syscalls.list (revision 147209)
+++ b/ports/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: a/ports/sysdeps/unix/sysv/linux/arm/eabi/semctl.c
===================================================================
--- a/ports/sysdeps/unix/sysv/linux/arm/eabi/semctl.c (revision 0)
+++ b/ports/sysdeps/unix/sysv/linux/arm/eabi/semctl.c (revision 0)
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/alpha/semctl.c>
Index: a/ports/sysdeps/unix/sysv/linux/arm/eabi/msgctl.c
===================================================================
--- a/ports/sysdeps/unix/sysv/linux/arm/eabi/msgctl.c (revision 0)
+++ b/ports/sysdeps/unix/sysv/linux/arm/eabi/msgctl.c (revision 0)
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/alpha/msgctl.c>
Index: a/ports/sysdeps/unix/sysv/linux/arm/eabi/shmctl.c
===================================================================
--- a/ports/sysdeps/unix/sysv/linux/arm/eabi/shmctl.c (revision 0)
+++ b/ports/sysdeps/unix/sysv/linux/arm/eabi/shmctl.c (revision 0)
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/alpha/shmctl.c>
|