glibc-2.4: Add upstream fix for ARM IPC issues
authorRichard Purdie <rpurdie@rpsys.net>
Mon, 6 Nov 2006 21:47:11 +0000 (21:47 +0000)
committerRichard Purdie <rpurdie@rpsys.net>
Mon, 6 Nov 2006 21:47:11 +0000 (21:47 +0000)
packages/glibc/glibc-2.4/arm_eabi_ipc_fix.patch [new file with mode: 0644]
packages/glibc/glibc_2.4.bb

diff --git a/packages/glibc/glibc-2.4/arm_eabi_ipc_fix.patch b/packages/glibc/glibc-2.4/arm_eabi_ipc_fix.patch
new file mode 100644 (file)
index 0000000..8b36960
--- /dev/null
@@ -0,0 +1,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>
+
index dc844ea..b9917aa 100644 (file)
@@ -3,7 +3,7 @@ HOMEPAGE = "http://www.gnu.org/software/libc/libc.html"
 LICENSE = "LGPL"
 SECTION = "libs"
 PRIORITY = "required"
-PR = "r10"
+PR = "r11"
 
 #add the hosts that are confirmed to be working to COMPATIBLE_HOSTi
 COMPATIBLE_HOST = '(i.86.*-linux|sh.*-linux)'
@@ -63,6 +63,7 @@ SRC_URI = "ftp://ftp.gnu.org/pub/gnu/glibc/glibc-2.4.tar.bz2 \
           file://glibc-2.4-openat-3.patch;patch=1 \
           file://fixup-aeabi-syscalls.patch;patch=1 \
           file://zecke-sane-readelf.patch;patch=1 \
+          file://arm_eabi_ipc_fix.patch;patch=1 \
           file://generic-bits_select.h \
           file://generic-bits_types.h \
           file://generic-bits_typesizes.h \