diff options
author | Waldemar Brodkorb <wbx@openadk.org> | 2014-09-04 15:24:47 +0200 |
---|---|---|
committer | Waldemar Brodkorb <wbx@openadk.org> | 2014-09-04 15:24:47 +0200 |
commit | 98098a8d1fb9aafc55358e1252f3c8270c749d47 (patch) | |
tree | 685cd1c6de2d88154c0df005df41fe5b7608d03a /toolchain/uclibc | |
parent | 26acbf2f355f2ea8383a6dc2f1e2c314bf36b284 (diff) |
sync uClibc patchset with upstream accepted work
Diffstat (limited to 'toolchain/uclibc')
-rw-r--r-- | toolchain/uclibc/patches/0.9.34-git/0001-libpthread-modify-CFLAGS-pthread_once.c-to-avoid-ear.patch | 40 | ||||
-rw-r--r-- | toolchain/uclibc/patches/0.9.34-git/0001-test-disable-posix_fallocate64-for-small-embedded-sy.patch | 27 | ||||
-rw-r--r-- | toolchain/uclibc/patches/0.9.34-git/0001-test-disable-test-when-UCLIBC_HAS_XLOCALE-is-n.patch | 125 | ||||
-rw-r--r-- | toolchain/uclibc/patches/0.9.34-git/0002-nptl-remove-duplicate-vfork-in-libpthread.patch (renamed from toolchain/uclibc/patches/0.9.34-git/0005-nptl-remove-duplicate-vfork-in-libpthread.patch) | 6 | ||||
-rw-r--r-- | toolchain/uclibc/patches/0.9.34-git/0002-test-skip-test-for-non-mmu-case.patch | 44 | ||||
-rw-r--r-- | toolchain/uclibc/patches/0.9.34-git/0003-ldso-fix-compile-error-for-bfin-non-mmu.patch | 33 | ||||
-rw-r--r-- | toolchain/uclibc/patches/0.9.34-git/0004-sparc-remove-sparc64-sparcv9-code.patch | 8666 |
7 files changed, 30 insertions, 8911 deletions
diff --git a/toolchain/uclibc/patches/0.9.34-git/0001-libpthread-modify-CFLAGS-pthread_once.c-to-avoid-ear.patch b/toolchain/uclibc/patches/0.9.34-git/0001-libpthread-modify-CFLAGS-pthread_once.c-to-avoid-ear.patch deleted file mode 100644 index 66f12c751..000000000 --- a/toolchain/uclibc/patches/0.9.34-git/0001-libpthread-modify-CFLAGS-pthread_once.c-to-avoid-ear.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 82cc57d5a508dbd7a2f578dc13f91dafda4d6cd9 Mon Sep 17 00:00:00 2001 -From: Yang Yingliang <yangyingliang@huawei.com> -Date: Fri, 29 Aug 2014 11:21:30 +0800 -Subject: [PATCH] libpthread: modify CFLAGS-pthread_once.c to avoid earlier - setting being replaced - -I use uclibc in arch arm. The CFLAGS-pthread_once.c has been set -to -DNOT_IN_libc -DIS_IN_libpthread in -libpthread/nptl/sysdeps/unix/sysv/linux/arm/Makefile.arch. -But it will be replaced by -fexceptions -fasynchronous-unwind-tables in -libpthread/nptl/Makefile.in. - -If CFLAGS-pthread_once.c has no -DIS_IN_libpthread the testcase -tst-once3 in test/nptl/ will be failed. The reason is pthread_once -calls another pthread_cleanup_push() which is not under IS_IN_libpthread -so that clear_once_control do not be called when the thread is canceled. -So pthread_once will hang up when it's called second time. - -Signed-off-by: Yang Yingliang <yangyingliang@huawei.com> -Signed-off-by: Waldemar Brodkorb <wbx@openadk.org> ---- - libpthread/nptl/Makefile.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/libpthread/nptl/Makefile.in b/libpthread/nptl/Makefile.in -index 0008822..1b9ba8c 100644 ---- a/libpthread/nptl/Makefile.in -+++ b/libpthread/nptl/Makefile.in -@@ -186,7 +186,7 @@ CFLAGS-forward.c = -fexceptions - CFLAGS-pthread_testcancel.c = -fexceptions - CFLAGS-pthread_join.c = -fexceptions -fasynchronous-unwind-tables - CFLAGS-pthread_timedjoin.c = -fexceptions -fasynchronous-unwind-tables --CFLAGS-pthread_once.c = $(uses-callbacks) -fexceptions \ -+CFLAGS-pthread_once.c += $(uses-callbacks) -fexceptions \ - -fasynchronous-unwind-tables - CFLAGS-pthread_cond_wait.c = -fexceptions -fasynchronous-unwind-tables - CFLAGS-pthread_cond_timedwait.c = -fexceptions -fasynchronous-unwind-tables --- -2.0.1 - diff --git a/toolchain/uclibc/patches/0.9.34-git/0001-test-disable-posix_fallocate64-for-small-embedded-sy.patch b/toolchain/uclibc/patches/0.9.34-git/0001-test-disable-posix_fallocate64-for-small-embedded-sy.patch new file mode 100644 index 000000000..ce7ba02f7 --- /dev/null +++ b/toolchain/uclibc/patches/0.9.34-git/0001-test-disable-posix_fallocate64-for-small-embedded-sy.patch @@ -0,0 +1,27 @@ +From d167545f3578d560e0c3818ac9657a34fead9812 Mon Sep 17 00:00:00 2001 +From: Waldemar Brodkorb <wbx@openadk.org> +Date: Mon, 1 Sep 2014 21:02:19 +0200 +Subject: [PATCH 1/2] test: disable posix_fallocate64 for small embedded + systems + +Signed-off-by: Waldemar Brodkorb <wbx@openadk.org> +--- + test/unistd/Makefile.in | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/test/unistd/Makefile.in b/test/unistd/Makefile.in +index cfef22e..911c8e8 100644 +--- a/test/unistd/Makefile.in ++++ b/test/unistd/Makefile.in +@@ -15,6 +15,8 @@ else + # reordering is not supported, behaves as if POSIXLY_CORRECT would be set + OPTS_tstgetopt := -a -b -cfoobar --required foobar --optional=bazbug --none --colou --color --colour random + endif ++# for embedded systems 4 GB disk space is not available ++TESTS_DISABLED += tst-posix_fallocate64 + + # getconf.c lives in utils/ + # Testsuite cannot currently be built with O= anyway, so hardcode path here +-- +1.8.5.2 (Apple Git-48) + diff --git a/toolchain/uclibc/patches/0.9.34-git/0001-test-disable-test-when-UCLIBC_HAS_XLOCALE-is-n.patch b/toolchain/uclibc/patches/0.9.34-git/0001-test-disable-test-when-UCLIBC_HAS_XLOCALE-is-n.patch deleted file mode 100644 index a13769281..000000000 --- a/toolchain/uclibc/patches/0.9.34-git/0001-test-disable-test-when-UCLIBC_HAS_XLOCALE-is-n.patch +++ /dev/null @@ -1,125 +0,0 @@ -From 7f42d10dfdfe506df0c6b4850a16da7d2ce8293a Mon Sep 17 00:00:00 2001 -From: Waldemar Brodkorb <wbx@openadk.org> -Date: Thu, 28 Aug 2014 14:09:51 +0200 -Subject: [PATCH 1/2] test: disable test when UCLIBC_HAS_XLOCALE is n - -wcsftime() is only implemented when locale support in uClibc -is activated. So test will always fail when locale is deactivated -by the user. Rename file name to be consistent with other test file -names. - -Signed-off-by: Waldemar Brodkorb <wbx@openadk.org> ---- - test/time/Makefile.in | 2 +- - test/time/tst-wcsftime.c | 39 +++++++++++++++++++++++++++++++++++++++ - test/time/tst_wcsftime.c | 39 --------------------------------------- - 3 files changed, 40 insertions(+), 40 deletions(-) - create mode 100644 test/time/tst-wcsftime.c - delete mode 100644 test/time/tst_wcsftime.c - -diff --git a/test/time/Makefile.in b/test/time/Makefile.in -index 05f73a4..3f1d1a1 100644 ---- a/test/time/Makefile.in -+++ b/test/time/Makefile.in -@@ -5,7 +5,7 @@ TESTS_DISABLED := bug-asctime bug-asctime_r time tst-mktime2 tst-posixtz \ - tst-strftime tst-strptime tst-timezone - - ifneq ($(UCLIBC_HAS_XLOCALE),y) --TESTS_DISABLED += tst-ftime_l -+TESTS_DISABLED += tst-ftime_l tst-wcsftime - endif - - CFLAGS_tst-strptime2 := -std=c99 -diff --git a/test/time/tst-wcsftime.c b/test/time/tst-wcsftime.c -new file mode 100644 -index 0000000..6e35f1e ---- /dev/null -+++ b/test/time/tst-wcsftime.c -@@ -0,0 +1,39 @@ -+#include <stdio.h> -+#include <time.h> -+#include <features.h> -+#ifdef __UCLIBC_HAS_WCHAR__ -+#include <wchar.h> -+ -+int -+main (int argc, char *argv[]) -+{ -+ wchar_t buf[200]; -+ time_t t; -+ struct tm *tp; -+ int result = 0; -+ size_t n; -+ -+ time (&t); -+ tp = gmtime (&t); -+ -+ n = wcsftime (buf, sizeof (buf) / sizeof (buf[0]), -+ L"%H:%M:%S %Y-%m-%d\n", tp); -+ if (n != 21) -+ result = 1; -+ -+ wprintf (L"It is now %ls", buf); -+ -+ wcsftime (buf, sizeof (buf) / sizeof (buf[0]), L"%A\n", tp); -+ -+ wprintf (L"The weekday is %ls", buf); -+ -+ return result; -+} -+ -+#else -+int main(void) -+{ -+ puts("Test requires WCHAR support; skipping"); -+ return 0; -+} -+#endif -diff --git a/test/time/tst_wcsftime.c b/test/time/tst_wcsftime.c -deleted file mode 100644 -index 6e35f1e..0000000 ---- a/test/time/tst_wcsftime.c -+++ /dev/null -@@ -1,39 +0,0 @@ --#include <stdio.h> --#include <time.h> --#include <features.h> --#ifdef __UCLIBC_HAS_WCHAR__ --#include <wchar.h> -- --int --main (int argc, char *argv[]) --{ -- wchar_t buf[200]; -- time_t t; -- struct tm *tp; -- int result = 0; -- size_t n; -- -- time (&t); -- tp = gmtime (&t); -- -- n = wcsftime (buf, sizeof (buf) / sizeof (buf[0]), -- L"%H:%M:%S %Y-%m-%d\n", tp); -- if (n != 21) -- result = 1; -- -- wprintf (L"It is now %ls", buf); -- -- wcsftime (buf, sizeof (buf) / sizeof (buf[0]), L"%A\n", tp); -- -- wprintf (L"The weekday is %ls", buf); -- -- return result; --} -- --#else --int main(void) --{ -- puts("Test requires WCHAR support; skipping"); -- return 0; --} --#endif --- -1.8.5.2 (Apple Git-48) - diff --git a/toolchain/uclibc/patches/0.9.34-git/0005-nptl-remove-duplicate-vfork-in-libpthread.patch b/toolchain/uclibc/patches/0.9.34-git/0002-nptl-remove-duplicate-vfork-in-libpthread.patch index 82e8fc5c8..85fb76650 100644 --- a/toolchain/uclibc/patches/0.9.34-git/0005-nptl-remove-duplicate-vfork-in-libpthread.patch +++ b/toolchain/uclibc/patches/0.9.34-git/0002-nptl-remove-duplicate-vfork-in-libpthread.patch @@ -1,7 +1,7 @@ -From b33ede9109b25a249bd2ba4b9c1d20eee90efdf7 Mon Sep 17 00:00:00 2001 +From 539fe3a7cc5439d01499765008751f8d17ca5ede Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb <wbx@openadk.org> -Date: Sun, 31 Aug 2014 11:03:20 +0200 -Subject: [PATCH 5/5] nptl: remove duplicate vfork() in libpthread +Date: Thu, 4 Sep 2014 15:23:36 +0200 +Subject: [PATCH 2/2] 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]//' $(git grep -l pt-vfork libpthread/nptl/sysdeps) diff --git a/toolchain/uclibc/patches/0.9.34-git/0002-test-skip-test-for-non-mmu-case.patch b/toolchain/uclibc/patches/0.9.34-git/0002-test-skip-test-for-non-mmu-case.patch deleted file mode 100644 index 344aab57b..000000000 --- a/toolchain/uclibc/patches/0.9.34-git/0002-test-skip-test-for-non-mmu-case.patch +++ /dev/null @@ -1,44 +0,0 @@ -From fd8d6c5d6bebff0b3a106364e26e75399880b34b Mon Sep 17 00:00:00 2001 -From: Waldemar Brodkorb <wbx@openadk.org> -Date: Thu, 28 Aug 2014 22:49:10 +0200 -Subject: [PATCH 2/2] test: skip test for non-mmu case - -Non-mmu targets have no fork(). In the case of vfork(), -we can not test communication between parent and child -in this way. - -Signed-off-by: Waldemar Brodkorb <wbx@openadk.org> ---- - test/librt/shmtest.c | 12 ++++++++++++ - 1 file changed, 12 insertions(+) - -diff --git a/test/librt/shmtest.c b/test/librt/shmtest.c -index a14302d..2be09cc 100644 ---- a/test/librt/shmtest.c -+++ b/test/librt/shmtest.c -@@ -14,6 +14,8 @@ - #include <sys/stat.h> - #include <sys/wait.h> - -+#ifdef __ARCH_USE_MMU__ -+ - #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0])) - - char shared_name[] = "/sharetest"; -@@ -102,3 +104,13 @@ int main(void) { - } - return 0; - } -+ -+#else -+ -+int main(void) -+{ -+ printf("Skipping test on non-mmu host!\n"); -+ return EXIT_SUCCESS; -+} -+ -+#endif --- -1.8.5.2 (Apple Git-48) - diff --git a/toolchain/uclibc/patches/0.9.34-git/0003-ldso-fix-compile-error-for-bfin-non-mmu.patch b/toolchain/uclibc/patches/0.9.34-git/0003-ldso-fix-compile-error-for-bfin-non-mmu.patch deleted file mode 100644 index 30b6de741..000000000 --- a/toolchain/uclibc/patches/0.9.34-git/0003-ldso-fix-compile-error-for-bfin-non-mmu.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 23098cc9edbcc5aafb2692d83e7cae0b0f7887e5 Mon Sep 17 00:00:00 2001 -From: Waldemar Brodkorb <wbx@openadk.org> -Date: Sat, 30 Aug 2014 17:34:07 +0200 -Subject: [PATCH 3/3] ldso: fix compile error for bfin non-mmu - -When compiling for bfin non-mmu, you get following error: -ldso/ldso/dl-elf.c:731:18: error: '_dl_debug_file' undeclared (first use in this function) -_dl_debug_file is only available when __SUPPORT_LD_DEBUG__ is -defined. - -Signed-off-by: Waldemar Brodkorb <wbx@openadk.org> ---- - ldso/ldso/dl-elf.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/ldso/ldso/dl-elf.c b/ldso/ldso/dl-elf.c -index 1b06bc1..4c42fbc 100644 ---- a/ldso/ldso/dl-elf.c -+++ b/ldso/ldso/dl-elf.c -@@ -728,8 +728,10 @@ struct elf_resolve *_dl_load_elf_shared_library(unsigned rflags, - void *new_addr; - new_addr = map_writeable (infile, ppnt, piclib, flags, libaddr); - if (!new_addr) { -+#ifdef __SUPPORT_LD_DEBUG__ - _dl_dprintf(_dl_debug_file, "Can't modify %s's text section.", - libname); -+#endif - _dl_exit(1); - } - DL_UPDATE_LOADADDR_HDR(lib_loadaddr, --- -1.8.5.2 (Apple Git-48) - diff --git a/toolchain/uclibc/patches/0.9.34-git/0004-sparc-remove-sparc64-sparcv9-code.patch b/toolchain/uclibc/patches/0.9.34-git/0004-sparc-remove-sparc64-sparcv9-code.patch deleted file mode 100644 index ed23688a6..000000000 --- a/toolchain/uclibc/patches/0.9.34-git/0004-sparc-remove-sparc64-sparcv9-code.patch +++ /dev/null @@ -1,8666 +0,0 @@ -From b523318f205c88a1f9871b8acbda999150242e36 Mon Sep 17 00:00:00 2001 -From: Waldemar Brodkorb <wbx@openadk.org> -Date: Sun, 31 Aug 2014 10:48:39 +0200 -Subject: [PATCH 4/5] sparc: remove sparc64/sparcv9 code - -The sparc64/sparcv9 code is incomplete. Furthermore there is -no real embedded hardware for sparc64 available, so better remove -it until someone comes up with a complete port. - -Signed-off-by: Waldemar Brodkorb <wbx@openadk.org> ---- - extra/Configs/Config.sparc | 6 - - libc/string/sparc/sparc64/memchr.S | 258 ------ - libc/string/sparc/sparc64/memcpy.S | 922 --------------------- - libc/string/sparc/sparc64/memset.S | 316 ------- - libc/string/sparc/sparc64/sparcv9b/memcpy.S | 611 -------------- - libc/string/sparc/sparc64/stpcpy.S | 270 ------ - libc/string/sparc/sparc64/strcat.S | 338 -------- - libc/string/sparc/sparc64/strchr.S | 485 ----------- - libc/string/sparc/sparc64/strcmp.S | 278 ------- - libc/string/sparc/sparc64/strcpy.S | 244 ------ - libc/string/sparc/sparc64/strlen.S | 172 ---- - libc/sysdeps/linux/sparc/bits/setjmp.h | 31 - - libc/sysdeps/linux/sparc/bits/sigcontext.h | 35 - - libc/sysdeps/linux/sparc/crt1.S | 11 - - libc/sysdeps/linux/sparc/jmpbuf-unwind.h | 25 +- - libc/sysdeps/linux/sparc/qp_ops.c | 8 - - libc/sysdeps/linux/sparc/sparcv9/clone.S | 101 --- - libc/sysdeps/linux/sparc/sparcv9/rem.S | 20 - - libc/sysdeps/linux/sparc/sparcv9/sdiv.S | 18 - - libc/sysdeps/linux/sparc/sparcv9/udiv.S | 15 - - libc/sysdeps/linux/sparc/sparcv9/umul.S | 15 - - libc/sysdeps/linux/sparc/sparcv9/urem.S | 17 - - libc/sysdeps/linux/sparc/sys/procfs.h | 88 -- - .../linuxthreads.old/sysdeps/sparc/pt-machine.h | 86 +- - .../sysdeps/sparc/sparc32/pt-machine.h | 82 -- - .../sysdeps/sparc/sparc64/pt-machine.h | 104 --- - libpthread/linuxthreads/sysdeps/sparc/pspinlock.c | 95 ++- - libpthread/linuxthreads/sysdeps/sparc/pt-machine.h | 86 +- - .../linuxthreads/sysdeps/sparc/sparc32/pspinlock.c | 87 -- - .../sysdeps/sparc/sparc32/pt-machine.h | 82 -- - .../sysdeps/sparc/sparc32/sparcv9/pspinlock.c | 93 --- - .../linuxthreads/sysdeps/sparc/sparc64/pspinlock.c | 92 -- - .../sysdeps/sparc/sparc64/pt-machine.h | 104 --- - .../unix/sysv/linux/sparc/sparc32/sysdep-cancel.h | 100 --- - .../sysdeps/unix/sysv/linux/sparc/sparc32/vfork.S | 64 -- - .../unix/sysv/linux/sparc/sparc64/pt-sigsuspend.c | 1 - - .../unix/sysv/linux/sparc/sparc64/sysdep-cancel.h | 99 --- - .../sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S | 63 -- - .../sysdeps/unix/sysv/linux/sparc/sysdep-cancel.h | 102 ++- - .../sysdeps/unix/sysv/linux/sparc/vfork.S | 64 ++ - libpthread/nptl/sysdeps/jmpbuf-unwind.h | 27 + - libpthread/nptl/sysdeps/pthread_spin_lock.c | 39 + - libpthread/nptl/sysdeps/pthread_spin_trylock.c | 28 + - libpthread/nptl/sysdeps/pthreaddef.h | 39 + - libpthread/nptl/sysdeps/sparc/jmpbuf-unwind.h | 32 +- - libpthread/nptl/sysdeps/sparc/pthread_spin_lock.c | 44 +- - .../nptl/sysdeps/sparc/pthread_spin_trylock.c | 33 +- - libpthread/nptl/sysdeps/sparc/pthreaddef.h | 44 +- - .../nptl/sysdeps/sparc/sparc32/jmpbuf-unwind.h | 27 - - .../nptl/sysdeps/sparc/sparc32/pthread_spin_lock.c | 39 - - .../sysdeps/sparc/sparc32/pthread_spin_trylock.c | 28 - - libpthread/nptl/sysdeps/sparc/sparc32/pthreaddef.h | 39 - - .../sparc/sparc32/sparcv9/pthread_spin_lock.c | 38 - - .../sparc/sparc32/sparcv9/pthread_spin_trylock.c | 1 - - .../sparc/sparc32/sparcv9/pthread_spin_unlock.c | 1 - - .../nptl/sysdeps/sparc/sparc64/jmpbuf-unwind.h | 27 - - .../nptl/sysdeps/sparc/sparc64/pthread_spin_lock.c | 38 - - .../sysdeps/sparc/sparc64/pthread_spin_trylock.c | 33 - - .../sysdeps/sparc/sparc64/pthread_spin_unlock.c | 29 - - libpthread/nptl/sysdeps/sparc/sparc64/pthreaddef.h | 39 - - .../nptl/sysdeps/unix/sysv/linux/sparc/clone.S | 7 +- - .../nptl/sysdeps/unix/sysv/linux/sparc/pt-vfork.S | 49 +- - .../unix/sysv/linux/sparc/pthread_barrier_wait.c | 94 ++- - .../nptl/sysdeps/unix/sysv/linux/sparc/sem_post.c | 52 ++ - .../sysdeps/unix/sysv/linux/sparc/sem_timedwait.c | 147 ++++ - .../sysdeps/unix/sysv/linux/sparc/sem_trywait.c | 51 ++ - .../nptl/sysdeps/unix/sysv/linux/sparc/sem_wait.c | 124 +++ - .../sysdeps/unix/sysv/linux/sparc/sparc32/clone.S | 2 - - .../unix/sysv/linux/sparc/sparc32/pt-vfork.S | 44 - - .../linux/sparc/sparc32/pthread_barrier_wait.c | 93 --- - .../unix/sysv/linux/sparc/sparc32/sem_post.c | 52 -- - .../unix/sysv/linux/sparc/sparc32/sem_timedwait.c | 147 ---- - .../unix/sysv/linux/sparc/sparc32/sem_trywait.c | 51 -- - .../unix/sysv/linux/sparc/sparc32/sem_wait.c | 124 --- - .../unix/sysv/linux/sparc/sparc32/sysdep-cancel.h | 111 --- - .../sysdeps/unix/sysv/linux/sparc/sparc32/vfork.S | 48 -- - .../sysdeps/unix/sysv/linux/sparc/sparc64/clone.S | 2 - - .../unix/sysv/linux/sparc/sparc64/pt-vfork.S | 44 - - .../unix/sysv/linux/sparc/sparc64/sysdep-cancel.h | 109 --- - .../unix/sysv/linux/sparc/sparc64/timer_create.c | 1 - - .../unix/sysv/linux/sparc/sparc64/timer_delete.c | 1 - - .../unix/sysv/linux/sparc/sparc64/timer_getoverr.c | 1 - - .../unix/sysv/linux/sparc/sparc64/timer_gettime.c | 1 - - .../unix/sysv/linux/sparc/sparc64/timer_settime.c | 1 - - .../sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S | 48 -- - .../sysdeps/unix/sysv/linux/sparc/sysdep-cancel.h | 114 ++- - .../nptl/sysdeps/unix/sysv/linux/sparc/vfork.S | 53 +- - 87 files changed, 1350 insertions(+), 6534 deletions(-) - delete mode 100644 libc/string/sparc/sparc64/memchr.S - delete mode 100644 libc/string/sparc/sparc64/memcpy.S - delete mode 100644 libc/string/sparc/sparc64/memset.S - delete mode 100644 libc/string/sparc/sparc64/sparcv9b/memcpy.S - delete mode 100644 libc/string/sparc/sparc64/stpcpy.S - delete mode 100644 libc/string/sparc/sparc64/strcat.S - delete mode 100644 libc/string/sparc/sparc64/strchr.S - delete mode 100644 libc/string/sparc/sparc64/strcmp.S - delete mode 100644 libc/string/sparc/sparc64/strcpy.S - delete mode 100644 libc/string/sparc/sparc64/strlen.S - delete mode 100644 libc/sysdeps/linux/sparc/sparcv9/clone.S - delete mode 100644 libc/sysdeps/linux/sparc/sparcv9/rem.S - delete mode 100644 libc/sysdeps/linux/sparc/sparcv9/sdiv.S - delete mode 100644 libc/sysdeps/linux/sparc/sparcv9/udiv.S - delete mode 100644 libc/sysdeps/linux/sparc/sparcv9/umul.S - delete mode 100644 libc/sysdeps/linux/sparc/sparcv9/urem.S - delete mode 100644 libpthread/linuxthreads.old/sysdeps/sparc/sparc32/pt-machine.h - delete mode 100644 libpthread/linuxthreads.old/sysdeps/sparc/sparc64/pt-machine.h - delete mode 100644 libpthread/linuxthreads/sysdeps/sparc/sparc32/pspinlock.c - delete mode 100644 libpthread/linuxthreads/sysdeps/sparc/sparc32/pt-machine.h - delete mode 100644 libpthread/linuxthreads/sysdeps/sparc/sparc32/sparcv9/pspinlock.c - delete mode 100644 libpthread/linuxthreads/sysdeps/sparc/sparc64/pspinlock.c - delete mode 100644 libpthread/linuxthreads/sysdeps/sparc/sparc64/pt-machine.h - delete mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep-cancel.h - delete mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/sparc/sparc32/vfork.S - delete mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/sparc/sparc64/pt-sigsuspend.c - delete mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/sparc/sparc64/sysdep-cancel.h - delete mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S - create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/sparc/vfork.S - create mode 100644 libpthread/nptl/sysdeps/jmpbuf-unwind.h - create mode 100644 libpthread/nptl/sysdeps/pthread_spin_lock.c - create mode 100644 libpthread/nptl/sysdeps/pthread_spin_trylock.c - create mode 100644 libpthread/nptl/sysdeps/pthreaddef.h - delete mode 100644 libpthread/nptl/sysdeps/sparc/sparc32/jmpbuf-unwind.h - delete mode 100644 libpthread/nptl/sysdeps/sparc/sparc32/pthread_spin_lock.c - delete mode 100644 libpthread/nptl/sysdeps/sparc/sparc32/pthread_spin_trylock.c - delete mode 100644 libpthread/nptl/sysdeps/sparc/sparc32/pthreaddef.h - delete mode 100644 libpthread/nptl/sysdeps/sparc/sparc32/sparcv9/pthread_spin_lock.c - delete mode 100644 libpthread/nptl/sysdeps/sparc/sparc32/sparcv9/pthread_spin_trylock.c - delete mode 100644 libpthread/nptl/sysdeps/sparc/sparc32/sparcv9/pthread_spin_unlock.c - delete mode 100644 libpthread/nptl/sysdeps/sparc/sparc64/jmpbuf-unwind.h - delete mode 100644 libpthread/nptl/sysdeps/sparc/sparc64/pthread_spin_lock.c - delete mode 100644 libpthread/nptl/sysdeps/sparc/sparc64/pthread_spin_trylock.c - delete mode 100644 libpthread/nptl/sysdeps/sparc/sparc64/pthread_spin_unlock.c - delete mode 100644 libpthread/nptl/sysdeps/sparc/sparc64/pthreaddef.h - create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sparc/sem_post.c - create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sparc/sem_timedwait.c - create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sparc/sem_trywait.c - create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sparc/sem_wait.c - delete mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sparc/sparc32/clone.S - delete mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sparc/sparc32/pt-vfork.S - delete mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sparc/sparc32/pthread_barrier_wait.c - delete mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sparc/sparc32/sem_post.c - delete mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sparc/sparc32/sem_timedwait.c - delete mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sparc/sparc32/sem_trywait.c - delete mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sparc/sparc32/sem_wait.c - delete mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep-cancel.h - delete mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sparc/sparc32/vfork.S - delete mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sparc/sparc64/clone.S - delete mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sparc/sparc64/pt-vfork.S - delete mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sparc/sparc64/sysdep-cancel.h - delete mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sparc/sparc64/timer_create.c - delete mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sparc/sparc64/timer_delete.c - delete mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sparc/sparc64/timer_getoverr.c - delete mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sparc/sparc64/timer_gettime.c - delete mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sparc/sparc64/timer_settime.c - delete mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S - -diff --git a/extra/Configs/Config.sparc b/extra/Configs/Config.sparc -index c6180c8..47c8ac2 100644 ---- a/extra/Configs/Config.sparc -+++ b/extra/Configs/Config.sparc -@@ -26,10 +26,4 @@ config CONFIG_SPARC_V7 - config CONFIG_SPARC_V8 - bool "SPARC v8" - --config CONFIG_SPARC_V9 -- bool "SPARC v9" -- --config CONFIG_SPARC_V9B -- bool "SPARC v9b" -- - endchoice -diff --git a/libc/string/sparc/sparc64/memchr.S b/libc/string/sparc/sparc64/memchr.S -deleted file mode 100644 -index 6467f7f..0000000 ---- a/libc/string/sparc/sparc64/memchr.S -+++ /dev/null -@@ -1,258 +0,0 @@ --/* memchr (str, ch, n) -- Return pointer to first occurrence of CH in STR less -- than N. -- For SPARC v9. -- Copyright (C) 1998, 1999, 2000, 2003 Free Software Foundation, Inc. -- This file is part of the GNU C Library. -- Contributed by Jan Vondrak <jvon4518@ss1000.ms.mff.cuni.cz> and -- Jakub Jelinek <jj@ultra.linux.cz>. -- This version is developed using the same algorithm as the fast C -- version which carries the following introduction: -- Based on strlen implementation by Torbjorn Granlund (tege@sics.se), -- with help from Dan Sahlin (dan@sics.se) and -- commentary by Jim Blandy (jimb@ai.mit.edu); -- adaptation to memchr suggested by Dick Karpinski (dick@cca.ucsf.edu), -- and implemented by Roland McGrath (roland@ai.mit.edu). -- -- 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 <asm/asi.h> --#ifndef XCC --#define XCC xcc --#define USE_BPR -- .register %g2, #scratch -- .register %g3, #scratch --#endif -- -- /* Normally, this uses -- ((xword - 0x0101010101010101) & 0x8080808080808080) test -- to find out if any byte in xword could be zero. This is fast, but -- also gives false alarm for any byte in range 0x81-0xff. It does -- not matter for correctness, as if this test tells us there could -- be some zero byte, we check it byte by byte, but if bytes with -- high bits set are common in the strings, then this will give poor -- performance. You can #define EIGHTBIT_NOT_RARE and the algorithm -- will use one tick slower, but more precise test -- ((xword - 0x0101010101010101) & (~xword) & 0x8080808080808080), -- which does not give any false alarms (but if some bits are set, -- one cannot assume from it which bytes are zero and which are not). -- It is yet to be measured, what is the correct default for glibc -- in these days for an average user. -- */ -- -- .text -- .align 32 --ENTRY(memchr) -- and %o1, 0xff, %o1 /* IEU0 Group */ --#ifdef USE_BPR -- brz,pn %o2, 12f /* CTI+IEU1 */ --#else -- tst %o2 /* IEU1 */ -- be,pn %XCC, 12f /* CTI */ --#endif -- sll %o1, 8, %g3 /* IEU0 Group */ -- add %o0, %o2, %o2 /* IEU1 */ -- -- sethi %hi(0x01010101), %g1 /* IEU0 Group */ -- or %g3, %o1, %g3 /* IEU1 */ -- ldub [%o0], %o3 /* Load */ -- sllx %g3, 16, %g5 /* IEU0 Group */ -- -- or %g1, %lo(0x01010101), %g1 /* IEU1 */ -- sllx %g1, 32, %g2 /* IEU0 Group */ -- or %g3, %g5, %g3 /* IEU1 */ -- sllx %g3, 32, %g5 /* IEU0 Group */ -- -- cmp %o3, %o1 /* IEU1 */ -- be,pn %xcc, 13f /* CTI */ -- or %g1, %g2, %g1 /* IEU0 Group */ -- andcc %o0, 7, %g0 /* IEU1 */ -- -- bne,a,pn %icc, 21f /* CTI */ -- add %o0, 1, %o0 /* IEU0 Group */ -- ldx [%o0], %o3 /* Load Group */ -- sllx %g1, 7, %g2 /* IEU0 */ -- -- or %g3, %g5, %g3 /* IEU1 */ --1: add %o0, 8, %o0 /* IEU0 Group */ -- xor %o3, %g3, %o4 /* IEU1 */ -- /* %g1 = 0101010101010101 * -- * %g2 = 8080088080808080 * -- * %g3 = c c c c c c c c * -- * %o3 = value * -- * %o4 = value XOR c */ --2: cmp %o0, %o2 /* IEU1 Group */ -- -- bg,pn %XCC, 11f /* CTI */ -- ldxa [%o0] ASI_PNF, %o3 /* Load */ -- sub %o4, %g1, %o5 /* IEU0 Group */ -- add %o0, 8, %o0 /* IEU1 */ --#ifdef EIGHTBIT_NOT_RARE -- andn %o5, %o4, %o5 /* IEU0 Group */ --#endif -- -- andcc %o5, %g2, %g0 /* IEU1 Group */ -- be,a,pt %xcc, 2b /* CTI */ -- xor %o3, %g3, %o4 /* IEU0 */ -- srlx %o4, 56, %g5 /* IEU0 */ -- -- andcc %g5, 0xff, %g0 /* IEU1 Group */ -- be,pn %icc, 3f /* CTI */ -- srlx %o4, 48, %g5 /* IEU0 */ -- andcc %g5, 0xff, %g0 /* IEU1 Group */ -- -- be,pn %icc, 4f /* CTI */ -- srlx %o4, 40, %g5 /* IEU0 */ -- andcc %g5, 0xff, %g0 /* IEU1 Group */ -- be,pn %icc, 5f /* CTI */ -- -- srlx %o4, 32, %g5 /* IEU0 */ -- andcc %g5, 0xff, %g0 /* IEU1 Group */ -- be,pn %icc, 6f /* CTI */ -- srlx %o4, 24, %g5 /* IEU0 */ -- -- andcc %g5, 0xff, %g0 /* IEU1 Group */ -- be,pn %icc, 7f /* CTI */ -- srlx %o4, 16, %g5 /* IEU0 */ -- andcc %g5, 0xff, %g0 /* IEU1 Group */ -- -- be,pn %icc, 8f /* CTI */ -- srlx %o4, 8, %g5 /* IEU0 */ -- andcc %g5, 0xff, %g0 /* IEU1 Group */ -- be,pn %icc, 9f /* CTI */ -- -- andcc %o4, 0xff, %g0 /* IEU1 Group */ -- bne,pt %icc, 2b /* CTI */ -- xor %o3, %g3, %o4 /* IEU0 */ -- retl /* CTI+IEU1 Group */ -- -- add %o0, -9, %o0 /* IEU0 */ -- -- .align 16 --3: retl /* CTI+IEU1 Group */ -- add %o0, -16, %o0 /* IEU0 */ --4: retl /* CTI+IEU1 Group */ -- add %o0, -15, %o0 /* IEU0 */ -- --5: retl /* CTI+IEU1 Group */ -- add %o0, -14, %o0 /* IEU0 */ --6: retl /* CTI+IEU1 Group */ -- add %o0, -13, %o0 /* IEU0 */ -- --7: retl /* CTI+IEU1 Group */ -- add %o0, -12, %o0 /* IEU0 */ --8: retl /* CTI+IEU1 Group */ -- add %o0, -11, %o0 /* IEU0 */ -- --9: retl /* CTI+IEU1 Group */ -- add %o0, -10, %o0 /* IEU0 */ --11: sub %o4, %g1, %o5 /* IEU0 Group */ -- sub %o0, 8, %o0 /* IEU1 */ -- -- andcc %o5, %g2, %g0 /* IEU1 Group */ -- be,pt %xcc, 12f /* CTI */ -- sub %o2, %o0, %o2 /* IEU0 */ -- tst %o2 /* IEU1 Group */ -- -- be,pn %XCC, 12f /* CTI */ -- srlx %o4, 56, %g5 /* IEU0 */ -- andcc %g5, 0xff, %g0 /* IEU1 Group */ -- be,pn %icc, 13f /* CTI */ -- -- cmp %o2, 1 /* IEU0 */ -- be,pn %XCC, 12f /* CTI Group */ -- srlx %o4, 48, %g5 /* IEU0 */ -- andcc %g5, 0xff, %g0 /* IEU1 Group */ -- -- be,pn %icc, 14f /* CTI */ -- cmp %o2, 2 /* IEU1 Group */ -- be,pn %XCC, 12f /* CTI */ -- srlx %o4, 40, %g5 /* IEU0 */ -- -- andcc %g5, 0xff, %g0 /* IEU1 Group */ -- be,pn %icc, 15f /* CTI */ -- cmp %o2, 3 /* IEU1 Group */ -- be,pn %XCC, 12f /* CTI */ -- -- srlx %o4, 32, %g5 /* IEU0 */ -- andcc %g5, 0xff, %g0 /* IEU1 Group */ -- be,pn %icc, 16f /* CTI */ -- cmp %o2, 4 /* IEU1 Group */ -- -- be,pn %XCC, 12f /* CTI */ -- srlx %o4, 24, %g5 /* IEU0 */ -- andcc %g5, 0xff, %g0 /* IEU1 Group */ -- be,pn %icc, 17f /* CTI */ -- -- cmp %o2, 5 /* IEU1 Group */ -- be,pn %XCC, 12f /* CTI */ -- srlx %o4, 16, %g5 /* IEU0 */ -- andcc %g5, 0xff, %g0 /* IEU1 Group */ -- -- be,pn %icc, 18f /* CTI */ -- cmp %o2, 6 /* IEU1 Group */ -- be,pn %XCC, 12f /* CTI */ -- srlx %o4, 8, %g5 /* IEU0 */ -- -- andcc %g5, 0xff, %g0 /* IEU1 Group */ -- be,pn %icc, 19f /* CTI */ -- nop /* IEU0 */ --12: retl /* CTI+IEU1 Group */ -- -- clr %o0 /* IEU0 */ -- nop /* Stub */ --13: retl /* CTI+IEU1 Group */ -- nop /* IEU0 */ -- --14: retl /* CTI+IEU1 Group */ -- add %o0, 1, %o0 /* IEU0 */ --15: retl /* CTI+IEU1 Group */ -- add %o0, 2, %o0 /* IEU0 */ -- --16: retl /* CTI+IEU1 Group */ -- add %o0, 3, %o0 /* IEU0 */ --17: retl /* CTI+IEU1 Group */ -- add %o0, 4, %o0 /* IEU0 */ -- --18: retl /* CTI+IEU1 Group */ -- add %o0, 5, %o0 /* IEU0 */ --19: retl /* CTI+IEU1 Group */ -- add %o0, 6, %o0 /* IEU0 */ -- --21: cmp %o0, %o2 /* IEU1 */ -- be,pn %XCC, 12b /* CTI */ -- sllx %g1, 7, %g2 /* IEU0 Group */ -- ldub [%o0], %o3 /* Load */ -- -- or %g3, %g5, %g3 /* IEU1 */ --22: andcc %o0, 7, %g0 /* IEU1 Group */ -- be,a,pn %icc, 1b /* CTI */ -- ldx [%o0], %o3 /* Load */ -- -- cmp %o3, %o1 /* IEU1 Group */ -- be,pn %xcc, 23f /* CTI */ -- add %o0, 1, %o0 /* IEU0 */ -- cmp %o0, %o2 /* IEU1 Group */ -- -- bne,a,pt %XCC, 22b /* CTI */ -- ldub [%o0], %o3 /* Load */ -- retl /* CTI+IEU1 Group */ -- clr %o0 /* IEU0 */ -- --23: retl /* CTI+IEU1 Group */ -- add %o0, -1, %o0 /* IEU0 */ --END(memchr) -- --libc_hidden_def(memchr) --weak_alias(memchr,__ubp_memchr) -diff --git a/libc/string/sparc/sparc64/memcpy.S b/libc/string/sparc/sparc64/memcpy.S -deleted file mode 100644 -index df3e2d3..0000000 ---- a/libc/string/sparc/sparc64/memcpy.S -+++ /dev/null -@@ -1,922 +0,0 @@ --/* Copy SIZE bytes from SRC to DEST. -- For UltraSPARC. -- Copyright (C) 1996, 97, 98, 99, 2003 Free Software Foundation, Inc. -- This file is part of the GNU C Library. -- Contributed by David S. Miller (davem@caip.rutgers.edu) and -- Jakub Jelinek (jakub@redhat.com). -- -- 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 <asm/asi.h> --#ifndef XCC --#define USE_BPR -- .register %g2, #scratch -- .register %g3, #scratch -- .register %g6, #scratch --#define XCC xcc --#endif --#define FPRS_FEF 4 -- --#define FREG_FROB(f1, f2, f3, f4, f5, f6, f7, f8, f9) \ -- faligndata %f1, %f2, %f48; \ -- faligndata %f2, %f3, %f50; \ -- faligndata %f3, %f4, %f52; \ -- faligndata %f4, %f5, %f54; \ -- faligndata %f5, %f6, %f56; \ -- faligndata %f6, %f7, %f58; \ -- faligndata %f7, %f8, %f60; \ -- faligndata %f8, %f9, %f62; -- --#define MAIN_LOOP_CHUNK(src, dest, fdest, fsrc, len, jmptgt) \ -- ldda [%src] %asi, %fdest; \ -- add %src, 0x40, %src; \ -- add %dest, 0x40, %dest; \ -- subcc %len, 0x40, %len; \ -- be,pn %xcc, jmptgt; \ -- stda %fsrc, [%dest - 0x40] %asi; -- --#define LOOP_CHUNK1(src, dest, len, branch_dest) \ -- MAIN_LOOP_CHUNK(src, dest, f0, f48, len, branch_dest) --#define LOOP_CHUNK2(src, dest, len, branch_dest) \ -- MAIN_LOOP_CHUNK(src, dest, f16, f48, len, branch_dest) --#define LOOP_CHUNK3(src, dest, len, branch_dest) \ -- MAIN_LOOP_CHUNK(src, dest, f32, f48, len, branch_dest) -- --#define STORE_SYNC(dest, fsrc) \ -- stda %fsrc, [%dest] %asi; \ -- add %dest, 0x40, %dest; -- --#define STORE_JUMP(dest, fsrc, target) \ -- stda %fsrc, [%dest] %asi; \ -- add %dest, 0x40, %dest; \ -- ba,pt %xcc, target; -- --#define VISLOOP_PAD nop; nop; nop; nop; \ -- nop; nop; nop; nop; \ -- nop; nop; nop; nop; \ -- nop; nop; nop; -- --#define FINISH_VISCHUNK(dest, f0, f1, left) \ -- subcc %left, 8, %left; \ -- bl,pn %xcc, 205f; \ -- faligndata %f0, %f1, %f48; \ -- std %f48, [%dest]; \ -- add %dest, 8, %dest; -- --#define UNEVEN_VISCHUNK(dest, f0, f1, left) \ -- subcc %left, 8, %left; \ -- bl,pn %xcc, 205f; \ -- fsrc1 %f0, %f1; \ -- ba,a,pt %xcc, 204f; -- -- /* Macros for non-VIS memcpy code. */ --#define MOVE_BIGCHUNK(src, dst, offset, t0, t1, t2, t3) \ -- ldx [%src + offset + 0x00], %t0; \ -- ldx [%src + offset + 0x08], %t1; \ -- ldx [%src + offset + 0x10], %t2; \ -- ldx [%src + offset + 0x18], %t3; \ -- stw %t0, [%dst + offset + 0x04]; \ -- srlx %t0, 32, %t0; \ -- stw %t0, [%dst + offset + 0x00]; \ -- stw %t1, [%dst + offset + 0x0c]; \ -- srlx %t1, 32, %t1; \ -- stw %t1, [%dst + offset + 0x08]; \ |