uclibc: get rid of ARC's uClibc fork
authorAlexey Brodkin <Alexey.Brodkin@synopsys.com>
Tue, 27 Oct 2015 15:16:45 +0000 (18:16 +0300)
committerPeter Korsgaard <peter@korsgaard.com>
Tue, 27 Oct 2015 21:09:02 +0000 (22:09 +0100)
For quite some time all ARC changes have been pushed upstream.
So both uClibc master branch and uClibc-ng have full ARC support
including the most recent changes.

I.e. finally we have reached the point when there's no need in
Synopsys fork of uClibc on GitHub and it will soon be obsoleted and
removed at some pint of time.

Now since vanilla uClibc hasn't seen any releases for many years we cannot
really use it for ARC. Fortunately there exists uClibc-ng and Waldemar
cuts releases regularly - that works perfectly fine for us.

That patch removes all mentions of ARC's uClibc which in turn makes
uClibc-ng default libc for ARC.

Cc: Waldemar Brodkorb <wbx@openadk.org>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Acked-By: Waldemar Brodkorb <wbx@uclibc-ng.org>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
package/uclibc/Config.in
package/uclibc/arc-2015.06/0001-nptl-remove-duplicate-vfork-in-libpthread.patch [deleted file]
package/uclibc/arc-2015.06/0002-ARCv2-update-memset-so-it-could-be-used-without-doub.patch [deleted file]
package/uclibc/uclibc.mk

index ff6dffd712d6e131958826dbfc380713ac9c8bd6..21d8ddcfbfd0b624c3375fcc7af4bdf5ea131505 100644 (file)
@@ -29,13 +29,6 @@ choice
                select BR2_UCLIBC_VERSION_SUPPORTS_NPTL if !BR2_x86_i386
                depends on !(BR2_arc || BR2_mips64 || BR2_mips64el || BR2_xtensa)
 
-       config BR2_UCLIBC_VERSION_ARC_GIT
-               bool "uClibc Git ARC"
-               select BR2_UCLIBC_VERSION_SUPPORTS_LINUXTHREADS
-               select BR2_UCLIBC_VERSION_SUPPORTS_LINUXTHREADS_OLD
-               select BR2_UCLIBC_VERSION_SUPPORTS_NPTL
-               depends on BR2_arc
-
        config BR2_UCLIBC_VERSION_NG
                bool "uClibc-ng"
                select BR2_UCLIBC_VERSION_SUPPORTS_LINUXTHREADS if BR2_m68k
@@ -64,7 +57,6 @@ config BR2_USE_UCLIBC_SNAPSHOT
 config BR2_UCLIBC_VERSION_STRING
        string
        default "0.9.33.2"      if BR2_UCLIBC_VERSION_0_9_33
-       default "arc-2015.06" if BR2_UCLIBC_VERSION_ARC_GIT
        default "1.0.8"         if BR2_UCLIBC_VERSION_NG
        default BR2_USE_UCLIBC_SNAPSHOT if BR2_UCLIBC_VERSION_SNAPSHOT
 
@@ -72,7 +64,6 @@ config BR2_UCLIBC_CONFIG
        string "uClibc configuration file to use?"
        default "package/uclibc/uClibc-0.9.33.config" if BR2_UCLIBC_VERSION_0_9_33
        default "package/uclibc/uClibc-ng.config" if BR2_UCLIBC_VERSION_NG
-       default "package/uclibc/uClibc-snapshot.config" if BR2_UCLIBC_VERSION_ARC_GIT
        default "package/uclibc/uClibc-snapshot.config" if BR2_UCLIBC_VERSION_SNAPSHOT
        help
          Some people may wish to use their own modified uClibc configuration
diff --git a/package/uclibc/arc-2015.06/0001-nptl-remove-duplicate-vfork-in-libpthread.patch b/package/uclibc/arc-2015.06/0001-nptl-remove-duplicate-vfork-in-libpthread.patch
deleted file mode 100644 (file)
index 6b609af..0000000
+++ /dev/null
@@ -1,722 +0,0 @@
-From a22a0030f32b828c0f2e804d1ed1fe567ddab680 Mon Sep 17 00:00:00 2001
-From: Waldemar Brodkorb <wbx@openadk.org>
-Date: Sat, 20 Sep 2014 22:09:00 +0200
-Subject: [PATCH] nptl: remove duplicate vfork() in libpthread
-
-Automatic patching via two oneliners by Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>:
-sed -i -e 's/[[:space:]]pt-vfork\.[csS]//' -e '/^ASFLAGS-pt-vfork\./d' $(git grep -l pt-vfork libpthread/nptl/sysdeps)
-find libpthread/nptl -name "*pt-vfork*" -exec git rm {} \;
-
-Reported-By: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-Tested-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
----
- .../nptl/sysdeps/unix/sysv/linux/alpha/pt-vfork.S  | 42 --------------
- .../nptl/sysdeps/unix/sysv/linux/arc/Makefile.arch |  2 +-
- .../nptl/sysdeps/unix/sysv/linux/arc/pt-vfork.S    |  7 ---
- .../nptl/sysdeps/unix/sysv/linux/arm/Makefile.arch |  2 +-
- .../nptl/sysdeps/unix/sysv/linux/arm/pt-vfork.S    | 37 ------------
- .../sysdeps/unix/sysv/linux/i386/Makefile.arch     |  2 +-
- .../nptl/sysdeps/unix/sysv/linux/i386/pt-vfork.S   | 67 ----------------------
- .../sysdeps/unix/sysv/linux/metag/Makefile.arch    |  2 +-
- .../nptl/sysdeps/unix/sysv/linux/metag/pt-vfork.S  | 51 ----------------
- .../sysdeps/unix/sysv/linux/mips/Makefile.arch     |  2 +-
- .../nptl/sysdeps/unix/sysv/linux/mips/pt-vfork.S   | 37 ------------
- .../sysdeps/unix/sysv/linux/powerpc/Makefile.arch  |  2 +-
- .../unix/sysv/linux/powerpc/powerpc32/pt-vfork.S   | 48 ----------------
- .../unix/sysv/linux/powerpc/powerpc64/pt-vfork.S   | 48 ----------------
- .../sysdeps/unix/sysv/linux/powerpc/pt-vfork.S     |  5 --
- .../nptl/sysdeps/unix/sysv/linux/sh/Makefile.arch  |  2 +-
- .../nptl/sysdeps/unix/sysv/linux/sh/pt-vfork.S     | 64 ---------------------
- .../sysdeps/unix/sysv/linux/sparc/Makefile.arch    |  2 +-
- .../nptl/sysdeps/unix/sysv/linux/sparc/pt-vfork.S  | 44 --------------
- .../sysdeps/unix/sysv/linux/x86_64/Makefile.arch   |  2 +-
- .../nptl/sysdeps/unix/sysv/linux/x86_64/pt-vfork.S | 32 -----------
- 21 files changed, 9 insertions(+), 491 deletions(-)
- delete mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/alpha/pt-vfork.S
- delete mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/arc/pt-vfork.S
- delete mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/arm/pt-vfork.S
- delete mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/i386/pt-vfork.S
- delete mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/metag/pt-vfork.S
- delete mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/mips/pt-vfork.S
- delete mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc32/pt-vfork.S
- delete mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/pt-vfork.S
- delete mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/pt-vfork.S
- delete mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sh/pt-vfork.S
- delete mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sparc/pt-vfork.S
- delete mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pt-vfork.S
-
-diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/alpha/pt-vfork.S b/libpthread/nptl/sysdeps/unix/sysv/linux/alpha/pt-vfork.S
-deleted file mode 100644
-index a6005c1..0000000
---- a/libpthread/nptl/sysdeps/unix/sysv/linux/alpha/pt-vfork.S
-+++ /dev/null
-@@ -1,42 +0,0 @@
--/* Copyright (C) 2003, 2004 Free Software Foundation, Inc.
--   This file is part of the GNU C Library.
--
--   The GNU C Library is free software; you can redistribute it and/or
--   modify it under the terms of the GNU Lesser General Public
--   License as published by the Free Software Foundation; either
--   version 2.1 of the License, or (at your option) any later version.
--
--   The GNU C Library is distributed in the hope that it will be useful,
--   but WITHOUT ANY WARRANTY; without even the implied warranty of
--   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
--   Lesser General Public License for more details.
--
--   You should have received a copy of the GNU Lesser General Public
--   License along with the GNU C Library; if not, see
--   <http://www.gnu.org/licenses/>.  */
--
--#include <sysdep.h>
--#include <tcb-offsets.h>
--
--#undef PSEUDO_PREPARE_ARGS
--#define PSEUDO_PREPARE_ARGS                                           \
--      /* Load the current cached pid value across the vfork.  */      \
--      rduniq;                                                         \
--      ldl     a2, PID_OFFSET(v0);                                     \
--      mov     v0, a1;                                                 \
--      /* Write back its negation, to indicate that the pid value is   \
--         uninitialized in the the child, and in the window between    \
--         here and the point at which we restore the value.  */        \
--      negl    a2, t0;                                                 \
--      stl     t0, PID_OFFSET(v0);
--
--PSEUDO (__vfork, vfork, 0)
--
--      /* If we're back in the parent, restore the saved pid.  */
--      beq     v0, 1f
--      stl     a2, PID_OFFSET(a1)
--1:    ret
--
--PSEUDO_END (__vfork)
--
--weak_alias (__vfork, vfork)
-diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/arc/Makefile.arch b/libpthread/nptl/sysdeps/unix/sysv/linux/arc/Makefile.arch
-index 8e3c7b0..3b9db6a 100644
---- a/libpthread/nptl/sysdeps/unix/sysv/linux/arc/Makefile.arch
-+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/arc/Makefile.arch
-@@ -5,7 +5,7 @@
- # Licensed under the LGPL v2.1 or later, see the file COPYING.LIB in this tarball.
- #
--libpthread_linux_arch_SSRC = pt-vfork.S
-+libpthread_linux_arch_SSRC =
- libpthread_linux_arch_CSRC = pthread_once.c lowlevellock.c \
-       pt-__syscall_rt_sigaction.c pt-__syscall_error.c
-diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/arc/pt-vfork.S b/libpthread/nptl/sysdeps/unix/sysv/linux/arc/pt-vfork.S
-deleted file mode 100644
-index f222dca..0000000
---- a/libpthread/nptl/sysdeps/unix/sysv/linux/arc/pt-vfork.S
-+++ /dev/null
-@@ -1,7 +0,0 @@
--/*
-- * Copyright (C) 2013 Synopsys, Inc. (www.synopsys.com)
-- *
-- * Licensed under the LGPL v2.1 or later, see the file COPYING.LIB in this tarball.
-- */
--
--#include "vfork.S"
-diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/arm/Makefile.arch b/libpthread/nptl/sysdeps/unix/sysv/linux/arm/Makefile.arch
-index c8d5d4a..e61072e 100644
---- a/libpthread/nptl/sysdeps/unix/sysv/linux/arm/Makefile.arch
-+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/arm/Makefile.arch
-@@ -5,7 +5,7 @@
- # Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
- #
--libpthread_linux_arch_SSRC = pt-vfork.S
-+libpthread_linux_arch_SSRC =
- libpthread_linux_arch_CSRC = pthread_once.c \
-       pt-__syscall_rt_sigaction.c pt-__syscall_error.c \
-       lowlevellock.c
-diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/arm/pt-vfork.S b/libpthread/nptl/sysdeps/unix/sysv/linux/arm/pt-vfork.S
-deleted file mode 100644
-index df18f03..0000000
---- a/libpthread/nptl/sysdeps/unix/sysv/linux/arm/pt-vfork.S
-+++ /dev/null
-@@ -1,37 +0,0 @@
--/* Copyright (C) 2005 Free Software Foundation, Inc.
--   This file is part of the GNU C Library.
--
--   The GNU C Library is free software; you can redistribute it and/or
--   modify it under the terms of the GNU Lesser General Public
--   License as published by the Free Software Foundation; either
--   version 2.1 of the License, or (at your option) any later version.
--
--   The GNU C Library is distributed in the hope that it will be useful,
--   but WITHOUT ANY WARRANTY; without even the implied warranty of
--   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
--   Lesser General Public License for more details.
--
--   You should have received a copy of the GNU Lesser General Public
--   License along with the GNU C Library; if not, see
--   <http://www.gnu.org/licenses/>.  */
--
--#include <tcb-offsets.h>
--
--/* Save the PID value.  */
--#define SAVE_PID \
--      str     lr, [sp, #-4]!;         /* Save LR.  */                 \
--      mov     r0, #0xffff0fff;        /* Point to the high page.  */  \
--      mov     lr, pc;                 /* Save our return address.  */ \
--      sub     pc, r0, #31;            /* Jump to the TLS entry.  */   \
--      ldr     lr, [sp], #4;           /* Restore LR.  */              \
--      mov     r2, r0;                 /* Save the TLS addr in r2.  */ \
--      ldr     r3, [r2, #PID_OFFSET];  /* Load the saved PID.  */      \
--      rsb     r0, r3, #0;             /* Negate it.  */               \
--      str     r0, [r2, #PID_OFFSET]   /* Store the temporary PID.  */
--
--/* Restore the old PID value in the parent.  */
--#define RESTORE_PID \
--      cmp     r0, #0;                 /* If we are the parent... */   \
--      strne   r3, [r2, #PID_OFFSET]   /* ... restore the saved PID.  */
--
--#include "../../../../../../../libc/sysdeps/linux/arm/vfork.S"
-diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/i386/Makefile.arch b/libpthread/nptl/sysdeps/unix/sysv/linux/i386/Makefile.arch
-index fff0dae..9dc878c 100644
---- a/libpthread/nptl/sysdeps/unix/sysv/linux/i386/Makefile.arch
-+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/i386/Makefile.arch
-@@ -5,7 +5,7 @@
- # Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
- #
--libpthread_linux_arch_SSRC = pt-vfork.S clone.S pthread_spin_unlock.S pthread_once.S
-+libpthread_linux_arch_SSRC = clone.S pthread_spin_unlock.S pthread_once.S
- libpthread_linux_arch_CSRC = pthread_spin_init.c pt-__syscall_error.c
- libc_linux_arch_CSRC = fork.c
-diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/i386/pt-vfork.S b/libpthread/nptl/sysdeps/unix/sysv/linux/i386/pt-vfork.S
-deleted file mode 100644
-index 5bba782..0000000
---- a/libpthread/nptl/sysdeps/unix/sysv/linux/i386/pt-vfork.S
-+++ /dev/null
-@@ -1,67 +0,0 @@
--/* Copyright (C) 1999, 2002, 2004 Free Software Foundation, Inc.
--   This file is part of the GNU C Library.
--   Contributed by Andreas Schwab <schwab@gnu.org>.
--
--   The GNU C Library is free software; you can redistribute it and/or
--   modify it under the terms of the GNU Lesser General Public
--   License as published by the Free Software Foundation; either
--   version 2.1 of the License, or (at your option) any later version.
--
--   The GNU C Library is distributed in the hope that it will be useful,
--   but WITHOUT ANY WARRANTY; without even the implied warranty of
--   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
--   Lesser General Public License for more details.
--
--   You should have received a copy of the GNU Lesser General Public
--   License along with the GNU C Library; if not, see
--   <http://www.gnu.org/licenses/>.  */
--
--#include <sysdep.h>
--#define _ERRNO_H      1
--#include <bits/errno.h>
--#include <bits/kernel-features.h>
--#include <tcb-offsets.h>
--
--/* Save the PID value.  */
--#define SAVE_PID \
--      movl    %gs:PID, %edx;                                                \
--      movl    %edx, %eax;                                                   \
--      negl    %eax;                                                         \
--      movl    %eax, %gs:PID
--
--/* Restore the old PID value in the parent.  */
--#define RESTORE_PID \
--      testl   %eax, %eax;                                                   \
--      je      1f;                                                           \
--      movl    %edx, %gs:PID;                                                \
--1:
--
--/* Clone the calling process, but without copying the whole address space.
--   The calling process is suspended until the new process exits or is
--   replaced by a call to `execve'.  Return -1 for errors, 0 to the new process,
--   and the process ID of the new process to the old process.  */
--
--ENTRY (__vfork)
--      /* Pop the return PC value into ECX.  */
--      popl    %ecx
--
--      SAVE_PID
--
--      /* Stuff the syscall number in EAX and enter into the kernel.  */
--      movl    $SYS_ify (vfork), %eax
--      int     $0x80
--
--      RESTORE_PID
--
--      /* Jump to the return PC.  Don't jump directly since this
--         disturbs the branch target cache.  Instead push the return
--         address back on the stack.  */
--      pushl   %ecx
--
--      cmpl    $-4095, %eax
--      jae     SYSCALL_ERROR_LABEL     /* Branch forward if it failed.  */
--L(pseudo_end):
--      ret
--PSEUDO_END (__vfork)
--
--weak_alias (__vfork, vfork)
-diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/metag/Makefile.arch b/libpthread/nptl/sysdeps/unix/sysv/linux/metag/Makefile.arch
-index 4d02d0c..ddc7680 100644
---- a/libpthread/nptl/sysdeps/unix/sysv/linux/metag/Makefile.arch
-+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/metag/Makefile.arch
-@@ -5,7 +5,7 @@
- # Licensed under the LGPL v2.1 or later, see the file COPYING.LIB in this tarball.
- #
--libpthread_linux_arch_SSRC = pt-vfork.S
-+libpthread_linux_arch_SSRC =
- libpthread_linux_arch_CSRC = pthread_once.c \
-       pt-__syscall_rt_sigaction.c pt-__syscall_error.c \
-       lowlevellock.c
-diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/metag/pt-vfork.S b/libpthread/nptl/sysdeps/unix/sysv/linux/metag/pt-vfork.S
-deleted file mode 100644
-index 489c749..0000000
---- a/libpthread/nptl/sysdeps/unix/sysv/linux/metag/pt-vfork.S
-+++ /dev/null
-@@ -1,51 +0,0 @@
--/* Copyright (C) 2005 Free Software Foundation, Inc.
--   This file is part of the GNU C Library.
--
--   The GNU C Library is free software; you can redistribute it and/or
--   modify it under the terms of the GNU Lesser General Public
--   License as published by the Free Software Foundation; either
--   version 2.1 of the License, or (at your option) any later version.
--
--   The GNU C Library is distributed in the hope that it will be useful,
--   but WITHOUT ANY WARRANTY; without even the implied warranty of
--   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
--   Lesser General Public License for more details.
--
--   You should have received a copy of the GNU Lesser General Public
--   License along with the GNU C Library; if not, write to the Free
--   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
--   02111-1307 USA.  */
--
--#include <tcb-offsets.h>
--#include <asm/unistd.h>
--
--#ifdef __PIC__
--#define __VFORK_METAG_LOAD_TP ___metag_load_tp@PLT
--#else
--#define __VFORK_METAG_LOAD_TP ___metag_load_tp
--#endif
--
--/* Save the PID value.  */
--#define SAVE_PID \
--      SETL    [A0StP++], D0FrT, D1RtP; \
--      CALLR   D1RtP, __VFORK_METAG_LOAD_TP; \
--      SUB     D0Re0, D0Re0, #TLS_PRE_TCB_SIZE; \
--      GETD    D0FrT, [D0Re0 + #PID]; \
--      NEG     D0FrT, D0FrT; \
--      SETD    [D0Re0 + #PID], D0FrT; \
--      GETL    D0FrT, D1RtP, [--A0StP];
--
--#define RESTORE_PID \
--      CMP     D0Re0, #0; \
--      BEQ     1f; \
--      MSETL   [A0StP++], D0Re0, D0FrT; \
--      CALLR   D1RtP, __VFORK_METAG_LOAD_TP; \
--      SUB     D0Re0, D0Re0, #TLS_PRE_TCB_SIZE; \
--      GETD    D0FrT, [D0Re0 + #PID]; \
--      NEG     D0FrT, D0FrT; \
--      SETD    [D0Re0 + #PID], D0FrT; \
--      GETL    D0FrT, D1RtP, [--A0StP]; \
--      GETL    D0Re0, D1Re0, [--A0StP]; \
--1:
--
--#include <../../../../../../../libc/sysdeps/linux/metag/vfork.S>
-diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/mips/Makefile.arch b/libpthread/nptl/sysdeps/unix/sysv/linux/mips/Makefile.arch
-index 4a3d0f2..f87dedc 100644
---- a/libpthread/nptl/sysdeps/unix/sysv/linux/mips/Makefile.arch
-+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/mips/Makefile.arch
-@@ -5,7 +5,7 @@
- # Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
- #
--libpthread_linux_arch_SSRC = pt-vfork.S clone.S
-+libpthread_linux_arch_SSRC = clone.S
- libpthread_linux_arch_CSRC = pthread_once.c pt-__syscall_rt_sigaction.c
- libc_linux_arch_CSRC = fork.c
-diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/mips/pt-vfork.S b/libpthread/nptl/sysdeps/unix/sysv/linux/mips/pt-vfork.S
-deleted file mode 100644
-index 52fbde3..0000000
---- a/libpthread/nptl/sysdeps/unix/sysv/linux/mips/pt-vfork.S
-+++ /dev/null
-@@ -1,37 +0,0 @@
--/* Copyright (C) 2005 Free Software Foundation, Inc.
--   This file is part of the GNU C Library.
--
--   The GNU C Library is free software; you can redistribute it and/or
--   modify it under the terms of the GNU Lesser General Public
--   License as published by the Free Software Foundation; either
--   version 2.1 of the License, or (at your option) any later version.
--
--   The GNU C Library is distributed in the hope that it will be useful,
--   but WITHOUT ANY WARRANTY; without even the implied warranty of
--   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
--   Lesser General Public License for more details.
--
--   You should have received a copy of the GNU Lesser General Public
--   License along with the GNU C Library; if not, see
--   <http://www.gnu.org/licenses/>.  */
--
--#include <features.h>
--#include <tls.h>
--
--/* Save the PID value.  */
--#define SAVE_PID \
--      READ_THREAD_POINTER(v1);        /* Get the thread pointer.  */  \
--      lw      a2, PID_OFFSET(v1);     /* Load the saved PID.  */      \
--      subu    a2, $0, a2;             /* Negate it.  */               \
--      sw      a2, PID_OFFSET(v1);     /* Store the temporary PID.  */
--
--/* Restore the old PID value in the parent.  */
--#define RESTORE_PID \
--      beqz    v0, 1f;                 /* If we are the parent... */   \
--      READ_THREAD_POINTER(v1);        /* Get the thread pointer.  */  \
--      lw      a2, PID_OFFSET(v1);     /* Load the saved PID.  */      \
--      subu    a2, $0, a2;             /* Re-negate it.  */            \
--      sw      a2, PID_OFFSET(v1);     /* Restore the PID.  */         \
--1:
--
--#include <../../../../../../../libc/sysdeps/linux/mips/vfork.S>
-diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/Makefile.arch b/libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/Makefile.arch
-index 21b9b72..df4bb69 100644
---- a/libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/Makefile.arch
-+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/Makefile.arch
-@@ -5,7 +5,7 @@
- # Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
- #
--libpthread_linux_arch_SSRC = pt-vfork.S
-+libpthread_linux_arch_SSRC =
- libpthread_linux_arch_CSRC = pthread_once.c pt-__syscall_error.c
- libc_linux_arch_CSRC = fork.c
-diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc32/pt-vfork.S b/libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc32/pt-vfork.S
-deleted file mode 100644
-index 2f82504..0000000
---- a/libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc32/pt-vfork.S
-+++ /dev/null
-@@ -1,48 +0,0 @@
--/* Copyright (C) 2004 Free Software Foundation, Inc.
--   This file is part of the GNU C Library.
--   Contributed by Jakub Jelinek <jakub@redhat.com>, 2004.
--
--   The GNU C Library is free software; you can redistribute it and/or
--   modify it under the terms of the GNU Lesser General Public
--   License as published by the Free Software Foundation; either
--   version 2.1 of the License, or (at your option) any later version.
--
--   The GNU C Library is distributed in the hope that it will be useful,
--   but WITHOUT ANY WARRANTY; without even the implied warranty of
--   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
--   Lesser General Public License for more details.
--
--   You should have received a copy of the GNU Lesser General Public
--   License along with the GNU C Library; if not, see
--   <http://www.gnu.org/licenses/>.  */
--
--#include <sysdep.h>
--#define _ERRNO_H      1
--#include <bits/errno.h>
--#include <bits/kernel-features.h>
--#include <tcb-offsets.h>
--
--/* Clone the calling process, but without copying the whole address space.
--   The calling process is suspended until the new process exits or is
--   replaced by a call to `execve'.  Return -1 for errors, 0 to the new process,
--   and the process ID of the new process to the old process.  */
--
--ENTRY (__vfork)
--      lwz     0,PID(2)
--      neg     0,0
--      stw     0,PID(2)
--
--      DO_CALL (SYS_ify (vfork))
--
--      cmpwi   1,3,0
--      beqlr-  1
--
--      lwz     0,PID(2)
--      neg     0,0
--      stw     0,PID(2)
--
--      PSEUDO_RET
--
--PSEUDO_END (__vfork)
--
--weak_alias (__vfork, vfork)
-diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/pt-vfork.S b/libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/pt-vfork.S
-deleted file mode 100644
-index 12e47b3..0000000
---- a/libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/pt-vfork.S
-+++ /dev/null
-@@ -1,48 +0,0 @@
--/* Copyright (C) 2004 Free Software Foundation, Inc.
--   This file is part of the GNU C Library.
--   Contributed by Jakub Jelinek <jakub@redhat.com>, 2004.
--
--   The GNU C Library is free software; you can redistribute it and/or
--   modify it under the terms of the GNU Lesser General Public
--   License as published by the Free Software Foundation; either
--   version 2.1 of the License, or (at your option) any later version.
--
--   The GNU C Library is distributed in the hope that it will be useful,
--   but WITHOUT ANY WARRANTY; without even the implied warranty of
--   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
--   Lesser General Public License for more details.
--
--   You should have received a copy of the GNU Lesser General Public
--   License along with the GNU C Library; if not, see
--   <http://www.gnu.org/licenses/>.  */
--
--#include <sysdep.h>
--#define _ERRNO_H      1
--#include <bits/errno.h>
--#include <bits/kernel-features.h>
--#include <tcb-offsets.h>
--
--/* Clone the calling process, but without copying the whole address space.
--   The calling process is suspended until the new process exits or is
--   replaced by a call to `execve'.  Return -1 for errors, 0 to the new process,
--   and the process ID of the new process to the old process.  */
--
--ENTRY (__vfork)
--      lwz     0,PID(13)
--      neg     0,0
--      stw     0,PID(13)
--
--      DO_CALL (SYS_ify (vfork))
--
--      cmpwi   1,3,0
--      beqlr-  1
--
--      lwz     0,PID(13)
--      neg     0,0
--      stw     0,PID(13)
--
--      PSEUDO_RET
--
--PSEUDO_END (__vfork)
--
--weak_alias (__vfork, vfork)
-diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/pt-vfork.S b/libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/pt-vfork.S
-deleted file mode 100644
-index 0225219..0000000
---- a/libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/pt-vfork.S
-+++ /dev/null
-@@ -1,5 +0,0 @@
--#if defined __powerpc64__
--# include "powerpc64/pt-vfork.S"
--#else
--# include "powerpc32/pt-vfork.S"
--#endif
-diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/sh/Makefile.arch b/libpthread/nptl/sysdeps/unix/sysv/linux/sh/Makefile.arch
-index 154dd6e..908d9e1 100644
---- a/libpthread/nptl/sysdeps/unix/sysv/linux/sh/Makefile.arch
-+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/sh/Makefile.arch
-@@ -5,7 +5,7 @@
- # Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
- #
--libpthread_linux_arch_SSRC = pt-vfork.S pthread_once.S pthread_rwlock_wrlock.S \
-+libpthread_linux_arch_SSRC = pthread_once.S pthread_rwlock_wrlock.S \
-                       pthread_rwlock_rdlock.S pthread_rwlock_unlock.S \
-                       lowlevellock.S lowlevelrobustlock.S pthread_barrier_wait.S \
-                       pthread_cond_broadcast.S pthread_cond_signal.S \
-diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/sh/pt-vfork.S b/libpthread/nptl/sysdeps/unix/sysv/linux/sh/pt-vfork.S
-deleted file mode 100644
-index 56aa6d0..0000000
---- a/libpthread/nptl/sysdeps/unix/sysv/linux/sh/pt-vfork.S
-+++ /dev/null
-@@ -1,64 +0,0 @@
--/* Copyright (C) 2003, 2004 Free Software Foundation, Inc.
--   This file is part of the GNU C Library.
--
--   The GNU C Library is free software; you can redistribute it and/or
--   modify it under the terms of the GNU Lesser General Public
--   License as published by the Free Software Foundation; either
--   version 2.1 of the License, or (at your option) any later version.
--
--   The GNU C Library is distributed in the hope that it will be useful,
--   but WITHOUT ANY WARRANTY; without even the implied warranty of
--   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
--   Lesser General Public License for more details.
--
--   You should have received a copy of the GNU Lesser General Public
--   License along with the GNU C Library; if not, see
--   <http://www.gnu.org/licenses/>.  */
--
--#include <sysdep.h>
--#define _ERRNO_H      1
--#include <bits/errno.h>
--#include <tcb-offsets.h>
--
--/* Clone the calling process, but without copying the whole address space.
--   The calling process is suspended until the new process exits or is
--   replaced by a call to `execve'.  Return -1 for errors, 0 to the new process,
--   and the process ID of the new process to the old process.  */
--
--ENTRY (__vfork)
--      /* Save the PID value.  */
--      stc     gbr, r2
--      mov.w   .L2, r0
--      mov.l   @(r0,r2), r4
--      neg     r4, r1
--      mov.l   r1, @(r0,r2)
--
--      mov.w   .L1, r3
--      trapa   #0x10
--      mov     r0, r1
--
--      /* Restore the old PID value in the parent.  */
--      tst     r0, r0
--      bt/s    2f
--       stc    gbr, r2
--      mov.w   .L2, r0
--      mov.l   r4, @(r0,r2)
--      mov     r1, r0
--2:
--      mov     #-12, r2
--      shad    r2, r1
--      not     r1, r1                  // r1=0 means r0 = -1 to -4095
--      tst     r1, r1                  // i.e. error in linux
--      bf      .Lpseudo_end
--      SYSCALL_ERROR_HANDLER
--.Lpseudo_end:
--      rts
--       nop
--.L1:
--      .word   __NR_vfork
--.L2:
--      .word   PID - TLS_PRE_TCB_SIZE
--
--PSEUDO_END (__vfork)
--
--weak_alias (__vfork, vfork)
-diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/sparc/Makefile.arch b/libpthread/nptl/sysdeps/unix/sysv/linux/sparc/Makefile.arch
-index 2b2b5f5..01a9e87 100644
---- a/libpthread/nptl/sysdeps/unix/sysv/linux/sparc/Makefile.arch
-+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/sparc/Makefile.arch
-@@ -5,7 +5,7 @@
- # Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
- #
--libpthread_linux_arch_SSRC = pt-vfork.S clone.S
-+libpthread_linux_arch_SSRC = clone.S
- libpthread_linux_arch_CSRC = pthread_once.c lowlevellock.c \
-       pthread_barrier_init.c pthread_barrier_wait.c pthread_barrier_destroy.c \
-       pt-__syscall_error.c
-diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/sparc/pt-vfork.S b/libpthread/nptl/sysdeps/unix/sysv/linux/sparc/pt-vfork.S
-deleted file mode 100644
-index 37231a8..0000000
---- a/libpthread/nptl/sysdeps/unix/sysv/linux/sparc/pt-vfork.S
-+++ /dev/null
-@@ -1,44 +0,0 @@
--/* Copyright (C) 2004 Free Software Foundation, Inc.
--   This file is part of the GNU C Library.
--   Contributed by Jakub Jelinek <jakub@redhat.com>, 2004.
--
--   The GNU C Library is free software; you can redistribute it and/or
--   modify it under the terms of the GNU Lesser General Public
--   License as published by the Free Software Foundation; either
--   version 2.1 of the License, or (at your option) any later version.
--
--   The GNU C Library is distributed in the hope that it will be useful,
--   but WITHOUT ANY WARRANTY; without even the implied warranty of
--   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
--   Lesser General Public License for more details.
--
--   You should have received a copy of the GNU Lesser General Public
--   License along with the GNU C Library; if not, see
--   <http://www.gnu.org/licenses/>.  */
--
--#include <sysdep.h>
--#include <tcb-offsets.h>
--
--      .text
--      .globl          __syscall_error
--ENTRY(__vfork)
--      ld      [%g7 + PID], %o5
--      sub     %g0, %o5, %o4
--      st      %o4, [%g7 + PID]
--
--      LOADSYSCALL(vfork)
--      ta      0x10
--      bcc     2f
--       mov    %o7, %g1
--      st      %o5, [%g7 + PID]
--      call    __syscall_error
--       mov    %g1, %o7
--2:    sub     %o1, 1, %o1
--      andcc   %o0, %o1, %o0
--      bne,a   1f
--       st     %o5, [%g7 + PID]
--1:    retl
--       nop
--END(__vfork)
--
--weak_alias (__vfork, vfork)
-diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/Makefile.arch b/libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/Makefile.arch
-index ebd5060..af14164 100644
---- a/libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/Makefile.arch
-+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/Makefile.arch
-@@ -5,7 +5,7 @@
- # Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
- #
--libpthread_linux_arch_SSRC = pt-vfork.S clone.S pthread_once.S \
-+libpthread_linux_arch_SSRC = clone.S pthread_once.S \
-       lowlevellock.S pthread_barrier_wait.S pthread_cond_signal.S pthread_cond_broadcast.S \
-       sem_post.S sem_timedwait.S lowlevelrobustlock.S \
-       sem_trywait.S sem_wait.S pthread_rwlock_rdlock.S pthread_rwlock_wrlock.S \
-diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pt-vfork.S b/libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pt-vfork.S
-deleted file mode 100644
-index 08a085c..0000000
---- a/libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pt-vfork.S
-+++ /dev/null
-@@ -1,32 +0,0 @@
--/* Copyright (C) 2004 Free Software Foundation, Inc.
--   This file is part of the GNU C Library.
--
--   The GNU C Library is free software; you can redistribute it and/or
--   modify it under the terms of the GNU Lesser General Public
--   License as published by the Free Software Foundation; either
--   version 2.1 of the License, or (at your option) any later version.
--
--   The GNU C Library is distributed in the hope that it will be useful,
--   but WITHOUT ANY WARRANTY; without even the implied warranty of
--   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
--   Lesser General Public License for more details.
--
--   You should have received a copy of the GNU Lesser General Public
--   License along with the GNU C Library; if not, see
--   <http://www.gnu.org/licenses/>.  */
--
--#include <tcb-offsets.h>
--
--#define SAVE_PID \
--      movl    %fs:PID, %esi;                                                \
--      movl    %esi, %edx;                                                   \
--      negl    %edx;                                                         \
--      movl    %edx, %fs:PID
--
--#define RESTORE_PID \
--      testq   %rax, %rax;                                                   \
--      je      1f;                                                           \
--      movl    %esi, %fs:PID;                                                \
--1:
--
--#include <../../../../../../../libc/sysdeps/linux/x86_64/vfork.S>
--- 
-2.4.3
-
diff --git a/package/uclibc/arc-2015.06/0002-ARCv2-update-memset-so-it-could-be-used-without-doub.patch b/package/uclibc/arc-2015.06/0002-ARCv2-update-memset-so-it-could-be-used-without-doub.patch
deleted file mode 100644 (file)
index 647f97e..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
-From 9b79d39b027f0a44215c4c13f7fd23b710727c37 Mon Sep 17 00:00:00 2001
-From: Alexey Brodkin <abrodkin@synopsys.com>
-Date: Thu, 16 Jul 2015 11:38:29 +0300
-Subject: [PATCH] ARCv2: update memset() so it could be used without double
- load/stores
-
-Existing version of memset() relies on existence of 64-bit load/stores.
-While ARC HS38 may not have those instructions implemented in SoC.
-
-Proposed implementation checks if "-mno-ll64" option was passed to gcc
-(for ARCv2 "-mll64" is set implicitly by default) by checking __LL64__
-definition and if it is not defined uses 32-bit load/stores.
-
-Signed-off-by: Claudiu Zissulescu <claziss@synopsys.com>
-Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
-Cc: Vineet Gupta <vgupta@synopsys.com>
----
- libc/string/arc/arcv2/memset.S | 30 ++++++++++++++++++++++++++++++
- 1 file changed, 30 insertions(+)
-
-diff --git a/libc/string/arc/arcv2/memset.S b/libc/string/arc/arcv2/memset.S
-index d076ad1..0918d37 100644
---- a/libc/string/arc/arcv2/memset.S
-+++ b/libc/string/arc/arcv2/memset.S
-@@ -52,6 +52,7 @@ ENTRY(memset)
-       lpnz    @.Lset64bytes
-       ;; LOOP START
-       PREWRITE(r3, 64)        ;Prefetch the next write location
-+#ifdef __LL64__
-       std.ab  r4, [r3, 8]
-       std.ab  r4, [r3, 8]
-       std.ab  r4, [r3, 8]
-@@ -60,16 +61,45 @@ ENTRY(memset)
-       std.ab  r4, [r3, 8]
-       std.ab  r4, [r3, 8]
-       std.ab  r4, [r3, 8]
-+#else
-+      st.ab   r4, [r3, 4]
-+      st.ab   r4, [r3, 4]
-+      st.ab   r4, [r3, 4]
-+      st.ab   r4, [r3, 4]
-+      st.ab   r4, [r3, 4]
-+      st.ab   r4, [r3, 4]
-+      st.ab   r4, [r3, 4]
-+      st.ab   r4, [r3, 4]
-+      st.ab   r4, [r3, 4]
-+      st.ab   r4, [r3, 4]
-+      st.ab   r4, [r3, 4]
-+      st.ab   r4, [r3, 4]
-+      st.ab   r4, [r3, 4]
-+      st.ab   r4, [r3, 4]
-+      st.ab   r4, [r3, 4]
-+      st.ab   r4, [r3, 4]
-+#endif
- .Lset64bytes:
-       lsr.f   lp_count, r2, 5 ;Last remaining  max 124 bytes
-       lpnz    .Lset32bytes
-       ;; LOOP START
-       prefetchw [r3, 32]      ;Prefetch the next write location
-+#ifdef __LL64__
-       std.ab  r4, [r3, 8]
-       std.ab  r4, [r3, 8]
-       std.ab  r4, [r3, 8]
-       std.ab  r4, [r3, 8]
-+#else
-+      st.ab   r4, [r3, 4]
-+      st.ab   r4, [r3, 4]
-+      st.ab   r4, [r3, 4]
-+      st.ab   r4, [r3, 4]
-+      st.ab   r4, [r3, 4]
-+      st.ab   r4, [r3, 4]
-+      st.ab   r4, [r3, 4]
-+      st.ab   r4, [r3, 4]
-+#endif
- .Lset32bytes:
-       and.f   lp_count, r2, 0x1F ;Last remaining 31 bytes
--- 
-2.4.3
-
index 7ff98b0fdce9eb96f79a07adeb48915ae19331a0..c62a40f84d372c93e8ee9d0187204db7c36af535 100644 (file)
@@ -15,9 +15,6 @@ BR_NO_CHECK_HASH_FOR += $(UCLIBC_SOURCE)
 else ifeq ($(BR2_UCLIBC_VERSION_NG),y)
 UCLIBC_SITE = http://downloads.uclibc-ng.org/releases/$(UCLIBC_VERSION)
 UCLIBC_SOURCE = uClibc-ng-$(UCLIBC_VERSION).tar.xz
-else ifeq ($(BR2_UCLIBC_VERSION_ARC_GIT),y)
-UCLIBC_SITE = $(call github,foss-for-synopsys-dwc-arc-processors,uClibc,$(UCLIBC_VERSION))
-UCLIBC_SOURCE = uClibc-$(UCLIBC_VERSION).tar.gz
 else
 UCLIBC_SITE = http://www.uclibc.org/downloads
 UCLIBC_SOURCE = uClibc-$(UCLIBC_VERSION).tar.xz