devel
Threads by month
- ----- 2026 -----
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- 1 participants
- 1176 discussions
uClibc-ng - small C library for embedded systems branch master updated. 51f9b66d2fee1c7c1088b548751ac64131220b6e
by wbx@helium.waldemar-brodkorb.de 20 Sep '14
by wbx@helium.waldemar-brodkorb.de 20 Sep '14
20 Sep '14
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "uClibc-ng - small C library for embedded systems".
The branch, master has been updated
via 51f9b66d2fee1c7c1088b548751ac64131220b6e (commit)
via ec2ec114cecd19389a0914e2a3c5f124c0831958 (commit)
via 481de81559b8c58c7745a29d560c304a0f6c2658 (commit)
via a22a0030f32b828c0f2e804d1ed1fe567ddab680 (commit)
via 83c3ccb1896108c68502ec30193513e586022b5f (commit)
from 29a99d6bf4361f2ff116236ed996e36b17020782 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 51f9b66d2fee1c7c1088b548751ac64131220b6e
Author: Waldemar Brodkorb <wbx(a)openadk.org>
Date: Tue Sep 9 18:40:22 2014 +0200
disable tests for arc as long as binutils is buggy
Signed-off-by: Waldemar Brodkorb <wbx(a)openadk.org>
commit ec2ec114cecd19389a0914e2a3c5f124c0831958
Author: Waldemar Brodkorb <wbx(a)openadk.org>
Date: Sun Sep 7 16:38:14 2014 +0200
disable tests if HAVE_SHARED is not set
Signed-off-by: Waldemar Brodkorb <wbx(a)openadk.org>
commit 481de81559b8c58c7745a29d560c304a0f6c2658
Author: Waldemar Brodkorb <wbx(a)openadk.org>
Date: Sat Sep 6 14:45:42 2014 +0200
linuxthreads: remove unused s390 code
Cleanup linuxthreads by removing unused s390 code.
Signed-off-by: Waldemar Brodkorb <wbx(a)openadk.org>
commit a22a0030f32b828c0f2e804d1ed1fe567ddab680
Author: Waldemar Brodkorb <wbx(a)openadk.org>
Date: Sat Sep 20 22:09:00 2014 +0200
nptl: remove duplicate vfork() in libpthread
Automatic patching via two oneliners by Bernhard Reutner-Fischer <rep.dot.nop(a)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(a)free-electrons.com>
Tested-by: Thomas Petazzoni <thomas.petazzoni(a)free-electrons.com>
Signed-off-by: Waldemar Brodkorb <wbx(a)openadk.org>
commit 83c3ccb1896108c68502ec30193513e586022b5f
Author: Waldemar Brodkorb <wbx(a)openadk.org>
Date: Mon Sep 1 21:02:19 2014 +0200
test: disable posix_fallocate64 for small embedded systems
Signed-off-by: Waldemar Brodkorb <wbx(a)openadk.org>
-----------------------------------------------------------------------
Summary of changes:
libc/stdlib/system.c | 3 -
libpthread/linuxthreads/sysdeps/s390/pspinlock.c | 90 ------------
.../linuxthreads/sysdeps/s390/s390-32/pt-machine.h | 119 ---------------
.../linuxthreads/sysdeps/s390/s390-64/pt-machine.h | 124 ----------------
.../linuxthreads/sysdeps/s390/tcb-offsets.sym | 4 -
libpthread/linuxthreads/sysdeps/s390/tls.h | 144 ------------------
.../sysdeps/unix/sysv/linux/s390/bits/typesizes.h | 71 ---------
.../unix/sysv/linux/s390/s390-32/pt-initfini.c | 153 --------------------
.../unix/sysv/linux/s390/s390-32/sysdep-cancel.h | 136 -----------------
.../sysdeps/unix/sysv/linux/s390/s390-32/vfork.S | 68 ---------
.../unix/sysv/linux/s390/s390-64/pt-initfini.c | 136 -----------------
.../unix/sysv/linux/s390/s390-64/pt-sigsuspend.c | 1 -
.../unix/sysv/linux/s390/s390-64/sysdep-cancel.h | 115 ---------------
.../sysdeps/unix/sysv/linux/s390/s390-64/vfork.S | 53 -------
.../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 ----
test/nptl/Makefile.in | 12 +-
test/tls/Makefile.in | 4 +
test/unistd/Makefile.in | 2 +
38 files changed, 21 insertions(+), 1714 deletions(-)
delete mode 100644 libpthread/linuxthreads/sysdeps/s390/pspinlock.c
delete mode 100644 libpthread/linuxthreads/sysdeps/s390/s390-32/pt-machine.h
delete mode 100644 libpthread/linuxthreads/sysdeps/s390/s390-64/pt-machine.h
delete mode 100644 libpthread/linuxthreads/sysdeps/s390/tcb-offsets.sym
delete mode 100644 libpthread/linuxthreads/sysdeps/s390/tls.h
delete mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/s390/bits/typesizes.h
delete mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-32/pt-initfini.c
delete mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h
delete mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-32/vfork.S
delete mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-64/pt-initfini.c
delete mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-64/pt-sigsuspend.c
delete mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h
delete mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-64/vfork.S
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/libc/stdlib/system.c b/libc/stdlib/system.c
index 3ef9a8b..7f81f94 100644
--- a/libc/stdlib/system.c
+++ b/libc/stdlib/system.c
@@ -91,9 +91,6 @@ libc_hidden_proto(waitpid)
#elif defined __sparc__
# define FORK() \
INLINE_CLONE_SYSCALL (CLONE_PARENT_SETTID | SIGCHLD, 0, &pid, NULL, NULL)
-#elif defined __s390__
-# define FORK() \
- INLINE_SYSCALL (clone, 3, 0, CLONE_PARENT_SETTID | SIGCHLD, &pid)
#else
# define FORK() \
INLINE_SYSCALL (clone, 3, CLONE_PARENT_SETTID | SIGCHLD, 0, &pid)
diff --git a/libpthread/linuxthreads/sysdeps/s390/pspinlock.c b/libpthread/linuxthreads/sysdeps/s390/pspinlock.c
deleted file mode 100644
index be75786..0000000
--- a/libpthread/linuxthreads/sysdeps/s390/pspinlock.c
+++ /dev/null
@@ -1,90 +0,0 @@
-/* POSIX spinlock implementation. S/390 version.
- Copyright (C) 2000, 2004 Free Software Foundation, Inc.
- Contributed by Martin Schwidefsky (schwidefsky(a)de.ibm.com)
- 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; see the file COPYING.LIB. If
- not, see <http://www.gnu.org/licenses/>. */
-
-#include <errno.h>
-#include <pthread.h>
-#include "internals.h"
-
-/* This implementation is similar to the one used in the Linux kernel.
- But the kernel is byte instructions for the memory access. This is
- faster but unusable here. The problem is that only 128
- threads/processes could use the spinlock at the same time. If (by
- a design error in the program) a thread/process would hold the
- spinlock for a time long enough to accumulate 128 waiting
- processes, the next one will find a positive value in the spinlock
- and assume it is unlocked. We cannot accept that. */
-
-int
-__pthread_spin_lock (pthread_spinlock_t *lock)
-{
- __asm__ __volatile__(" basr 1,0\n"
- "0: slr 0,0\n"
- " cs 0,1,%1\n"
- " jl 0b\n"
- : "=m" (*lock)
- : "m" (*lock) : "0", "1", "cc" );
- return 0;
-}
-weak_alias (__pthread_spin_lock, pthread_spin_lock)
-
-int
-__pthread_spin_trylock (pthread_spinlock_t *lock)
-{
- int oldval;
-
- __asm__ __volatile__(" slr %1,%1\n"
- " basr 1,0\n"
- "0: cs %1,1,%0"
- : "=m" (*lock), "=&d" (oldval)
- : "m" (*lock) : "1", "cc" );
- return oldval == 0 ? 0 : EBUSY;
-}
-weak_alias (__pthread_spin_trylock, pthread_spin_trylock)
-
-
-int
-__pthread_spin_unlock (pthread_spinlock_t *lock)
-{
- __asm__ __volatile__(" xc 0(4,%0),0(%0)\n"
- " bcr 15,0"
- : : "a" (lock) : "memory" );
- return 0;
-}
-weak_alias (__pthread_spin_unlock, pthread_spin_unlock)
-
-
-int
-__pthread_spin_init (pthread_spinlock_t *lock, int pshared)
-{
- /* We can ignore the `pshared' parameter. Since we are busy-waiting
- all processes which can access the memory location `lock' points
- to can use the spinlock. */
- *lock = 0;
- return 0;
-}
-weak_alias (__pthread_spin_init, pthread_spin_init)
-
-
-int
-__pthread_spin_destroy (pthread_spinlock_t *lock)
-{
- /* Nothing to do. */
- return 0;
-}
-weak_alias (__pthread_spin_destroy, pthread_spin_destroy)
diff --git a/libpthread/linuxthreads/sysdeps/s390/s390-32/pt-machine.h b/libpthread/linuxthreads/sysdeps/s390/s390-32/pt-machine.h
deleted file mode 100644
index 51505a9..0000000
--- a/libpthread/linuxthreads/sysdeps/s390/s390-32/pt-machine.h
+++ /dev/null
@@ -1,119 +0,0 @@
-/* Machine-dependent pthreads configuration and inline functions.
- S390 version.
- Copyright (C) 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
- Contributed by Martin Schwidefsky (schwidefsky(a)de.ibm.com)
- 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; see the file COPYING.LIB. If
- not, see <http://www.gnu.org/licenses/>. */
-
-#ifndef _PT_MACHINE_H
-#define _PT_MACHINE_H 1
-
-#ifndef PT_EI
-# define PT_EI __extern_always_inline
-#endif
-
-extern long int testandset (int *spinlock);
-extern int __compare_and_swap (long int *p, long int oldval, long int newval);
-
-/* For multiprocessor systems, we want to ensure all memory accesses
- are completed before we reset a lock. On other systems, we still
- need to make sure that the compiler has flushed everything to memory. */
-#define MEMORY_BARRIER() __asm__ __volatile__ ("bcr 15,0" : : : "memory")
-
-/* Spinlock implementation; required. */
-PT_EI long int
-testandset (int *spinlock)
-{
- int ret;
-
- __asm__ __volatile__(
- " la 1,%1\n"
- " lhi 0,1\n"
- " l %0,%1\n"
- "0: cs %0,0,0(1)\n"
- " jl 0b"
- : "=&d" (ret), "+m" (*spinlock)
- : : "0", "1", "cc");
-
- return ret;
-}
-
-
-/* Get some notion of the current stack. Need not be exactly the top
- of the stack, just something somewhere in the current frame. */
-#define CURRENT_STACK_FRAME stack_pointer
-register char * stack_pointer __asm__ ("15");
-
-#ifdef __UCLIBC_HAS_TLS__
-/* Return the thread descriptor for the current thread. */
-# define THREAD_SELF ((pthread_descr) __builtin_thread_pointer ())
-
-/* Initialize the thread-unique value. */
-#define INIT_THREAD_SELF(descr, nr) __builtin_set_thread_pointer (descr)
-#else
-/* Return the thread descriptor for the current thread.
- S/390 registers uses access register 0 as "thread register". */
-#define THREAD_SELF ({ \
- register pthread_descr __self; \
- __asm__ ("ear %0,%%a0" : "=d" (__self) ); \
- __self; \
-})
-
-/* Initialize the thread-unique value. */
-#define INIT_THREAD_SELF(descr, nr) ({ \
- __asm__ ("sar %%a0,%0" : : "d" (descr) ); \
-})
-#endif
-
-/* Access to data in the thread descriptor is easy. */
-#define THREAD_GETMEM(descr, member) \
- ((void) sizeof (descr), THREAD_SELF->member)
-#define THREAD_GETMEM_NC(descr, member) \
- ((void) sizeof (descr), THREAD_SELF->member)
-#define THREAD_SETMEM(descr, member, value) \
- ((void) sizeof (descr), THREAD_SELF->member = (value))
-#define THREAD_SETMEM_NC(descr, member, value) \
- ((void) sizeof (descr), THREAD_SELF->member = (value))
-
-/* We want the OS to assign stack addresses. */
-#define FLOATING_STACKS 1
-
-/* Maximum size of the stack if the rlimit is unlimited. */
-#define ARCH_STACK_MAX_SIZE 8*1024*1024
-
-/* Compare-and-swap for semaphores. */
-
-#define HAS_COMPARE_AND_SWAP
-
-PT_EI int
-__compare_and_swap(long int *p, long int oldval, long int newval)
-{
- int retval;
-
- __asm__ __volatile__(
- " la 1,%1\n"
- " lr 0,%2\n"
- " cs 0,%3,0(1)\n"
- " ipm %0\n"
- " srl %0,28\n"
- "0:"
- : "=&d" (retval), "+m" (*p)
- : "d" (oldval) , "d" (newval)
- : "cc", "0", "1" );
- return retval == 0;
-}
-
-#endif /* pt-machine.h */
diff --git a/libpthread/linuxthreads/sysdeps/s390/s390-64/pt-machine.h b/libpthread/linuxthreads/sysdeps/s390/s390-64/pt-machine.h
deleted file mode 100644
index 4bff85a..0000000
--- a/libpthread/linuxthreads/sysdeps/s390/s390-64/pt-machine.h
+++ /dev/null
@@ -1,124 +0,0 @@
-/* Machine-dependent pthreads configuration and inline functions.
- 64 bit S/390 version.
- Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
- Contributed by Martin Schwidefsky (schwidefsky(a)de.ibm.com)
- 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; see the file COPYING.LIB. If
- not, see <http://www.gnu.org/licenses/>. */
-
-#ifndef _PT_MACHINE_H
-#define _PT_MACHINE_H 1
-
-#ifndef PT_EI
-# define PT_EI __extern_always_inline
-#endif
-
-extern long int testandset (int *spinlock);
-extern int __compare_and_swap (long int *p, long int oldval, long int newval);
-
-/* For multiprocessor systems, we want to ensure all memory accesses
- are completed before we reset a lock. On other systems, we still
- need to make sure that the compiler has flushed everything to memory. */
-#define MEMORY_BARRIER() __asm__ __volatile__ ("bcr 15,0" : : : "memory")
-
-/* Spinlock implementation; required. */
-PT_EI long int
-testandset (int *spinlock)
-{
- int ret;
-
- __asm__ __volatile__(
- " la 1,%1\n"
- " lhi 0,1\n"
- " l %0,%1\n"
- "0: cs %0,0,0(1)\n"
- " jl 0b"
- : "=&d" (ret), "+m" (*spinlock)
- : : "0", "1", "cc");
-
- return ret;
-}
-
-
-/* Get some notion of the current stack. Need not be exactly the top
- of the stack, just something somewhere in the current frame. */
-#define CURRENT_STACK_FRAME stack_pointer
-register char * stack_pointer __asm__ ("15");
-
-#ifdef __UCLIBC_HAS_TLS__
-/* Return the thread descriptor for the current thread. */
-# define THREAD_SELF ((pthread_descr) __builtin_thread_pointer ())
-
-/* Initialize the thread-unique value. */
-#define INIT_THREAD_SELF(descr, nr) __builtin_set_thread_pointer (descr)
-#else
-/* Return the thread descriptor for the current thread.
- 64 bit S/390 uses access register 0 and 1 as "thread register". */
-#define THREAD_SELF ({ \
- register pthread_descr __self; \
- __asm__ (" ear %0,%%a0\n" \
- " sllg %0,%0,32\n" \
- " ear %0,%%a1\n" \
- : "=d" (__self) ); \
- __self; \
-})
-
-/* Initialize the thread-unique value. */
-#define INIT_THREAD_SELF(descr, nr) ({ \
- __asm__ (" sar %%a1,%0\n" \
- " srlg 0,%0,32\n" \
- " sar %%a0,0\n" \
- : : "d" (descr) : "0" ); \
-})
-#endif
-
-/* Access to data in the thread descriptor is easy. */
-#define THREAD_GETMEM(descr, member) \
- ((void) sizeof (descr), THREAD_SELF->member)
-#define THREAD_GETMEM_NC(descr, member) \
- ((void) sizeof (descr), THREAD_SELF->member)
-#define THREAD_SETMEM(descr, member, value) \
- ((void) sizeof (descr), THREAD_SELF->member = (value))
-#define THREAD_SETMEM_NC(descr, member, value) \
- ((void) sizeof (descr), THREAD_SELF->member = (value))
-
-/* We want the OS to assign stack addresses. */
-#define FLOATING_STACKS 1
-
-/* Maximum size of the stack if the rlimit is unlimited. */
-#define ARCH_STACK_MAX_SIZE 8*1024*1024
-
-/* Compare-and-swap for semaphores. */
-
-#define HAS_COMPARE_AND_SWAP
-
-PT_EI int
-__compare_and_swap(long int *p, long int oldval, long int newval)
-{
- int retval;
-
- __asm__ __volatile__(
- " lgr 0,%2\n"
- " csg 0,%3,%1\n"
- " ipm %0\n"
- " srl %0,28\n"
- "0:"
- : "=&d" (retval), "+m" (*p)
- : "d" (oldval) , "d" (newval)
- : "cc", "0");
- return retval == 0;
-}
-
-#endif /* pt-machine.h */
diff --git a/libpthread/linuxthreads/sysdeps/s390/tcb-offsets.sym b/libpthread/linuxthreads/sysdeps/s390/tcb-offsets.sym
deleted file mode 100644
index aee6be2..0000000
--- a/libpthread/linuxthreads/sysdeps/s390/tcb-offsets.sym
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <sysdep.h>
-#include <tls.h>
-
-MULTIPLE_THREADS_OFFSET offsetof (tcbhead_t, multiple_threads)
diff --git a/libpthread/linuxthreads/sysdeps/s390/tls.h b/libpthread/linuxthreads/sysdeps/s390/tls.h
deleted file mode 100644
index d987bdb..0000000
--- a/libpthread/linuxthreads/sysdeps/s390/tls.h
+++ /dev/null
@@ -1,144 +0,0 @@
-/* Definitions for thread-local data handling. linuxthreads/s390 version.
- Copyright (C) 2002, 2003, 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/>. */
-
-#ifndef _TLS_H
-#define _TLS_H
-
-#ifndef __ASSEMBLER__
-
-# include <pt-machine.h>
-# include <stdbool.h>
-# include <stddef.h>
-
-/* Type for the dtv. */
-typedef union dtv
-{
- size_t counter;
- struct
- {
- void *val;
- bool is_static;
- } pointer;
-} dtv_t;
-
-typedef struct
-{
- void *tcb; /* Pointer to the TCB. Not necessary the
- thread descriptor used by libpthread. */
- dtv_t *dtv;
- void *self; /* Pointer to the thread descriptor. */
- int multiple_threads;
-} tcbhead_t;
-
-#else /* __ASSEMBLER__ */
-# include <tcb-offsets.h>
-#endif /* __ASSEMBLER__ */
-
-/* TLS is always supported if the tools support it. There are no
- kernel dependencies. To avoid bothering with the TLS support code
- at all, use configure --without-tls.
-
- We need USE_TLS to be consistently defined, for ldsodefs.h
- conditionals. */
-
-#ifdef HAVE_TLS_SUPPORT
-
-/* Signal that TLS support is available. */
-# define USE_TLS 1
-
-# ifndef __ASSEMBLER__
-/* Get system call information. */
-# include <sysdep.h>
-
-
-/* Get the thread descriptor definition. */
-# include <linuxthreads/descr.h>
-
-/* This is the size of the initial TCB. */
-# define TLS_INIT_TCB_SIZE sizeof (tcbhead_t)
-
-/* Alignment requirements for the initial TCB. */
-# define TLS_INIT_TCB_ALIGN __alignof__ (tcbhead_t)
-
-/* This is the size of the TCB. */
-# define TLS_TCB_SIZE sizeof (struct _pthread_descr_struct)
-
-/* Alignment requirements for the TCB. */
-# define TLS_TCB_ALIGN __alignof__ (struct _pthread_descr_struct)
-
-/* The TCB can have any size and the memory following the address the
- thread pointer points to is unspecified. Allocate the TCB there. */
-# define TLS_TCB_AT_TP 1
-
-
-/* Install the dtv pointer. The pointer passed is to the element with
- index -1 which contain the length. */
-# define INSTALL_DTV(descr, dtvp) \
- ((tcbhead_t *) (descr))->dtv = (dtvp) + 1
-
-/* Install new dtv for current thread. */
-# define INSTALL_NEW_DTV(dtv) \
- (((tcbhead_t *) __builtin_thread_pointer ())->dtv = (dtv))
-
-/* Return dtv of given thread descriptor. */
-# define GET_DTV(descr) \
- (((tcbhead_t *) (descr))->dtv)
-
-/* Code to initially initialize the thread pointer. This might need
- special attention since 'errno' is not yet available and if the
- operation can cause a failure 'errno' must not be touched.
-
- The value of this macro is null if successful, or an error string. */
-# define TLS_INIT_TP(descr, secondcall) \
- ({ \
- void *_descr = (descr); \
- tcbhead_t *head = _descr; \
- \
- head->tcb = _descr; \
- /* For now the thread descriptor is at the same address. */ \
- head->self = _descr; \
- \
- __builtin_set_thread_pointer (_descr); \
- NULL; \
- })
-
-/* Return the address of the dtv for the current thread. */
-# define THREAD_DTV() \
- (((tcbhead_t *) __builtin_thread_pointer ())->dtv)
-
-# endif /* __ASSEMBLER__ */
-
-#else /* HAVE_TLS_SUPPORT && (FLOATING_STACKS || !IS_IN_libpthread) */
-
-# ifndef __ASSEMBLER__
-
-/* Get the thread descriptor definition. */
-# include <linuxthreads/descr.h>
-
-# define NONTLS_INIT_TP \
- do { \
- static const tcbhead_t nontls_init_tp \
- = { .multiple_threads = 0 }; \
- INIT_THREAD_SELF (&nontls_init_tp, 0); \
- } while (0)
-
-# endif /* __ASSEMBLER__ */
-
-#endif /* HAVE_TLS_SUPPORT && (FLOATING_STACKS || !IS_IN_libpthread) */
-
-#endif /* tls.h */
diff --git a/libpthread/linuxthreads/sysdeps/unix/sysv/linux/s390/bits/typesizes.h b/libpthread/linuxthreads/sysdeps/unix/sysv/linux/s390/bits/typesizes.h
deleted file mode 100644
index 6b58825..0000000
--- a/libpthread/linuxthreads/sysdeps/unix/sysv/linux/s390/bits/typesizes.h
+++ /dev/null
@@ -1,71 +0,0 @@
-/* bits/typesizes.h -- underlying types for *_t. Linux/s390 version.
- Copyright (C) 2003 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/>. */
-
-#ifndef _BITS_TYPES_H
-# error "Never include <bits/typesizes.h> directly; use <sys/types.h> instead."
-#endif
-
-#ifndef _BITS_TYPESIZES_H
-#define _BITS_TYPESIZES_H 1
-
-/* See <bits/types.h> for the meaning of these macros. This file exists so
- that <bits/types.h> need not vary across different GNU platforms. */
-
-#define __DEV_T_TYPE __UQUAD_TYPE
-#define __UID_T_TYPE __U32_TYPE
-#define __GID_T_TYPE __U32_TYPE
-#define __INO_T_TYPE __ULONGWORD_TYPE
-#define __INO64_T_TYPE __UQUAD_TYPE
-#define __MODE_T_TYPE __U32_TYPE
-#define __NLINK_T_TYPE __UWORD_TYPE
-#define __OFF_T_TYPE __SLONGWORD_TYPE
-#define __OFF64_T_TYPE __SQUAD_TYPE
-#define __PID_T_TYPE __S32_TYPE
-#define __RLIM_T_TYPE __ULONGWORD_TYPE
-#define __RLIM64_T_TYPE __UQUAD_TYPE
-#define __BLKCNT_T_TYPE __SLONGWORD_TYPE
-#define __BLKCNT64_T_TYPE __SQUAD_TYPE
-#define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE
-#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE
-#define __FSFILCNT_T_TYPE __ULONGWORD_TYPE
-#define __FSFILCNT64_T_TYPE __UQUAD_TYPE
-#define __ID_T_TYPE __U32_TYPE
-#define __CLOCK_T_TYPE __SLONGWORD_TYPE
-#define __TIME_T_TYPE __SLONGWORD_TYPE
-#define __USECONDS_T_TYPE __U32_TYPE
-#define __SUSECONDS_T_TYPE __SLONGWORD_TYPE
-#define __DADDR_T_TYPE __S32_TYPE
-#define __SWBLK_T_TYPE __SLONGWORD_TYPE
-#define __KEY_T_TYPE __S32_TYPE
-#define __CLOCKID_T_TYPE __S32_TYPE
-#define __TIMER_T_TYPE __S32_TYPE
-#define __BLKSIZE_T_TYPE __SLONGWORD_TYPE
-#define __FSID_T_TYPE struct { int __val[2]; }
-#if defined __GNUC__ && __GNUC__ <= 2
-/* Compatibility with g++ 2.95.x. */
-#define __SSIZE_T_TYPE __SWORD_TYPE
-#else
-/* size_t is unsigned long int on s390 -m31. */
-#define __SSIZE_T_TYPE __SLONGWORD_TYPE
-#endif
-
-/* Number of descriptors that can fit in an `fd_set'. */
-#define __FD_SETSIZE 1024
-
-
-#endif /* bits/typesizes.h */
diff --git a/libpthread/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-32/pt-initfini.c b/libpthread/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-32/pt-initfini.c
deleted file mode 100644
index cde4183..0000000
--- a/libpthread/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-32/pt-initfini.c
+++ /dev/null
@@ -1,153 +0,0 @@
-/* Special .init and .fini section support for S/390.
- Copyright (C) 2000, 2001 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.
-
- In addition to the permissions in the GNU Lesser General Public
- License, the Free Software Foundation gives you unlimited
- permission to link the compiled version of this file with other
- programs, and to distribute those programs without any restriction
- coming from the use of this file. (The Lesser General Public
- License restrictions do apply in other respects; for example, they
- cover modification of the file, and distribution when not linked
- into another program.)
-
- 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; see the file COPYING.LIB. If not,
- see <http://www.gnu.org/licenses/>. */
-
-/* This file is compiled into assembly code which is then munged by a sed
- script into two files: crti.s and crtn.s.
-
- * crti.s puts a function prologue at the beginning of the
- .init and .fini sections and defines global symbols for
- those addresses, so they can be called as functions.
-
- * crtn.s puts the corresponding function epilogues
- in the .init and .fini sections. */
-
-__asm__ ("\
-\n\
-#include \"defs.h\"\n\
-\n\
-/*@HEADER_ENDS*/\n\
-\n\
-/*@TESTS_BEGIN*/\n\
-\n\
-/*@TESTS_END*/\n\
-\n\
-/*@_init_PROLOG_BEGINS*/\n\
-\n\
- .section .init\n\
-#NO_APP\n\
- .align 4\n\
-.globl _init\n\
- .type _init,@function\n\
-_init:\n\
-# leaf function 0\n\
-# automatics 0\n\
-# outgoing args 0\n\
-# need frame pointer 0\n\
-# call alloca 0\n\
-# has varargs 0\n\
-# incoming args (stack) 0\n\
-# function length 36\n\
- STM 6,15,24(15)\n\
- BRAS 13,.LTN1_0\n\
-.LT1_0:\n\
-.LC13:\n\
- .long __pthread_initialize_minimal(a)PLT-.LT1_0\n\
-.LC14:\n\
- .long __gmon_start__@GOT\n\
-.LC15:\n\
- .long _GLOBAL_OFFSET_TABLE_-.LT1_0\n\
-.LTN1_0:\n\
- LR 1,15\n\
- AHI 15,-96\n\
- ST 1,0(15)\n\
- L 12,.LC15-.LT1_0(13)\n\
- AR 12,13\n\
- L 1,.LC13-.LT1_0(13)\n\
- LA 1,0(1,13)\n\
- BASR 14,1\n\
- L 1,.LC14-.LT1_0(13)\n\
- L 1,0(1,12)\n\
- LTR 1,1\n\
- JE .L22\n\
- BASR 14,1\n\
-.L22:\n\
-#APP\n\
- .align 4,0x07\n\
- END_INIT\n\
-\n\
-/*@_init_PROLOG_ENDS*/\n\
-\n\
-/*@_init_EPILOG_BEGINS*/\n\
- .align 4\n\
- .section .init\n\
-#NO_APP\n\
- .align 4\n\
- L 4,152(15)\n\
- LM 6,15,120(15)\n\
- BR 4\n\
-#APP\n\
- END_INIT\n\
-\n\
-/*@_init_EPILOG_ENDS*/\n\
-\n\
-/*@_fini_PROLOG_BEGINS*/\n\
- .section .fini\n\
-#NO_APP\n\
- .align 4\n\
-.globl _fini\n\
- .type _fini,@function\n\
-_fini:\n\
-# leaf function 0\n\
-# automatics 0\n\
-# outgoing args 0\n\
-# need frame pointer 0\n\
-# call alloca 0\n\
-# has varargs 0\n\
-# incoming args (stack) 0\n\
-# function length 30\n\
- STM 6,15,24(15)\n\
- BRAS 13,.LTN2_0\n\
-.LT2_0:\n\
-.LC17:\n\
- .long _GLOBAL_OFFSET_TABLE_-.LT2_0\n\
-.LTN2_0:\n\
- LR 1,15\n\
- AHI 15,-96\n\
- ST 1,0(15)\n\
- L 12,.LC17-.LT2_0(13)\n\
- AR 12,13\n\
-#APP\n\
- .align 4,0x07\n\
- END_FINI\n\
-\n\
-/*@_fini_PROLOG_ENDS*/\n\
-\n\
-/*@_fini_EPILOG_BEGINS*/\n\
- .align 4\n\
- .section .fini\n\
-#NO_APP\n\
- .align 4\n\
- L 4,152(15)\n\
- LM 6,15,120(15)\n\
- BR 4\n\
-#APP\n\
- END_FINI\n\
-\n\
-/*@_fini_EPILOG_ENDS*/\n\
-\n\
-/*@TRAILER_BEGINS*/\
-");
diff --git a/libpthread/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h b/libpthread/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h
deleted file mode 100644
index 2431129..0000000
--- a/libpthread/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h
+++ /dev/null
@@ -1,136 +0,0 @@
-/* Copyright (C) 2003, 2004 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Jakub Jelinek <jakub(a)redhat.com>, 2003.
-
- 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 <tls.h>
-#ifndef __ASSEMBLER__
-# include <linuxthreads/internals.h>
-#endif
-
-#if !defined NOT_IN_libc || defined IS_IN_libpthread || defined IS_IN_librt
-
-# if !defined NOT_IN_libc || defined IS_IN_libpthread
-
-# define PSEUDO_CANCEL(name, syscall_name, args) \
-L(pseudo_cancel): \
- STM_##args \
- stm %r12,%r15,48(%r15); \
- lr %r14,%r15; \
- ahi %r15,-96; \
- st %r14,0(%r15); \
- basr %r13,0; \
-0: l %r1,1f-0b(%r13); \
- bas %r14,0(%r1,%r13); \
- lr %r0,%r2; \
- LM_##args \
- DO_CALL(syscall_name, args); \
- l %r1,2f-0b(%r13); \
- lr %r12,%r2; \
- lr %r2,%r0; \
- bas %r14,0(%r1,%r13); \
- lr %r2,%r12; \
- lm %r12,%r15,48+96(%r15); \
- j L(pseudo_check); \
-1: .long CENABLE-0b; \
-2: .long CDISABLE-0b;
-
-# else /* !libc.so && !libpthread.so */
-
-# define PSEUDO_CANCEL(name, syscall_name, args) \
-L(pseudo_cancel): \
- STM_##args \
- stm %r11,%r15,44(%r15); \
- lr %r14,%r15; \
- ahi %r15,-96; \
- st %r14,0(%r15); \
- basr %r13,0; \
-0: l %r12,3f-0b(%r13); \
- l %r1,1f-0b(%r13); \
- la %r12,0(%r12,%r13); \
- bas %r14,0(%r1,%r13); \
- lr %r0,%r2; \
- LM_##args \
- DO_CALL(syscall_name, args); \
- l %r1,2f-0b(%r13); \
- lr %r11,%r2; \
- lr %r2,%r0; \
- bas %r14,0(%r1,%r13); \
- lr %r2,%r11; \
- lm %r11,%r15,44+96(%r15); \
- j L(pseudo_check); \
-1: .long CENABLE@PLT-0b; \
-2: .long CDISABLE@PLT-0b; \
-3: .long _GLOBAL_OFFSET_TABLE_-0b;
-
-# endif
-
-# undef PSEUDO
-# define PSEUDO(name, syscall_name, args) \
- .text; \
-PSEUDO_CANCEL(name, syscall_name, args) \
-ENTRY(name) \
- SINGLE_THREAD_P(%r1) \
- jne L(pseudo_cancel); \
- DO_CALL(syscall_name, args); \
-L(pseudo_check): \
- lhi %r4,-4095; \
- clr %r2,%r4; \
- jnl SYSCALL_ERROR_LABEL; \
-L(pseudo_end):
-
-# ifdef IS_IN_libpthread
-# define CENABLE __pthread_enable_asynccancel
-# define CDISABLE __pthread_disable_asynccancel
-# elif !defined NOT_IN_libc
-# define CENABLE __libc_enable_asynccancel
-# define CDISABLE __libc_disable_asynccancel
-# else
-# define CENABLE __librt_enable_asynccancel
-# define CDISABLE __librt_disable_asynccancel
-# endif
-
-#define STM_0 /* Nothing */
-#define STM_1 st %r2,8(%r15);
-#define STM_2 stm %r2,%r3,8(%r15);
-#define STM_3 stm %r2,%r4,8(%r15);
-#define STM_4 stm %r2,%r5,8(%r15);
-#define STM_5 stm %r2,%r5,8(%r15);
-
-#define LM_0 /* Nothing */
-#define LM_1 l %r2,8+96(%r15);
-#define LM_2 lm %r2,%r3,8+96(%r15);
-#define LM_3 lm %r2,%r4,8+96(%r15);
-#define LM_4 lm %r2,%r5,8+96(%r15);
-#define LM_5 lm %r2,%r5,8+96(%r15);
-
-# ifndef __ASSEMBLER__
-# define SINGLE_THREAD_P \
- __builtin_expect (THREAD_GETMEM (THREAD_SELF, \
- p_header.data.multiple_threads) == 0, 1)
-# else
-# define SINGLE_THREAD_P(reg) \
- ear reg,%a0; \
- icm reg,15,MULTIPLE_THREADS_OFFSET(reg);
-# endif
-
-#elif !defined __ASSEMBLER__
-
-/* This code should never be used but we define it anyhow. */
-# define SINGLE_THREAD_P (1)
-
-#endif
diff --git a/libpthread/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-32/vfork.S b/libpthread/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-32/vfork.S
deleted file mode 100644
index 078c730..0000000
--- a/libpthread/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-32/vfork.S
+++ /dev/null
@@ -1,68 +0,0 @@
-/* Copyright (C) 2003 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Martin Schwidefsky <schwidefsky(a)de.ibm.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 <sysdep-cancel.h>
-#define _ERRNO_H 1
-#include <bits/errno.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)
- basr %r1,0
-0:
-#ifdef SHARED
- al %r1,4f-0b(%r1)
- l %r1,0(%r1)
- ltr %r1,%r1
-#else
- icm %r1,15,4f-0b(%r1)
-#endif
- jne 1f
-
- /* Do vfork system call. */
- svc SYS_ify (vfork)
-
- /* Check for error. */
- lhi %r4,-4095
- clr %r2,%r4
- jnl SYSCALL_ERROR_LABEL
-
- /* Normal return. */
- br %r14
-1:
- basr %r1,0
-2:
- al %r1,3f-2b(%r1)
- br %r1
-3:
- .long HIDDEN_JUMPTARGET(fork)-2b
-4:
-#ifdef SHARED
- .long __libc_pthread_functions-0b
-#else
- .weak pthread_create
- .long pthread_create
-#endif
-PSEUDO_END(__vfork)
-
-libc_hidden_def (__vfork)
-
-weak_alias (__vfork, vfork)
diff --git a/libpthread/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-64/pt-initfini.c b/libpthread/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-64/pt-initfini.c
deleted file mode 100644
index 136ce54..0000000
--- a/libpthread/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-64/pt-initfini.c
+++ /dev/null
@@ -1,136 +0,0 @@
-/* Special .init and .fini section support for 64 bit S/390.
- Copyright (C) 2001 Free Software Foundation, Inc.
- Contributed by Martin Schwidefsky (schwidefsky(a)de.ibm.com)
- 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.
-
- In addition to the permissions in the GNU Lesser General Public
- License, the Free Software Foundation gives you unlimited
- permission to link the compiled version of this file with other
- programs, and to distribute those programs without any restriction
- coming from the use of this file. (The Lesser General Public
- License restrictions do apply in other respects; for example, they
- cover modification of the file, and distribution when not linked
- into another program.)
-
- 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; see the file COPYING.LIB. If not,
- see <http://www.gnu.org/licenses/>. */
-
-/* This file is compiled into assembly code which is then munged by a sed
- script into two files: crti.s and crtn.s.
-
- * crti.s puts a function prologue at the beginning of the
- .init and .fini sections and defines global symbols for
- those addresses, so they can be called as functions.
-
- * crtn.s puts the corresponding function epilogues
- in the .init and .fini sections. */
-
-__asm__ ("\
-\n\
-#include \"defs.h\"\n\
-\n\
-/*@HEADER_ENDS*/\n\
-\n\
-/*@TESTS_BEGIN*/\n\
-\n\
-/*@TESTS_END*/\n\
-\n\
-/*@_init_PROLOG_BEGINS*/\n\
-\n\
- .section .init\n\
-#NO_APP\n\
- .align 4\n\
-.globl _init\n\
- .type _init,@function\n\
-_init:\n\
-# leaf function 0\n\
-# automatics 0\n\
-# outgoing args 0\n\
-# need frame pointer 0\n\
-# call alloca 0\n\
-# has varargs 0\n\
-# incoming args (stack) 0\n\
-# function length 36\n\
- STMG 6,15,48(15)\n\
- LGR 1,15\n\
- AGHI 15,-160\n\
- STG 1,0(15)\n\
- LARL 12,_GLOBAL_OFFSET_TABLE_\n\
- BRASL 14,__pthread_initialize_minimal@PLT\n\
- LARL 1,__gmon_start__@GOTENT\n\
- LG 1,0(1)\n\
- LTGR 1,1\n\
- JE .L22\n\
- BASR 14,1\n\
-.L22:\n\
-#APP\n\
- .align 4,0x07\n\
- END_INIT\n\
-\n\
-/*@_init_PROLOG_ENDS*/\n\
-\n\
-/*@_init_EPILOG_BEGINS*/\n\
- .align 4\n\
- .section .init\n\
-#NO_APP\n\
- .align 4\n\
- LG 4,272(15)\n\
- LMG 6,15,208(15)\n\
- BR 4\n\
-#APP\n\
- END_INIT\n\
-\n\
-/*@_init_EPILOG_ENDS*/\n\
-\n\
-/*@_fini_PROLOG_BEGINS*/\n\
- .section .fini\n\
-#NO_APP\n\
- .align 4\n\
-.globl _fini\n\
- .type _fini,@function\n\
-_fini:\n\
-# leaf function 0\n\
-# automatics 0\n\
-# outgoing args 0\n\
-# need frame pointer 0\n\
-# call alloca 0\n\
-# has varargs 0\n\
-# incoming args (stack) 0\n\
-# function length 30\n\
- STMG 6,15,48(15)\n\
- LGR 1,15\n\
- AGHI 15,-160\n\
- STG 1,0(15)\n\
- LARL 12,_GLOBAL_OFFSET_TABLE_\n\
-#APP\n\
- .align 4,0x07\n\
- END_FINI\n\
-\n\
-/*@_fini_PROLOG_ENDS*/\n\
-\n\
-/*@_fini_EPILOG_BEGINS*/\n\
- .align 4\n\
- .section .fini\n\
-#NO_APP\n\
- .align 4\n\
- LG 4,272(15)\n\
- LMG 6,15,208(15)\n\
- BR 4\n\
-#APP\n\
- END_FINI\n\
-\n\
-/*@_fini_EPILOG_ENDS*/\n\
-\n\
-/*@TRAILER_BEGINS*/\n\
- ");
diff --git a/libpthread/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-64/pt-sigsuspend.c b/libpthread/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-64/pt-sigsuspend.c
deleted file mode 100644
index d57283a..0000000
--- a/libpthread/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-64/pt-sigsuspend.c
+++ /dev/null
@@ -1 +0,0 @@
-#include "../../ia64/pt-sigsuspend.c"
diff --git a/libpthread/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h b/libpthread/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h
deleted file mode 100644
index cf3124e..0000000
--- a/libpthread/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h
+++ /dev/null
@@ -1,115 +0,0 @@
-/* Copyright (C) 2003, 2004 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Jakub Jelinek <jakub(a)redhat.com>, 2003.
-
- 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 <tls.h>
-#ifndef __ASSEMBLER__
-# include <linuxthreads/internals.h>
-#endif
-
-#if !defined NOT_IN_libc || defined IS_IN_libpthread || defined IS_IN_librt
-
-# undef PSEUDO
-# define PSEUDO(name, syscall_name, args) \
- .text; \
-L(pseudo_cancel): \
- STM_##args \
- stmg %r13,%r15,104(%r15); \
- lgr %r14,%r15; \
- aghi %r15,-160; \
- stg %r14,0(%r15); \
- brasl %r14,CENABLE; \
- lgr %r0,%r2; \
- LM_##args \
- DO_CALL(syscall_name, args); \
- lgr %r13,%r2; \
- lgr %r2,%r0; \
- brasl %r14,CDISABLE; \
- lgr %r2,%r13; \
- lmg %r13,%r15,104+160(%r15); \
- j L(pseudo_check); \
-ENTRY(name) \
- SINGLE_THREAD_P \
- jne L(pseudo_cancel); \
- DO_CALL(syscall_name, args); \
-L(pseudo_check): \
- lghi %r4,-4095; \
- clgr %r2,%r4; \
- jgnl SYSCALL_ERROR_LABEL; \
-L(pseudo_end):
-
-# ifdef IS_IN_libpthread
-# define CENABLE __pthread_enable_asynccancel
-# define CDISABLE __pthread_disable_asynccancel
-# define __local_multiple_threads __pthread_multiple_threads
-# elif !defined NOT_IN_libc
-# define CENABLE __libc_enable_asynccancel
-# define CDISABLE __libc_disable_asynccancel
-# define __local_multiple_threads __libc_multiple_threads
-# else
-# define CENABLE __librt_enable_asynccancel@PLT
-# define CDISABLE __librt_disable_asynccancel@PLT
-# endif
-
-#define STM_0 /* Nothing */
-#define STM_1 stg %r2,16(%r15);
-#define STM_2 stmg %r2,%r3,16(%r15);
-#define STM_3 stmg %r2,%r4,16(%r15);
-#define STM_4 stmg %r2,%r5,16(%r15);
-#define STM_5 stmg %r2,%r5,16(%r15);
-
-#define LM_0 /* Nothing */
-#define LM_1 lg %r2,16+160(%r15);
-#define LM_2 lmg %r2,%r3,16+160(%r15);
-#define LM_3 lmg %r2,%r4,16+160(%r15);
-#define LM_4 lmg %r2,%r5,16+160(%r15);
-#define LM_5 lmg %r2,%r5,16+160(%r15);
-
-# if !defined NOT_IN_libc || defined IS_IN_libpthread
-# ifndef __ASSEMBLER__
-extern int __local_multiple_threads attribute_hidden;
-# define SINGLE_THREAD_P \
- __builtin_expect (__local_multiple_threads == 0, 1)
-# else
-# define SINGLE_THREAD_P \
- larl %r1,__local_multiple_threads; \
- icm %r0,15,0(%r1);
-# endif
-
-# else
-
-# ifndef __ASSEMBLER__
-# define SINGLE_THREAD_P \
- __builtin_expect (THREAD_GETMEM (THREAD_SELF, \
- p_header.data.multiple_threads) == 0, 1)
-# else
-# define SINGLE_THREAD_P \
- ear %r1,%a0; \
- sllg %r1,%r1,32; \
- ear %r1,%a1; \
- icm %r1,15,MULTIPLE_THREADS_OFFSET(%r1);
-# endif
-
-# endif
-
-#elif !defined __ASSEMBLER__
-
-/* This code should never be used but we define it anyhow. */
-# define SINGLE_THREAD_P (1)
-
-#endif
diff --git a/libpthread/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-64/vfork.S b/libpthread/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-64/vfork.S
deleted file mode 100644
index 109d4f6..0000000
--- a/libpthread/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-64/vfork.S
+++ /dev/null
@@ -1,53 +0,0 @@
-/* Copyright (C) 2003 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Martin Schwidefsky <schwidefsky(a)de.ibm.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 <sysdep-cancel.h>
-#define _ERRNO_H 1
-#include <bits/errno.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)
-#ifdef SHARED
- larl %r1,__libc_pthread_functions
- lg %r1,0(%r1)
-#else
- .weak pthread_create
- larl %r1,pthread_create
-#endif
- ltgr %r1,%r1
- jgne HIDDEN_JUMPTARGET(fork)
-
- /* Do vfork system call. */
- svc SYS_ify (vfork)
-
- /* Check for error. */
- lghi %r4,-4095
- clgr %r2,%r4
- jgnl SYSCALL_ERROR_LABEL
-
- /* Normal return. */
- br %r14
-PSEUDO_END(__vfork)
-
-libc_hidden_def (__vfork)
-
-weak_alias (__vfork, vfork)
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(a)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(a)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(a)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(a)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>
diff --git a/test/nptl/Makefile.in b/test/nptl/Makefile.in
index dd53f91..d20d2c1 100644
--- a/test/nptl/Makefile.in
+++ b/test/nptl/Makefile.in
@@ -38,11 +38,10 @@ TESTS := tst-align tst-align2 tst-atfork1 tst-attr1 tst-attr2 tst-attr3 \
tst-cancelx12 tst-cancelx13 tst-cancelx14 tst-cancelx15 tst-cancelx16 \
tst-cancelx18 tst-cancelx20 tst-cancelx21 tst-cleanupx0 tst-cleanupx1 \
tst-cleanupx2 tst-cleanupx3 tst-cleanupx4 tst-cond22 tst-cond23 \
- tst-dlsym1 tst-getpid1 tst-getpid2 tst-getpid3 tst-join6 tst-tsd6 \
+ tst-getpid1 tst-getpid2 tst-getpid3 tst-join6 tst-tsd6 \
tst-oddstacklimit tst-oncex3 tst-oncex4 tst-rwlock2a \
- tst-basic7 tst-fini1 tst-signal7 \
- tst-unload tst-vfork1x tst-vfork2x tst-sem10 tst-sem11 tst-sem12 \
- tst-typesizes tst-initializers1-c89 tst-initializers1-c99 \
+ tst-basic7 tst-signal7 tst-vfork1x tst-vfork2x tst-sem10 tst-sem11 \
+ tst-sem12 tst-typesizes tst-initializers1-c89 tst-initializers1-c99 \
tst-initializers1-gnu89 tst-initializers1-gnu99
#
@@ -68,7 +67,8 @@ GLIBC_TESTS_DISABLED := tst-eintr1_glibc tst-eintr2_glibc \
ifeq ($(HAVE_SHARED),)
-TESTS_DISABLED += tst-tls3 tst-tls4 tst-tls5
+TESTS_DISABLED += tst-tls3 tst-tls4 tst-tls5 tst-dlsym1 tst-fini1 \
+ tst-unload
else
GLIBC_TESTS_DISABLED += tst-tls3_glibc tst-tls4_glibc tst-tls5_glibc
endif
@@ -109,7 +109,7 @@ LDFLAGS_tst-rwlock14 = -lrt
LDFLAGS_tst-fini1 = -Wl,-rpath=./ tst-fini1mod.so
LDFLAGS_tst-fini1mod.so = -Wl,-soname=tst-fini1mod.so
LDFLAGS_tst-unload = -ldl
-LDFLAGS_tst-cancel5 := -lpthread -lpthread_nonshared
+LDFLAGS_tst-cancel5 := -lpthread
LDFLAGS_tst-cancel23 := -lc -lpthread
LDFLAGS_tst-vfork1x := -lc -lpthread
LDFLAGS_tst-vfork2x := -lc -lpthread
diff --git a/test/tls/Makefile.in b/test/tls/Makefile.in
index 7ab4e2a..0a98337 100644
--- a/test/tls/Makefile.in
+++ b/test/tls/Makefile.in
@@ -12,6 +12,10 @@ ifeq ($(HAVE_SHARED),)
TESTS_DISABLED := $(TESTS)
endif
+ifeq ($(TARGET_ARCH),arc)
+TESTS_DISABLED += tst-tls12 tst-tls-at-ctor
+endif
+
# All these tests need tls.h, which is not installed with glibc
GLIBC_TESTS_DISABLED := $(addsuffix _glibc,$(filter-out $(TESTS_DISABLED),$(TESTS)))
diff --git a/test/unistd/Makefile.in b/test/unistd/Makefile.in
index ed33d9a..c884a39 100644
--- a/test/unistd/Makefile.in
+++ b/test/unistd/Makefile.in
@@ -25,6 +25,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
hooks/post-receive
--
uClibc-ng - small C library for embedded systems
1
0
uClibc-ng - small C library for embedded systems branch master updated. 29a99d6bf4361f2ff116236ed996e36b17020782
by wbx@helium.waldemar-brodkorb.de 17 Sep '14
by wbx@helium.waldemar-brodkorb.de 17 Sep '14
17 Sep '14
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "uClibc-ng - small C library for embedded systems".
The branch, master has been updated
via 29a99d6bf4361f2ff116236ed996e36b17020782 (commit)
from 2695bf4142b3d7154ef123dcc34d531c155af510 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 29a99d6bf4361f2ff116236ed996e36b17020782
Author: Waldemar Brodkorb <wbx(a)openadk.org>
Date: Wed Sep 17 23:46:56 2014 +0200
disable broken architectures
-----------------------------------------------------------------------
Summary of changes:
extra/Configs/Config.in | 24 ++++++++++++------------
1 file changed, 12 insertions(+), 12 deletions(-)
diff --git a/extra/Configs/Config.in b/extra/Configs/Config.in
index 0f68a9b..663f785 100644
--- a/extra/Configs/Config.in
+++ b/extra/Configs/Config.in
@@ -66,14 +66,14 @@ config TARGET_c6x
config TARGET_cris
bool "cris"
-config TARGET_e1
- bool "e1 (BROKEN)"
+#config TARGET_e1
+# bool "e1 (BROKEN)"
-config TARGET_frv
- bool "frv (BROKEN)"
+#config TARGET_frv
+# bool "frv (BROKEN)"
-config TARGET_h8300
- bool "h8300 (BROKEN)"
+#config TARGET_h8300
+# bool "h8300 (BROKEN)"
config TARGET_hppa
bool "hppa"
@@ -81,8 +81,8 @@ config TARGET_hppa
config TARGET_i386
bool "i386"
-config TARGET_i960
- bool "i960 (BROKEN)"
+#config TARGET_i960
+# bool "i960 (BROKEN)"
config TARGET_ia64
bool "ia64"
@@ -99,8 +99,8 @@ config TARGET_microblaze
config TARGET_mips
bool "mips"
-config TARGET_nios
- bool "nios"
+#config TARGET_nios
+# bool "nios"
config TARGET_nios2
bool "nios2"
@@ -117,8 +117,8 @@ config TARGET_sh64
config TARGET_sparc
bool "sparc"
-config TARGET_v850
- bool "v850 (BROKEN)"
+#config TARGET_v850
+# bool "v850 (BROKEN)"
config TARGET_vax
bool "vax"
hooks/post-receive
--
uClibc-ng - small C library for embedded systems
1
0
uClibc-ng - small C library for embedded systems branch master updated. 2695bf4142b3d7154ef123dcc34d531c155af510
by wbx@helium.waldemar-brodkorb.de 17 Sep '14
by wbx@helium.waldemar-brodkorb.de 17 Sep '14
17 Sep '14
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "uClibc-ng - small C library for embedded systems".
The branch, master has been updated
via 2695bf4142b3d7154ef123dcc34d531c155af510 (commit)
via a9bdc5d28e692c04f51bcea1bb8e87f9c72ad09f (commit)
via 085465e5c507822b25daec6c0fc1a78da48bff9e (commit)
via 56824024e4f3fa8b5c6f696934c51fbc86946a80 (commit)
via 95acdd4b30d856f46e3dd908a934eaeb68c9b572 (commit)
via cce3af55b325650f7ac50eb2e7a5f79800d60377 (commit)
via 41537a770b46f2376e74af58ba4885749339e81e (commit)
via 143b7505a2cc505e94bde9b82cad4f695d15433d (commit)
from def0d92193606e184d356c4d2d1752526573f87c (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 2695bf4142b3d7154ef123dcc34d531c155af510
Merge: def0d92 a9bdc5d
Author: Waldemar Brodkorb <wbx(a)openadk.org>
Date: Wed Sep 17 23:41:56 2014 +0200
Merge remote-tracking branch 'origin/upstream'
-----------------------------------------------------------------------
Summary of changes:
Makerules | 32 ++++++++-
Rules.mak | 10 ++-
ldso/ldso/Makefile.in | 17 ++---
ldso/libdl/Makefile.in | 4 +-
libc/Makefile.in | 4 +-
libc/inet/Makefile.in | 2 +-
libc/inet/rpc/Makefile.in | 2 +-
libc/stdlib/system.c | 2 +-
libc/sysdeps/linux/Makefile.commonarch | 12 +++-
libc/sysdeps/linux/common/Makefile.in | 2 +
libc/sysdeps/linux/m68k/__longjmp.S | 4 +-
libc/sysdeps/linux/x86_64/crt1.S | 4 +-
libm/Makefile.in | 2 -
libm/metag/Makefile.arch | 2 +-
libm/powerpc/e500/fpu/Makefile.arch | 2 -
libpthread/linuxthreads.old/Makefile.in | 4 +-
libpthread/linuxthreads.old_db/Makefile.in | 2 +-
libpthread/linuxthreads/Makefile.in | 6 +-
libpthread/linuxthreads_db/Makefile.in | 2 +-
libpthread/nptl/Makefile.in | 31 ++++----
libpthread/nptl/sysdeps/Makefile.commonarch | 18 ++---
libpthread/nptl/sysdeps/arc/Makefile.arch | 5 --
libpthread/nptl/sysdeps/arm/Makefile.arch | 7 --
libpthread/nptl/sysdeps/metag/Makefile.arch | 7 --
libpthread/nptl/sysdeps/mips/Makefile.arch | 8 +--
libpthread/nptl/sysdeps/pthread/Makefile.in | 4 +-
libpthread/nptl/sysdeps/sh/Makefile.arch | 3 -
.../sysdeps/unix/sysv/linux/Makefile.commonarch | 75 ++++----------------
.../nptl/sysdeps/unix/sysv/linux/arc/Makefile.arch | 17 -----
.../nptl/sysdeps/unix/sysv/linux/arm/Makefile.arch | 12 ----
.../sysdeps/unix/sysv/linux/i386/Makefile.arch | 14 ----
.../sysdeps/unix/sysv/linux/metag/Makefile.arch | 13 ----
.../sysdeps/unix/sysv/linux/mips/Makefile.arch | 10 ---
.../sysdeps/unix/sysv/linux/powerpc/Makefile.arch | 12 ----
.../nptl/sysdeps/unix/sysv/linux/sh/Makefile.arch | 27 -------
.../sysdeps/unix/sysv/linux/sparc/Makefile.arch | 12 ----
.../sysdeps/unix/sysv/linux/x86_64/Makefile.arch | 16 -----
libpthread/nptl_db/Makefile.in | 8 ++-
libubacktrace/Makefile.in | 5 --
39 files changed, 111 insertions(+), 308 deletions(-)
diff --git a/Makerules b/Makerules
index 05d9548..85f21ea 100644
--- a/Makerules
+++ b/Makerules
@@ -26,6 +26,27 @@ $(lib-a-y): | $(top_builddir)lib
endif
objs: all_objs
+# apply unconditional per-directory flags
+define add_IS_IN_lib
+ifneq ($(strip $(2)),)
+__add_IS_IN_lib := $(subst $(top_builddir),,$(2))
+$$(__add_IS_IN_lib): CFLAGS-for-library-members:=$(CFLAGS-$(1)) -DIN_LIB=$(word 1,$(subst /, ,$(1)))
+endif
+endef
+$(eval $(call add_IS_IN_lib,rtld,$(ldso-y)))
+$(eval $(call add_IS_IN_lib,libc,$(libc-y) $(libc-static-y) $(libc-y:.o=.os) $(libc-shared-y) $(libc-nonshared-y)))
+$(eval $(call add_IS_IN_lib,libcrypt,$(libcrypt-a-y) $(libcrypt-so-y)))
+$(eval $(call add_IS_IN_lib,libdl,$(libdl-a-y) $(libdl-so-y)))
+$(eval $(call add_IS_IN_lib,libintl,$(libintl-a-y) $(libintl-so-y)))
+$(eval $(call add_IS_IN_lib,libm,$(libm-a-y) $(libm-so-y)))
+$(eval $(call add_IS_IN_lib,libnsl,$(libnsl-a-y) $(libnsl-so-y)))
+$(eval $(call add_IS_IN_lib,libpthread/$(PTNAME),$(libpthread-a-y) $(libpthread-so-y) $(libpthread-nonshared-y)))
+$(eval $(call add_IS_IN_lib,libpthread/$(PTNAME)_db,$(libthread_db-a-y) $(libthread_db-so-y)))
+$(eval $(call add_IS_IN_lib,libresolv,$(libresolv-a-y) $(libresolv-so-y)))
+$(eval $(call add_IS_IN_lib,librt,$(librt-a-y) $(librt-so-y)))
+$(eval $(call add_IS_IN_lib,libutil,$(libutil-a-y) $(libutil-so-y)))
+$(eval $(call add_IS_IN_lib,libubacktrace,$(libubacktrace-a-y) $(libubacktrace-so-y)))
+
shared_objs = $(libc-y:.o=.os) $(libc-shared-y) $(libc-nonshared-y) \
$(libcrypt-so-y) $(libdl-so-y) \
$(libintl-so-y) $(libm-so-y) $(libnsl-so-y) \
@@ -228,14 +249,19 @@ maybe_exec = \
#collect_multi_flags = $(CFLAGS-$(notdir $(d))) $(CFLAGS-$(notdir $(patsubst %/,%,$(dir $(d)))))
collect_multi_flags = $(CFLAGS-$(notdir $(patsubst %/,%,$(dir $(d)))))
+#sub_srcdir = $(word 1,$(filter-out lib extra locale libpthread,$(wordlist 1,2,$(subst /, ,$(subst $(top_srcdir),,$(dir $<))))))
+
CFLAGS_gen.dep = -MT $@ -MD -MP -MF $(dir $(a)).$(notdir $(a)).dep
-cmd_compile.c = $(CC) -c $< -o $@ $(CFLAGS) \
+cmd_compile.c = $(CC) -c $< -o $@ \
+ $(filter-out $(CFLAGS-OMIT-$(notdir $<)), \
+ $(CFLAGS) \
+ $(CFLAGS-for-library-members) \
$(CFLAGS-$(suffix $@)) \
- $(filter-out $(CFLAGS-OMIT-$(notdir $<)),$(CFLAGS-$(notdir $(<D)))) \
- $(CFLAGS-$(subst $(top_srcdir),,$(dir $<))) \
+ $(CFLAGS-y-$(subst $(top_srcdir),,$(<D))) \
$(CFLAGS-$(notdir $<)) \
$(CFLAGS-$(notdir $@)) \
+ ) \
$(CFLAGS_gen.dep)
cmd_compile.i = $(cmd_compile.c:-c=-E -dD) $(UCLIBC_EXTRA_CPPFLAGS)
cmd_compile.s = $(cmd_compile.c:-c=-S)
diff --git a/Rules.mak b/Rules.mak
index 02687d9..d6a2254 100644
--- a/Rules.mak
+++ b/Rules.mak
@@ -633,7 +633,7 @@ WARNING_FLAGS += \
-Wshadow \
-Wundef
# Works only w/ gcc-3.4 and up, can't be checked for gcc-3.x w/ check_gcc()
-WARNING_FLAGS-gcc-4 += -Wdeclaration-after-statement
+#WARNING_FLAGS-gcc-4 += -Wdeclaration-after-statement
endif
WARNING_FLAGS += $(WARNING_FLAGS-gcc-$(GCC_MAJOR_VER))
$(foreach w,$(WARNING_FLAGS),$(eval $(call check-gcc-var,$(w))))
@@ -737,10 +737,14 @@ ifneq ($(strip $(UCLIBC_EXTRA_LDFLAGS)),"")
LDFLAGS += $(call qstrip,$(UCLIBC_EXTRA_LDFLAGS))
endif
+ifeq ($(UCLIBC_HAS_STDIO_FUTEXES),y)
+CFLAGS += -D__USE_STDIO_FUTEXES__
+endif
+
ifeq ($(UCLIBC_HAS_THREADS),y)
ifeq ($(UCLIBC_HAS_THREADS_NATIVE),y)
PTNAME := nptl
- CFLAGS += -DHAVE_FORCED_UNWIND
+ CFLAGS += -DHAVE_FORCED_UNWIND -D_LIBC_REENTRANT
else
ifeq ($(LINUXTHREADS_OLD),y)
PTNAME := linuxthreads.old
@@ -814,7 +818,7 @@ endif
ifeq ($(UCLIBC_BUILD_NOEXECSTACK),y)
$(eval $(call check-as-var,--noexecstack))
endif
-ASFLAGS = $(ASFLAG_--noexecstack)
+ASFLAGS += $(ASFLAG_--noexecstack)
LIBGCC_CFLAGS ?= $(CFLAGS) $(CPU_CFLAGS-y)
$(eval $(call cache-output-var,LIBGCC,$(CC) $(LIBGCC_CFLAGS) -print-libgcc-file-name))
diff --git a/ldso/ldso/Makefile.in b/ldso/ldso/Makefile.in
index d4866c9..e0d0a09 100644
--- a/ldso/ldso/Makefile.in
+++ b/ldso/ldso/Makefile.in
@@ -7,30 +7,25 @@
subdirs += ldso/ldso/$(TARGET_ARCH)
-CFLAGS-ldso := -DNOT_IN_libc -DIS_IN_rtld $(SSP_DISABLE_FLAGS)
+CFLAGS-rtld := -DNOT_IN_libc -DIS_IN_rtld $(SSP_DISABLE_FLAGS)
ifneq ($(TARGET_ARCH),arc)
# This stuff will not work with -fomit-frame-pointer
-CFLAGS-ldso += -fno-omit-frame-pointer
+CFLAGS-rtld += -fno-omit-frame-pointer
endif
-CFLAGS-ldso += -I$(top_srcdir)ldso/ldso/$(TARGET_ARCH) -I$(top_srcdir)ldso/include -I$(top_srcdir)ldso/ldso
-CFLAGS-ldso += -DUCLIBC_RUNTIME_PREFIX=\"$(RUNTIME_PREFIX)\" -DUCLIBC_LDSO=\"$(UCLIBC_LDSO)\"
+CFLAGS-rtld += -I$(top_srcdir)ldso/ldso/$(TARGET_ARCH) -I$(top_srcdir)ldso/include -I$(top_srcdir)ldso/ldso
+CFLAGS-rtld += -DUCLIBC_RUNTIME_PREFIX=\"$(RUNTIME_PREFIX)\" -DUCLIBC_LDSO=\"$(UCLIBC_LDSO)\"
-ifeq ($(DODEBUG),y)
# Not really much point in including debugging info, since gdb
# can't really debug ldso, since gdb requires help from ldso to
# debug things....
# On arm, gcc-4.3.x onwards -Os emits calls to libgcc, which calls _div0,
# which tries to call raise(). And raise comes from libc so a catch 22.
# Using -O2 instead. We could have use -fno-early-inlining with -Os too.
+CFLAGS-$(DODEBUG)-ldso/ldso := -O2 -g
-CFLAGS-ldso += -O2 -g
-endif
-
-CFLAGS-ldso/ldso/$(TARGET_ARCH)/ := $(CFLAGS-ldso)
-
-CFLAGS-ldso.c := -DLDSO_ELFINTERP=\"$(TARGET_ARCH)/elfinterp.c\" $(CFLAGS-ldso)
+CFLAGS-ldso.c := -DLDSO_ELFINTERP=\"$(TARGET_ARCH)/elfinterp.c\"
LDFLAGS-$(UCLIBC_FORMAT_DSBT_ELF)-$(UCLIBC_LDSO_NAME).so := -Wl,--dsbt-index=1
ifneq ($(SUPPORT_LD_DEBUG),y)
diff --git a/ldso/libdl/Makefile.in b/ldso/libdl/Makefile.in
index edf95a6..fe1eb9d 100644
--- a/ldso/libdl/Makefile.in
+++ b/ldso/libdl/Makefile.in
@@ -13,9 +13,7 @@ CFLAGS-libdl += -I$(top_srcdir)ldso/ldso/$(TARGET_ARCH) -I$(top_srcdir)ldso/incl
CFLAGS-libdl += -DUCLIBC_RUNTIME_PREFIX=\"$(RUNTIME_PREFIX)\"
-ifeq ($(SUPPORT_LD_DEBUG),y)
-CFLAGS-libdl += -D__SUPPORT_LD_DEBUG__
-endif
+CFLAGS-$(SUPPORT_LD_DEBUG)-ldso/libdl := -D__SUPPORT_LD_DEBUG__
CFLAGS-libdl.c := -DLDSO_ELFINTERP=\"$(TARGET_ARCH)/elfinterp.c\"
diff --git a/libc/Makefile.in b/libc/Makefile.in
index 3b6a17b..9c8152d 100644
--- a/libc/Makefile.in
+++ b/libc/Makefile.in
@@ -15,11 +15,9 @@ ifneq ($(VERSION_SCRIPT),)
VERSION_SCRIPT := -Wl,--version-script,$(VERSION_SCRIPT)
endif
+CFLAGS-libc :=# intentionally left blank
LDFLAGS-$(UCLIBC_FORMAT_DSBT_ELF)-libc.so := -Wl,--dsbt-index=2
LDFLAGS-libc.so := $(LDFLAGS) $(VERSION_SCRIPT) -Wl,-init,$(SYMBOL_PREFIX)__uClibc_init
-ifeq ($(UCLIBC_HAS_STDIO_FUTEXES),y)
-CFLAGS += -D__USE_STDIO_FUTEXES__
-endif
LIBS-libc.so := $(interp) $(ldso) $(top_builddir)lib/$(NONSHARED_LIBNAME)
# we have SHARED_LIBNAME=libc.so.$(ABI_VERSION) defined in Rules.mak
diff --git a/libc/inet/Makefile.in b/libc/inet/Makefile.in
index 5a55938..3bfe4b2 100644
--- a/libc/inet/Makefile.in
+++ b/libc/inet/Makefile.in
@@ -13,7 +13,7 @@ INET_DIR := $(top_srcdir)libc/inet
INET_OUT := $(top_builddir)libc/inet
V4_OR_V6 := $(findstring y,$(UCLIBC_HAS_IPV4)$(UCLIBC_HAS_IPV6))
-CFLAGS-inet := -DRESOLVER="\"resolv.c\""
+CFLAGS-y-libc/inet := -DRESOLVER="\"resolv.c\""
CSRC-y :=
# des uses ntohl
CSRC-$(findstring y,$(UCLIBC_HAS_CRYPT_IMPL)$(V4_OR_V6)) += ntohl.c
diff --git a/libc/inet/rpc/Makefile.in b/libc/inet/rpc/Makefile.in
index 65afc53..9abe85d 100644
--- a/libc/inet/rpc/Makefile.in
+++ b/libc/inet/rpc/Makefile.in
@@ -7,7 +7,7 @@
subdirs += libc/inet/rpc
-CFLAGS-rpc := -fno-strict-aliasing
+CFLAGS-y-libc/inet/rpc := -fno-strict-aliasing
# For now, only compile the stuff needed to do an NFS mount....
CSRC_NFS = authunix_prot.c auth_none.c auth_unix.c bindresvport.c \
diff --git a/libc/stdlib/system.c b/libc/stdlib/system.c
index 8c5d25d..3ef9a8b 100644
--- a/libc/stdlib/system.c
+++ b/libc/stdlib/system.c
@@ -18,6 +18,7 @@
#include <sysdep-cancel.h>
#endif
+extern __typeof(system) __libc_system;
#if !defined __UCLIBC_HAS_THREADS_NATIVE__
/* uClinux-2.0 has vfork, but Linux 2.0 doesn't */
#include <sys/syscall.h>
@@ -25,7 +26,6 @@
# define vfork fork
#endif
-extern __typeof(system) __libc_system;
int __libc_system(const char *command)
{
int wait_val, pid;
diff --git a/libc/sysdeps/linux/Makefile.commonarch b/libc/sysdeps/linux/Makefile.commonarch
index a001a44..1bf2dc5 100644
--- a/libc/sysdeps/linux/Makefile.commonarch
+++ b/libc/sysdeps/linux/Makefile.commonarch
@@ -20,8 +20,16 @@ libc-y += $(ARCH_OBJS-y)
libc-nomulti-y += $(ARCH_SOBJ)
objclean-y += CLEAN_$(subst $(top_builddir),,$(ARCH_OUT))
-CFLAGS-crti.S+=$(PICFLAG)
-CFLAGS-crtn.S+=$(PICFLAG)
+CFLAGS-OMIT-crt1.S := -D_LIBC_REENTRANT
+CFLAGS-OMIT-crti.S := -D_LIBC_REENTRANT
+CFLAGS-OMIT-crtn.S := -D_LIBC_REENTRANT
+CFLAGS-OMIT-crtreloc.c := -D_LIBC_REENTRANT
+CFLAGS-crti.S += $(PICFLAG)
+CFLAGS-crtn.S += $(PICFLAG)
+# Due to a "bug" in make these order_only prereqs inherit per-target flags.
+# Attempt to workaround this inconvenient behaviour:
+CFLAGS-OMIT-crt1.S += $(CFLAGS-rtld) -DIN_LIB=%
+CFLAGS-OMIT-crtreloc.c += $(CFLAGS-rtld) -DIN_LIB=%
CLEAN_$(subst $(top_builddir),,$(ARCH_OUT)):
$(do_rm) $(addprefix $(ARCH_OUT)/*., o os oS) $(CTOR_TARGETS) $(CRTS)
diff --git a/libc/sysdeps/linux/common/Makefile.in b/libc/sysdeps/linux/common/Makefile.in
index 8562154..a175ab6 100644
--- a/libc/sysdeps/linux/common/Makefile.in
+++ b/libc/sysdeps/linux/common/Makefile.in
@@ -115,6 +115,8 @@ ifneq ($(strip $(ARCH_OBJS-y)),)
CSRC-y := $(filter-out $(notdir $(ARCH_OBJS-y:.o=.c)) $(ARCH_OBJ_FILTEROUT-y),$(CSRC-y))
endif
+CFLAGS-OMIT-ssp.c := $(CFLAG_-fstack-protector) $(CFLAG_-fstack-protector-all) $(CFLAG_-fstack-protector-strong)
+CFLAGS-OMIT-ssp-local.c := $(CFLAG_-fstack-protector) $(CFLAG_-fstack-protector-all) $(CFLAG_-fstack-protector-strong)
CFLAGS-ssp.c := $(SSP_DISABLE_FLAGS)
CFLAGS-ssp-local.c := $(SSP_DISABLE_FLAGS)
diff --git a/libc/sysdeps/linux/m68k/__longjmp.S b/libc/sysdeps/linux/m68k/__longjmp.S
index 5033f02..a93d92b 100644
--- a/libc/sysdeps/linux/m68k/__longjmp.S
+++ b/libc/sysdeps/linux/m68k/__longjmp.S
@@ -15,7 +15,9 @@ __longjmp:
movel #1, %d0
1:
moveml %a0@(JB_REGS), %d2-%d7/%a2-%a7
-#if defined __HAVE_68881__ || defined __UCLIBC_HAS_FPU__
+#if defined __mcffpu__ && defined __UCLIBC_HAS_FPU__
+ fmovem %a0@(JB_FPREGS), %fp2-%fp7
+#elif defined __HAVE_68881__ || defined __UCLIBC_HAS_FPU__
fmovemx %a0@(JB_FPREGS), %fp2-%fp7
#endif
movel %a0@(JB_PC), %sp@
diff --git a/libc/sysdeps/linux/x86_64/crt1.S b/libc/sysdeps/linux/x86_64/crt1.S
index 52b564c..87777dd 100644
--- a/libc/sysdeps/linux/x86_64/crt1.S
+++ b/libc/sysdeps/linux/x86_64/crt1.S
@@ -54,7 +54,9 @@
...
NULL
*/
-
+#if defined NOT_IN_libc
+# error error in build framework
+#endif
#include <features.h>
.text
diff --git a/libm/Makefile.in b/libm/Makefile.in
index 23a55b3..7511706 100644
--- a/libm/Makefile.in
+++ b/libm/Makefile.in
@@ -220,8 +220,6 @@ endif
ifeq ($(UCLIBC_HAS_FPU),y)
ifeq ($(DO_C99_MATH),y)
ifneq ($(strip $(libm_ARCH_OBJS)),)
-CFLAGS-libm/$(TARGET_ARCH)/ := $(CFLAGS-libm)
-CFLAGS-libm/$(TARGET_ARCH)/$(TARGET_SUBARCH)/ := $(CFLAGS-libm)
# remove generic sources, if arch specific version is present
ifneq ($(strip $(libm_ARCH_SRC)),)
diff --git a/libm/metag/Makefile.arch b/libm/metag/Makefile.arch
index 4cc5a6b..bcae0e2 100644
--- a/libm/metag/Makefile.arch
+++ b/libm/metag/Makefile.arch
@@ -9,7 +9,7 @@ ifeq ($(UCLIBC_HAS_FENV),y)
ifeq ($(CONFIG_META_2_1),y)
libm_ARCH_SRC:=$(wildcard $(libm_ARCH_DIR)/*.c)
libm_ARCH_OBJ:=$(patsubst $(libm_ARCH_DIR)/%.c,$(libm_ARCH_OUT)/%.o,$(libm_ARCH_SRC))
-CFLAGS-libm += -Wa,-mfpu=metac21
+CFLAGS-y-libm/metag := -Wa,-mfpu=metac21
endif
endif
diff --git a/libm/powerpc/e500/fpu/Makefile.arch b/libm/powerpc/e500/fpu/Makefile.arch
index 1bb4f3a..904561e 100644
--- a/libm/powerpc/e500/fpu/Makefile.arch
+++ b/libm/powerpc/e500/fpu/Makefile.arch
@@ -11,8 +11,6 @@ libm_ARCH_SRC:=$(wildcard $(libm_ARCH_fpu_DIR)/*.c)
libm_ARCH_OBJ:=$(patsubst $(libm_ARCH_fpu_DIR)/%.c,$(libm_ARCH_fpu_OUT)/%.o,$(libm_ARCH_SRC))
endif
-CFLAGS-libm/$(TARGET_ARCH)/$(TARGET_SUBARCH)/fpu/ := $(CFLAGS-libm)
-
libm_ARCH_OBJS:=$(libm_ARCH_OBJ)
ifeq ($(DOPIC),y)
diff --git a/libpthread/linuxthreads.old/Makefile.in b/libpthread/linuxthreads.old/Makefile.in
index 48b273e..6be2099 100644
--- a/libpthread/linuxthreads.old/Makefile.in
+++ b/libpthread/linuxthreads.old/Makefile.in
@@ -9,9 +9,7 @@
subdirs += libpthread/linuxthreads.old
CFLAGS-dir_linuxthreads.old := -DNOT_IN_libc -DIS_IN_libpthread
-CFLAGS-linuxthreads.old := $(CFLAGS-dir_linuxthreads.old) $(SSP_ALL_CFLAGS)
-
-CFLAGS-libpthread/linuxthreads.old/sysdeps/$(TARGET_ARCH)/ := $(CFLAGS-linuxthreads.old)
+CFLAGS-libpthread/linuxthreads.old := $(CFLAGS-dir_linuxthreads.old) $(SSP_ALL_CFLAGS)
ifeq ($(PTHREADS_DEBUG_SUPPORT),y)
LDFLAGS-libpthread.so := $(LDFLAGS_NOSTRIP) -Wl,-z,defs
diff --git a/libpthread/linuxthreads.old_db/Makefile.in b/libpthread/linuxthreads.old_db/Makefile.in
index 8741eab..cf0ceb3 100644
--- a/libpthread/linuxthreads.old_db/Makefile.in
+++ b/libpthread/linuxthreads.old_db/Makefile.in
@@ -8,7 +8,7 @@
subdirs += libpthread/linuxthreads.old_db
# Get the thread include dependencies and shared object name
-CFLAGS-linuxthreads.old_db := -DNOT_IN_libc -DLIBPTHREAD_SO="\"libpthread.so.$(ABI_VERSION)\""
+CFLAGS-libpthread/linuxthreads.old_db := -DNOT_IN_libc -DLIBPTHREAD_SO="\"libpthread.so.$(ABI_VERSION)\""
LDFLAGS-libthread_db.so := $(LDFLAGS_NOSTRIP) $(if $(call check_ld,--warn-unresolved-symbols),-Wl$(comma)--warn-unresolved-symbols)
ifeq ($(DOSTRIP),y)
diff --git a/libpthread/linuxthreads/Makefile.in b/libpthread/linuxthreads/Makefile.in
index 697371b..4a499f7 100644
--- a/libpthread/linuxthreads/Makefile.in
+++ b/libpthread/linuxthreads/Makefile.in
@@ -11,11 +11,7 @@ subdirs += libpthread/linuxthreads/sysdeps/unix/sysv/linux
subdirs += libpthread/linuxthreads/sysdeps/pthread
CFLAGS-dir_linuxthreads := -DNOT_IN_libc -DIS_IN_libpthread
-CFLAGS-linuxthreads := $(CFLAGS-dir_linuxthreads) $(SSP_ALL_CFLAGS)
-
-CFLAGS-libpthread/linuxthreads/sysdeps/$(TARGET_ARCH)/ := $(CFLAGS-linuxthreads)
-CFLAGS-libpthread/linuxthreads/sysdeps/unix/sysv/linux/ := $(CFLAGS-linuxthreads)
-CFLAGS-libpthread/linuxthreads/sysdeps/pthread/ := $(CFLAGS-linuxthreads)
+CFLAGS-libpthread/linuxthreads := $(CFLAGS-dir_linuxthreads) $(SSP_ALL_CFLAGS)
# This stuff will not compile without at least -O1
# psm: can't handle this here, could maybe search for -O0 in CFLAGS
diff --git a/libpthread/linuxthreads_db/Makefile.in b/libpthread/linuxthreads_db/Makefile.in
index 060bea3..52cc7c8 100644
--- a/libpthread/linuxthreads_db/Makefile.in
+++ b/libpthread/linuxthreads_db/Makefile.in
@@ -8,7 +8,7 @@
subdirs += libpthread/linuxthreads_db
# Get the thread include dependencies and shared object name
-CFLAGS-linuxthreads_db := -DNOT_IN_libc -DLIBPTHREAD_SO="\"libpthread.so.$(ABI_VERSION)\""
+CFLAGS-libpthread/linuxthreads_db := -DNOT_IN_libc -DLIBPTHREAD_SO="\"libpthread.so.$(ABI_VERSION)\""
LDFLAGS-libthread_db.so := $(LDFLAGS_NOSTRIP) $(if $(call check_ld,--warn-unresolved-symbols),-Wl$(comma)--warn-unresolved-symbols)
ifeq ($(DOSTRIP),y)
diff --git a/libpthread/nptl/Makefile.in b/libpthread/nptl/Makefile.in
index 0008822..cdf07cf 100644
--- a/libpthread/nptl/Makefile.in
+++ b/libpthread/nptl/Makefile.in
@@ -92,19 +92,12 @@ $(top_builddir)lib/libpthread.a: $(libpthread-a-y)
$(Q)$(RM) $@
$(do_ar)
-#
-# Create 'pthread-errnos.h' header file.
-#
-CFLAGS-gen_pthread-errnos.c = -S
-
-$(libpthread_OUT)/gen_pthread-errnos.c: $(libpthread_DIR)/pthread-errnos.sym | $(libpthread_OUT)
- $(do_awk) $(top_srcdir)extra/scripts/gen-as-const.awk $< > $@
-
-$(libpthread_OUT)/gen_pthread-errnos.s: $(libpthread_OUT)/gen_pthread-errnos.c | headers
- $(compile.c)
-libpthread-generated-y += $(libpthread_OUT)/gen_pthread-errnos.s
-$(libpthread_OUT)/pthread-errnos.h: $(libpthread_OUT)/gen_pthread-errnos.s
- $(do_sed) $(PTHREAD_GENERATE_MANGLE) $< > $@
+$(libpthread_OUT)/pthread-errnos.h: $(top_srcdir)extra/scripts/gen-as-const.awk | headers
+$(libpthread_OUT)/pthread-errnos.h: $(libpthread_DIR)/pthread-errnos.sym
+ @$(disp_gen)
+ $(do_awk) $(top_srcdir)extra/scripts/gen-as-const.awk $< \
+ | $(CC) $(CFLAGS) -x c - -S -o - \
+ | $(SED) $(PTHREAD_GENERATE_MANGLE) > $@
@if test ! -s $@ ; then rm -f $@ ; false ; fi
pregen-headers-$(UCLIBC_HAS_THREADS_NATIVE) += $(libpthread_OUT)/pthread-errnos.h
@@ -132,7 +125,6 @@ headers_clean-y += HEADERCLEAN_libpthread/nptl
HEADERCLEAN_libpthread/nptl:
$(do_rm) $(nptl_headers_bootstrap) \
- $(addprefix $(libpthread_OUT)/gen_pthread-errnos., c s) \
$(libpthread_OUT)/pthread-errnos.h
CLEAN_libpthread/nptl:
@@ -149,7 +141,8 @@ LDFLAGS-libpthread.so += $(top_builddir)lib/$(UCLIBC_LDSO_NAME)-$(VERSION).so $(
LIBS-libpthread.so := $(LIBS)
-CFLAGS-nptl = -DNOT_IN_libc -DIS_IN_libpthread $(SSP_ALL_CFLAGS)
+CFLAGS-dir_nptl := -DNOT_IN_libc -DIS_IN_libpthread
+CFLAGS-libpthread/nptl := $(CFLAGS-dir_nptl) $(SSP_ALL_CFLAGS)
# Since cancellation handling is in large parts handled using exceptions
# we have to compile some files with exception handling enabled, some
@@ -220,7 +213,7 @@ CFLAGS-pthread_barrierattr_getpshared.c = -D_GNU_SOURCE
CFLAGS-pthread_barrierattr_setpshared.c = -D_GNU_SOURCE
CFLAGS-sem_open.c = -D_GNU_SOURCE
-CFLAGS-OMIT-alloca_cutoff.c = $(CFLAGS-nptl)
-CFLAGS-OMIT-forward.c = $(CFLAGS-nptl)
-CFLAGS-OMIT-libc-lowlevelock.c = $(CFLAGS-nptl)
-CFLAGS-OMIT-libc-cancellation.c = $(CFLAGS-nptl)
+CFLAGS-OMIT-alloca_cutoff.c = $(CFLAGS-dir_nptl)
+CFLAGS-OMIT-forward.c = $(CFLAGS-dir_nptl)
+CFLAGS-OMIT-libc-lowlevelock.c = $(CFLAGS-dir_nptl)
+CFLAGS-OMIT-libc-cancellation.c = $(CFLAGS-dir_nptl)
diff --git a/libpthread/nptl/sysdeps/Makefile.commonarch b/libpthread/nptl/sysdeps/Makefile.commonarch
index 8f5d61d..a5952a6 100644
--- a/libpthread/nptl/sysdeps/Makefile.commonarch
+++ b/libpthread/nptl/sysdeps/Makefile.commonarch
@@ -40,15 +40,12 @@ librt_arch_COBJ = $(patsubst %.c,$(libpthread_arch_OUT)/%.o,$(librt_arch_CSRC))
librt_arch_SOBJ = $(patsubst %.S,$(libpthread_arch_OUT)/%.o,$(librt_arch_SSRC))
librt_arch_OBJS = $(librt_arch_COBJ) $(librt_arch_SOBJ)
-CFLAGS-gen_tcb-offsets.c = -S
-$(libpthread_arch_OUT)/gen_tcb-offsets.c: $(libpthread_arch_DIR)/tcb-offsets.sym | $(libpthread_arch_OUT)
- $(do_awk) $(top_srcdir)extra/scripts/gen-as-const.awk $< > $@
-
-$(libpthread_arch_OUT)/gen_tcb-offsets.s: $(libpthread_arch_OUT)/gen_tcb-offsets.c | headers
- $(compile.c)
-libpthread-generated-y += $(libpthread_arch_OUT)/gen_tcb-offsets.s
-$(libpthread_arch_OUT)/tcb-offsets.h: $(libpthread_arch_OUT)/gen_tcb-offsets.s
- $(do_sed) $(PTHREAD_GENERATE_MANGLE) $< > $@
+$(libpthread_arch_OUT)/tcb-offsets.h: $(top_srcdir)extra/scripts/gen-as-const.awk | headers
+$(libpthread_arch_OUT)/tcb-offsets.h: $(libpthread_arch_DIR)/tcb-offsets.sym
+ @$(disp_gen)
+ $(do_awk) $(top_srcdir)extra/scripts/gen-as-const.awk $< \
+ | $(CC) $(CFLAGS) -x c - -S -o - \
+ | $(SED) $(PTHREAD_GENERATE_MANGLE) > $@
@if test ! -s $@ ; then rm -f $@ ; false ; fi
pregen-headers-$(UCLIBC_HAS_THREADS_NATIVE) += $(libpthread_arch_OUT)/tcb-offsets.h
@@ -59,8 +56,7 @@ headers_clean-y+= HEADERCLEAN_$(subst $(top_builddir),,$(libpthread_arch_OUT))
CLEAN_$(subst $(top_builddir),,$(libpthread_arch_OUT)):
$(do_rm) $(addprefix $(libpthread_arch_OUT)/*., o os oS)
HEADERCLEAN_$(subst $(top_builddir),,$(libpthread_arch_OUT)):
- $(do_rm) $(libpthread_arch_OUT)/tcb-offsets.h \
- $(addprefix $(libpthread_arch_OUT)/gen_tcb-offsets., c h s)
+ $(do_rm) $(libpthread_arch_OUT)/tcb-offsets.h
ifneq ($(TARGET_SUBARCH),)
objclean-y += CLEAN_$(subst $(top_builddir),,$(libpthread_subarch_OUT))
CLEAN_$(subst $(top_builddir),,$(libpthread_subarch_OUT)):
diff --git a/libpthread/nptl/sysdeps/arc/Makefile.arch b/libpthread/nptl/sysdeps/arc/Makefile.arch
index 1c72884..08ec7e7 100644
--- a/libpthread/nptl/sysdeps/arc/Makefile.arch
+++ b/libpthread/nptl/sysdeps/arc/Makefile.arch
@@ -5,9 +5,4 @@
# Licensed under the LGPL v2.1 or later, see the file COPYING.LIB in this tarball.
#
-CFLAGS-pt-raise.c = -DNOT_IN_libc -DIS_IN_libpthread
-
-ASFLAGS-pthread_spin_lock.S = -DNOT_IN_libc -DIS_IN_libpthread
-ASFLAGS-pthread_spin_trylock.S = -DNOT_IN_libc -DIS_IN_libpthread
-
libc_arch_a_CSRC = libc-tls.c
diff --git a/libpthread/nptl/sysdeps/arm/Makefile.arch b/libpthread/nptl/sysdeps/arm/Makefile.arch
index fbe4975..62a2822 100644
--- a/libpthread/nptl/sysdeps/arm/Makefile.arch
+++ b/libpthread/nptl/sysdeps/arm/Makefile.arch
@@ -7,11 +7,4 @@
#
librt_arch_SSRC = aeabi_read_tp.S thumb_atomics.S
-
-CFLAGS-pt-raise.c = -DNOT_IN_libc -DIS_IN_libpthread
-
-ASFLAGS-pthread_spin_lock.S = -DNOT_IN_libc -DIS_IN_libpthread
-ASFLAGS-pthread_spin_trylock.S = -DNOT_IN_libc -DIS_IN_libpthread
-ASFLAGS-aeabi_read_tp.S = -DNOT_IN_libc=1
-
libc_arch_a_CSRC = libc-tls.c
diff --git a/libpthread/nptl/sysdeps/metag/Makefile.arch b/libpthread/nptl/sysdeps/metag/Makefile.arch
index 0a42e68..ed5b52c 100644
--- a/libpthread/nptl/sysdeps/metag/Makefile.arch
+++ b/libpthread/nptl/sysdeps/metag/Makefile.arch
@@ -5,13 +5,6 @@
# Licensed under the LGPL v2.1 or later, see the file COPYING.LIB in this tarball.
#
-CFLAGS-pthread_spin_init.c = -DNOT_IN_libc -DIS_IN_libpthread
-ASFLAGS-pthread_spin_lock.S = -DNOT_IN_libc -DIS_IN_libpthread
-ASFLAGS-pthread_spin_unlock.S = -DNOT_IN_libc -DIS_IN_libpthread
-ASFLAGS-pthread_spin_trylock.S = -DNOT_IN_libc -DIS_IN_libpthread
-
ASFLAGS-pthread_spin_lock.c += -D_GNU_SOURCE
-CFLAGS-metag = $(SSP_ALL_CFLAGS)
-
libc_arch_a_CSRC := libc-tls.c
diff --git a/libpthread/nptl/sysdeps/mips/Makefile.arch b/libpthread/nptl/sysdeps/mips/Makefile.arch
index 2762a2f..10f8abf 100644
--- a/libpthread/nptl/sysdeps/mips/Makefile.arch
+++ b/libpthread/nptl/sysdeps/mips/Makefile.arch
@@ -5,13 +5,7 @@
# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
#
-CFLAGS-pt-raise.c = -DNOT_IN_libc -DIS_IN_libpthread
-
-ASFLAGS-pthread_spin_lock.S = -DNOT_IN_libc -DIS_IN_libpthread
-ASFLAGS-pthread_spin_trylock.S = -DNOT_IN_libc -DIS_IN_libpthread
-ASFLAGS-nptl-sysdep.S = -DNOT_IN_libc -DIS_IN_libpthread \
- -D_LIBC_REENTRANT \
- -I$(top_srcdir)libc/sysdeps/linux/mips
+ASFLAGS-nptl-sysdep.S = -I$(top_srcdir)libc/sysdeps/linux/mips
libc_arch_a_CSRC = libc-tls.c
diff --git a/libpthread/nptl/sysdeps/pthread/Makefile.in b/libpthread/nptl/sysdeps/pthread/Makefile.in
index add3a8e..84adfe0 100644
--- a/libpthread/nptl/sysdeps/pthread/Makefile.in
+++ b/libpthread/nptl/sysdeps/pthread/Makefile.in
@@ -34,7 +34,7 @@ libpthread_pthread_CSRC = \
pthread_spin_unlock.c \
pt-longjmp.c \
tpp.c
-CFLAGS-pthread = $(SSP_ALL_CFLAGS) -DNOT_IN_libc -DIS_IN_libpthread
+
CFLAGS-pthread_barrier_wait.c = -D_GNU_SOURCE
CFLAGS-pthread_spin_destroy.c = -D_GNU_SOURCE
CFLAGS-pthread_spin_init.c = -D_GNU_SOURCE
@@ -54,7 +54,7 @@ librt-pt-routines-y = librt-cancellation.c
librt-pt-shared-only-routines-y = rt-unwind-resume.c
ifeq ($(UCLIBC_CTOR_DTOR),y)
-CFLAGS-OMIT-pt-initfini.c = $(CFLAGS-pthread)
+CFLAGS-OMIT-pt-initfini.c = $(CFLAGS-y-libpthread/nptl/sysdeps/pthread)
CFLAGS-pt-initfini.c = -S -g0 $(PICFLAG) -fno-inline-functions \
$(call check_gcc,-fno-unit-at-a-time,) \
$(SSP_DISABLE_FLAGS) \
diff --git a/libpthread/nptl/sysdeps/sh/Makefile.arch b/libpthread/nptl/sysdeps/sh/Makefile.arch
index 411622a..b50dd51 100644
--- a/libpthread/nptl/sysdeps/sh/Makefile.arch
+++ b/libpthread/nptl/sysdeps/sh/Makefile.arch
@@ -5,9 +5,6 @@
# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
#
-ASFLAGS-pthread_spin_unlock.S = -DNOT_IN_libc -DIS_IN_libpthread
-ASFLAGS-pthread_spin_trylock.S = -DNOT_IN_libc -DIS_IN_libpthread
-
CFLAGS-pthread_spin_lock.c += -D_GNU_SOURCE
libc_arch_a_CSRC := libc-tls.c
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/Makefile.commonarch b/libpthread/nptl/sysdeps/unix/sysv/linux/Makefile.commonarch
index 3372214..e4a5fc5 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/Makefile.commonarch
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/Makefile.commonarch
@@ -122,73 +122,27 @@ headers_clean-y += HEADERCLEAN_libpthread/nptl/sysdeps/unix/sysv/linux
CFLAGS-pthread_getcpuclockid.c = -I$(top_srcdir)librt
CFLAGS-pt-pread_pwrite.c = -I$(top_srcdir)libc/sysdeps/linux/$(TARGET_ARCH) \
-I$(top_srcdir)libc/sysdeps/linux/common
-CFLAGS-mq_notify.c = -I$(top_srcdir)librt -DIS_IN_librt
-CFLAGS-timer_create.c = -I$(top_srcdir)librt -DIS_IN_librt
-CFLAGS-timer_delete.c = -I$(top_srcdir)librt -DIS_IN_librt
-CFLAGS-timer_getoverr.c = -I$(top_srcdir)librt -DIS_IN_librt
-CFLAGS-timer_gettime.c = -I$(top_srcdir)librt -DIS_IN_librt
-CFLAGS-timer_routines.c = -I$(top_srcdir)librt -DIS_IN_librt
-CFLAGS-timer_settime.c = -I$(top_srcdir)librt -DIS_IN_librt
+CFLAGS-mq_notify.c = -I$(top_srcdir)librt
+CFLAGS-timer_create.c = -I$(top_srcdir)librt
+CFLAGS-timer_delete.c = -I$(top_srcdir)librt
+CFLAGS-timer_getoverr.c = -I$(top_srcdir)librt
+CFLAGS-timer_gettime.c = -I$(top_srcdir)librt
+CFLAGS-timer_routines.c = -I$(top_srcdir)librt
+CFLAGS-timer_settime.c = -I$(top_srcdir)librt
ifneq ($(UCLIBC_HAS_BACKTRACE),)
CFLAGS-raise.c = -fasynchronous-unwind-tables
endif
-CFLAGS-linux = -DNOT_IN_libc -DIS_IN_libpthread $(SSP_ALL_CFLAGS)
-
-CFLAGS-OMIT-libc_pthread_init.c = -DNOT_IN_libc -DIS_IN_libpthread
-CFLAGS-OMIT-libc_multiple_threads.c = -DNOT_IN_libc -DIS_IN_libpthread
-CFLAGS-OMIT-register-atfork.c = -DNOT_IN_libc -DIS_IN_libpthread
-CFLAGS-OMIT-unregister-atfork.c = -DNOT_IN_libc -DIS_IN_libpthread
-CFLAGS-OMIT-getpid.c = -DNOT_IN_libc -DIS_IN_libpthread
-CFLAGS-OMIT-raise.c = -DNOT_IN_libc -DIS_IN_libpthread
-CFLAGS-OMIT-sleep.c = -DNOT_IN_libc -DIS_IN_libpthread
-CFLAGS-OMIT-jmp-unwind.c = -DNOT_IN_libc -DIS_IN_libpthread
-CFLAGS-OMIT-libc-lowlevellock.c = -DNOT_IN_libc -DIS_IN_libpthread
-
-#CFLAGS-OMIT-close.S = -DNOT_IN_libc -DIS_IN_libpthread
-#CFLAGS-OMIT-open.S = -DNOT_IN_libc -DIS_IN_libpthread
-#CFLAGS-OMIT-read.S = -DNOT_IN_libc -DIS_IN_libpthread
-#CFLAGS-OMIT-write.S = -DNOT_IN_libc -DIS_IN_libpthread
-#CFLAGS-OMIT-waitpid.S = -DNOT_IN_libc -DIS_IN_libpthread
-
-CFLAGS-OMIT-mq_notify.c = -DIS_IN_libpthread
-CFLAGS-OMIT-timer_create.c = -DIS_IN_libpthread
-CFLAGS-OMIT-timer_delete.c = -DIS_IN_libpthread
-CFLAGS-OMIT-timer_getoverr.c = -DIS_IN_libpthread
-CFLAGS-OMIT-timer_gettime.c = -DIS_IN_libpthread
-CFLAGS-OMIT-timer_routines.c = -DIS_IN_libpthread
-CFLAGS-OMIT-timer_settime.c = -DIS_IN_libpthread
-
-#ASFLAGS-open.S = -D_LIBC_REENTRANT
-#ASFLAGS-close.S = -D_LIBC_REENTRANT
-#ASFLAGS-read.S = -D_LIBC_REENTRANT
-#ASFLAGS-write.S = -D_LIBC_REENTRANT
-#ASFLAGS-waitpid.S = -D_LIBC_REENTRANT
-
-#
-# Create header files.
-#
-CFLAGS-gen_lowlevelbarrier.c = -S
-CFLAGS-gen_lowlevelcond.c = -S
-CFLAGS-gen_lowlevelrobustlock.c = -S
-CFLAGS-gen_lowlevelrwlock.c = -S
-CFLAGS-gen_pthread-pi-defines.c = -S
-CFLAGS-gen_structsem.c = -S
-CFLAGS-gen_unwindbuf.c = -S
-
PTHREAD_LINUX_SYM := $(notdir $(wildcard $(libpthread_linux_DIR)/*.sym))
-PTHREAD_LINUX_SYM_C := $(addprefix $(libpthread_linux_OUT)/gen_,$(PTHREAD_LINUX_SYM:.sym=.c))
-PTHREAD_LINUX_SYM_S := $(PTHREAD_LINUX_SYM_C:.c=.s)
PTHREAD_LINUX_SYM_H := $(addprefix $(libpthread_linux_OUT)/,$(PTHREAD_LINUX_SYM:.sym=.h))
-$(PTHREAD_LINUX_SYM_C): $(libpthread_linux_OUT)/gen_%.c: $(libpthread_linux_DIR)/%.sym | $(libpthread_linux_OUT)
- $(do_awk) $(top_srcdir)extra/scripts/gen-as-const.awk $< > $@
-$(PTHREAD_LINUX_SYM_S): $(libpthread_linux_OUT)/gen_%.s: $(libpthread_linux_OUT)/gen_%.c | headers
- $(compile.c)
-libpthread-generated-y += $(PTHREAD_LINUX_SYM_S)
-$(PTHREAD_LINUX_SYM_H): $(libpthread_linux_OUT)/%.h: $(libpthread_linux_OUT)/gen_%.s
- $(do_sed) $(PTHREAD_GENERATE_MANGLE) $< > $@
+$(PTHREAD_LINUX_SYM_H): $(top_srcdir)extra/scripts/gen-as-const.awk | headers
+$(PTHREAD_LINUX_SYM_H): $(libpthread_linux_OUT)/%.h: $(libpthread_linux_DIR)/%.sym
+ @$(disp_gen)
+ $(do_awk) $(top_srcdir)extra/scripts/gen-as-const.awk $< \
+ | $(CC) $(CFLAGS) -x c - -S -o - \
+ | $(SED) $(PTHREAD_GENERATE_MANGLE) > $@
@if test ! -s $@ ; then rm -f $@ ; false ; fi
pregen-headers-$(UCLIBC_HAS_THREADS_NATIVE) += $(PTHREAD_LINUX_SYM_H)
@@ -200,8 +154,7 @@ $(ALL_HEADERS_BITS_PTHREAD): $(top_builddir)include/bits/%: | $(top_builddir)inc
$(do_ln) $(call rel_srcdir)$(libpthread_linux_DIR)/bits/$(@F) $@
HEADERCLEAN_libpthread/nptl/sysdeps/unix/sysv/linux:
- $(do_rm) $(PTHREAD_LINUX_SYM_C) $(PTHREAD_LINUX_SYM_S) \
- $(PTHREAD_LINUX_SYM_H)
+ $(do_rm) $(PTHREAD_LINUX_SYM_H)
CLEAN_libpthread/nptl/sysdeps/unix/sysv/linux:
$(do_rm) $(addprefix $(libpthread_linux_OUT)/*., o os oS)
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/arc/Makefile.arch b/libpthread/nptl/sysdeps/unix/sysv/linux/arc/Makefile.arch
index 25e6fad..8e3c7b0 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/arc/Makefile.arch
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/arc/Makefile.arch
@@ -13,20 +13,3 @@ libc_linux_arch_CSRC = fork.c libc-lowlevellock.c
libc_linux_arch_SSRC = clone.S vfork.S
libc_linux_arch_SSRC-OMIT = waitpid.S
-CFLAGS-pthread_once.c = -DNOT_IN_libc -DIS_IN_libpthread
-CFLAGS-pt-__syscall_rt_sigaction.c = -DNOT_IN_libc -DIS_IN_libpthread
-CFLAGS-lowlevellock.c = -DNOT_IN_libc -DIS_IN_libpthread
-CFLAGS-pt-__syscall_error.c = -DNOT_IN_libc -DIS_IN_libpthread
-ASFLAGS-pt-vfork.S = -DNOT_IN_libc -DIS_IN_libpthread
-
-ASFLAGS-vfork.S = -DIS_IN_libc -DNOT_IN_libpthread
-ASFLAGS-clone.S = -DIS_IN_libc -DNOT_IN_libpthread
-
-ifeq ($(UCLIBC_HAS_STDIO_FUTEXES),y)
-CFLAGS-fork.c = -D__USE_STDIO_FUTEXES__
-endif
-CFLAGS-OMIT-fork.c = -DNOT_IN_libc -DIS_IN_libpthread
-CFLAGS-OMIT-libc-lowlevellock.c = -DNOT_IN_libc -DIS_IN_libpthread
-# We always compile it in arm mode because of SAVE_PID macro
-# This macro should be alternatively implemented in THUMB
-# assembly.
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/arm/Makefile.arch b/libpthread/nptl/sysdeps/unix/sysv/linux/arm/Makefile.arch
index 329d8a9..c8d5d4a 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/arm/Makefile.arch
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/arm/Makefile.arch
@@ -14,18 +14,6 @@ libc_linux_arch_CSRC = fork.c libc-lowlevellock.c
libc_linux_arch_SSRC = clone.S vfork.S
libc_linux_arch_SSRC-OMIT = waitpid.S
-
-CFLAGS-pthread_once.c = -DNOT_IN_libc -DIS_IN_libpthread
-CFLAGS-pt-__syscall_rt_sigaction.c = -DNOT_IN_libc -DIS_IN_libpthread
-CFLAGS-lowlevellock.c = -DNOT_IN_libc -DIS_IN_libpthread
-CFLAGS-pt-__syscall_error.c = -DNOT_IN_libc -DIS_IN_libpthread
-ASFLAGS-pt-vfork.S = -DNOT_IN_libc -DIS_IN_libpthread -marm
-
-ifeq ($(UCLIBC_HAS_STDIO_FUTEXES),y)
-CFLAGS-fork.c = -D__USE_STDIO_FUTEXES__
-endif
-CFLAGS-OMIT-fork.c = -DNOT_IN_libc -DIS_IN_libpthread
-CFLAGS-OMIT-libc-lowlevellock.c = -DNOT_IN_libc -DIS_IN_libpthread
# We always compile it in arm mode because of SAVE_PID macro
# This macro should be alternatively implemented in THUMB
# assembly.
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/i386/Makefile.arch b/libpthread/nptl/sysdeps/unix/sysv/linux/i386/Makefile.arch
index 9a34595..fff0dae 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/i386/Makefile.arch
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/i386/Makefile.arch
@@ -13,17 +13,3 @@ libc_linux_arch_SSRC = clone.S vfork.S
ASFLAGS += -DUSE___THREAD
-CFLAGS-pt-__syscall_error.c = -DNOT_IN_libc -DIS_IN_libpthread
-ASFLAGS-pt-vfork.S = -DNOT_IN_libc -DIS_IN_libpthread -D_LIBC_REENTRANT
-ASFLAGS-lowlevellock.S = -DNOT_IN_libc -DIS_IN_libpthread -D_LIBC_REENTRANT
-ASFLAGS-lowlevelrobustlock.S = -DNOT_IN_libc -DIS_IN_libpthread -D_LIBC_REENTRANT
-ASFLAGS-pthread_once.S = -DNOT_IN_libc -DIS_IN_libpthread -D_LIBC_REENTRANT
-ASFLAGS-pthread_spin_unlock.S = -DNOT_IN_libc -DIS_IN_libpthread -D_LIBC_REENTRANT
-
-ASFLAGS-clone.S = -D_LIBC_REENTRANT
-ASFLAGS-vfork.S = -D_LIBC_REENTRANT
-ASFLAGS-libc-lowlevellock.S = -D_LIBC_REENTRANT
-ifeq ($(UCLIBC_HAS_STDIO_FUTEXES),y)
-CFLAGS-fork.c = -D__USE_STDIO_FUTEXES__
-endif
-CFLAGS-OMIT-fork.c = -DNOT_IN_libc -DIS_IN_libpthread
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/metag/Makefile.arch b/libpthread/nptl/sysdeps/unix/sysv/linux/metag/Makefile.arch
index df98875..4d02d0c 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/metag/Makefile.arch
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/metag/Makefile.arch
@@ -16,16 +16,3 @@ libc_linux_arch_SSRC-OMIT = waitpid.S
CFLAGS += $(SSP_ALL_CFLAGS)
-CFLAGS-pthread_once.c = -DNOT_IN_libc -DIS_IN_libpthread
-CFLAGS-pt-__syscall_rt_sigaction.c = -DNOT_IN_libc -DIS_IN_libpthread
-CFLAGS-lowlevellock.c = -DNOT_IN_libc -DIS_IN_libpthread
-CFLAGS-pt-__syscall_error.c = -DNOT_IN_libc -DIS_IN_libpthread
-ASFLAGS-vfork.S = -DIS_IN_libc -DNOT_IN_libpthread
-ASFLAGS-clone.S = -DIS_IN_libc -DNOT_IN_libpthread
-ASFLAGS-pt-vfork.S = -DNOT_IN_libc -DIS_IN_libpthread
-
-ifeq ($(UCLIBC_HAS_STDIO_FUTEXES),y)
-CFLAGS-fork.c = -D__USE_STDIO_FUTEXES__
-endif
-CFLAGS-OMIT-fork.c = -DNOT_IN_libc -DIS_IN_libpthread
-CFLAGS-OMIT-libc-lowlevellock.c = -DNOT_IN_libc -DIS_IN_libpthread
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/mips/Makefile.arch b/libpthread/nptl/sysdeps/unix/sysv/linux/mips/Makefile.arch
index fc26a8e..4a3d0f2 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/mips/Makefile.arch
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/mips/Makefile.arch
@@ -15,13 +15,3 @@ libc_linux_arch_SSRC-OMIT = waitpid.S
endif
ASFLAGS += -DUSE___THREAD
-CFLAGS-OMIT-fork.c = -DNOT_IN_libc -DIS_IN_libpthread
-ifeq ($(UCLIBC_HAS_STDIO_FUTEXES),y)
-CFLAGS-fork.c = -D__USE_STDIO_FUTEXES__
-endif
-CFLAGS-pthread_once.c = -DNOT_IN_libc -DIS_IN_libpthread
-CFLAGS-pt-__syscall_rt_sigaction.c = -DNOT_IN_libc -DIS_IN_libpthread
-ASFLAGS-pt-vfork.S = -DNOT_IN_libc -DIS_IN_libpthread
-
-ASFLAGS-clone.S = -D_LIBC_REENTRANT
-ASFLAGS-vfork.S = -D_LIBC_REENTRANT
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/Makefile.arch b/libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/Makefile.arch
index 8581aea..21b9b72 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/Makefile.arch
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/Makefile.arch
@@ -16,15 +16,3 @@ librt_linux_arch_CSRC = pt-__syscall_error.c
ASFLAGS += -DUSE___THREAD
-CFLAGS-pthread_once.c = -DNOT_IN_libc -DIS_IN_libpthread
-CFLAGS-lowlevellock.c = -DNOT_IN_libc -DIS_IN_libpthread
-CFLAGS-pt-__syscall_error.c = -DNOT_IN_libc -DIS_IN_libpthread
-ASFLAGS-pt-vfork.S = -DNOT_IN_libc -DIS_IN_libpthread -D_LIBC_REENTRANT
-#ASFLAGS-lowlevellock.S = -DNOT_IN_libc -DIS_IN_libpthread -D_LIBC_REENTRANT
-
-#ASFLAGS-libc-lowlevellock.S = -D_LIBC_REENTRANT
-ASFLAGS-clone.S = -D_LIBC_REENTRANT
-ASFLAGS-vfork.S = -D_LIBC_REENTRANT
-ifeq ($(UCLIBC_HAS_STDIO_FUTEXES),y)
-CFLAGS-fork.c = -D__USE_STDIO_FUTEXES__
-endif
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/sh/Makefile.arch b/libpthread/nptl/sysdeps/unix/sysv/linux/sh/Makefile.arch
index a8249e0..154dd6e 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/sh/Makefile.arch
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/sh/Makefile.arch
@@ -17,30 +17,3 @@ libc_linux_arch_SSRC = libc-lowlevellock.S clone.S vfork.S
ASFLAGS += -DUSE___THREAD
-ASFLAGS-pt-vfork.S = -DNOT_IN_libc -DIS_IN_libpthread -D_LIBC_REENTRANT
-ASFLAGS-pthread_once.S = -D_LIBC_REENTRANT
-ASFLAGS-pthread_rwlock_wrlock.S = -D_LIBC_REENTRANT
-ASFLAGS-pthread_rwlock_rdlock.S = -D_LIBC_REENTRANT
-ASFLAGS-pthread_rwlock_unlock.S = -D_LIBC_REENTRANT
-ASFLAGS-pthread_barrier_wait.S = -D_LIBC_REENTRANT
-ASFLAGS-pthread_cond_broadcast.S = -D_LIBC_REENTRANT
-ASFLAGS-pthread_cond_signal.S = -D_LIBC_REENTRANT
-ASFLAGS-pthread_cond_wait.S = -D_LIBC_REENTRANT
-ASFLAGS-pthread_cond_timedwait.S = -D_LIBC_REENTRANT
-ASFLAGS-pthread_rwlock_timedwrlock.S = -D_LIBC_REENTRANT
-ASFLAGS-pthread_rwlock_timedrdlock.S = -D_LIBC_REENTRANT
-ASFLAGS-sem_post.S = -D_LIBC_REENTRANT
-ASFLAGS-sem_timedwait.S = -D_LIBC_REENTRANT
-ASFLAGS-sem_trywait.S = -D_LIBC_REENTRANT
-ASFLAGS-sem_wait.S = -D_LIBC_REENTRANT
-
-ASFLAGS-libc-lowlevellock.S = -D_LIBC_REENTRANT
-
-ASFLAGS-lowlevellock.S = -DNOT_IN_libc -DIS_IN_libpthread -D_LIBC_REENTRANT
-ASFLAGS-lowlevelrobustlock.S = -DNOT_IN_libc -DIS_IN_libpthread -D_LIBC_REENTRANT
-
-ASFLAGS-clone.S = -D_LIBC_REENTRANT
-ASFLAGS-vfork.S = -D_LIBC_REENTRANT
-ifeq ($(UCLIBC_HAS_STDIO_FUTEXES),y)
-CFLAGS-fork.c = -D__USE_STDIO_FUTEXES__
-endif
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/sparc/Makefile.arch b/libpthread/nptl/sysdeps/unix/sysv/linux/sparc/Makefile.arch
index 102c0da..2b2b5f5 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/sparc/Makefile.arch
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/sparc/Makefile.arch
@@ -17,15 +17,3 @@ librt_linux_arch_CSRC = pt-__syscall_error.c
ASFLAGS += -DUSE___THREAD
-ASFLAGS-pt-vfork.S = -DNOT_IN_libc -DIS_IN_libpthread -D_LIBC_REENTRANT
-CFLAGS-pthread_once.c = -DNOT_IN_libc -DIS_IN_libpthread
-CFLAGS-lowlevellock.c = -DNOT_IN_libc -DIS_IN_libpthread
-CFLAGS-pt-__syscall_error.c = -DNOT_IN_libc -DIS_IN_libpthread
-
-ASFLAGS-clone.S = -D_LIBC_REENTRANT
-ASFLAGS-vfork.S = -D_LIBC_REENTRANT
-ifeq ($(UCLIBC_HAS_STDIO_FUTEXES),y)
-CFLAGS-fork.c = -D__USE_STDIO_FUTEXES__
-endif
-CFLAGS-OMIT-fork.c = -DNOT_IN_libc -DIS_IN_libpthread
-CFLAGS-OMIT-libc-lowlevellock.c = -DNOT_IN_libc -DIS_IN_libpthread
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 71df986..ebd5060 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/Makefile.arch
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/Makefile.arch
@@ -20,19 +20,3 @@ librt_linux_arch_SSRC = librt-cancellation.S
ASFLAGS += -DUSE___THREAD
-CFLAGS-pt-__syscall_error.c = -DNOT_IN_libc -DIS_IN_libpthread
-ASFLAGS-pt-vfork.S = -DNOT_IN_libc -DIS_IN_libpthread -D_LIBC_REENTRANT
-ASFLAGS-lowlevellock.S = -DNOT_IN_libc -DIS_IN_libpthread -D_LIBC_REENTRANT
-ASFLAGS-pthread_once.S = -DNOT_IN_libc -DIS_IN_libpthread -D_LIBC_REENTRANT
-ASFLAGS-cancellation.S = -DNOT_IN_libc -DIS_IN_libpthread -D_LIBC_REENTRANT
-ASFLAGS-pthread_cond_timedwait.S = -D_LIBC_REENTRANT
-ASFLAGS-pthread_cond_wait.S = -D_LIBC_REENTRANT
-
-ASFLAGS-clone.S = -D_LIBC_REENTRANT
-ASFLAGS-vfork.S = -D_LIBC_REENTRANT
-ASFLAGS-libc-lowlevellock.S = -D_LIBC_REENTRANT
-ASFLAGS-libc-cancellation.S = -D_LIBC_REENTRANT
-ifeq ($(UCLIBC_HAS_STDIO_FUTEXES),y)
-CFLAGS-fork.c = -D__USE_STDIO_FUTEXES__
-endif
-CFLAGS-OMIT-fork.c = -DNOT_IN_libc -DIS_IN_libpthread
diff --git a/libpthread/nptl_db/Makefile.in b/libpthread/nptl_db/Makefile.in
index b158529..76102e6 100644
--- a/libpthread/nptl_db/Makefile.in
+++ b/libpthread/nptl_db/Makefile.in
@@ -8,9 +8,11 @@
subdirs += libpthread/nptl_db
# Get the thread include dependencies and shared object name
-CFLAGS-nptl_db := -DLIBPTHREAD_SO="\"libpthread.so.$(ABI_VERSION)\""
-CFLAGS-nptl_db += -I$(top_srcdir)libpthread/nptl -D_GNU_SOURCE
-CFLAGS-nptl_db += -DIS_IN_libthread_db=1 -DNOT_IN_libc -std=gnu99 -I$(top_srcdir)ldso/include
+CFLAGS-libpthread/nptl_db := -DNOT_IN_libc \
+ -DLIBPTHREAD_SO="\"libpthread.so.$(ABI_VERSION)\"" \
+ -std=gnu99 -D_GNU_SOURCE \
+ -I$(top_srcdir)libpthread/nptl \
+ -I$(top_srcdir)ldso/include
LDFLAGS-libthread_db.so := $(LDFLAGS_NOSTRIP) $(if $(call check_ld,--warn-unresolved-symbols),-Wl$(comma)--warn-unresolved-symbols)
LIBS-libthread_db.so := $(LIBS)
diff --git a/libubacktrace/Makefile.in b/libubacktrace/Makefile.in
index 1cd5f83..311f1e3 100644
--- a/libubacktrace/Makefile.in
+++ b/libubacktrace/Makefile.in
@@ -37,11 +37,6 @@ endif
# -fasynchronous-unwind-tables is required for backtrace to work using dwarf2
CFLAGS-backtrace.c := -fasynchronous-unwind-tables
-# pass common flags to arch dirs
-ifneq ($(strip $(libubacktrace_ARCH_OBJS)),)
-CFLAGS-libubacktrace/$(TARGET_ARCH)/ := $(CFLAGS-libubacktrace)
-endif
-
libubacktrace_SRCS := $(patsubst %.c,$(libubacktrace_DIR)/%.c,$(libubacktrace_SRC-y))
libubacktrace_OBJS := $(patsubst $(libubacktrace_DIR)/%.c,$(libubacktrace_OUT)/%.o,$(libubacktrace_SRCS))
hooks/post-receive
--
uClibc-ng - small C library for embedded systems
1
0
uClibc-ng - small C library for embedded systems branch upstream updated. a9bdc5d28e692c04f51bcea1bb8e87f9c72ad09f
by wbx@helium.waldemar-brodkorb.de 17 Sep '14
by wbx@helium.waldemar-brodkorb.de 17 Sep '14
17 Sep '14
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "uClibc-ng - small C library for embedded systems".
The branch, upstream has been updated
via a9bdc5d28e692c04f51bcea1bb8e87f9c72ad09f (commit)
via 085465e5c507822b25daec6c0fc1a78da48bff9e (commit)
via 56824024e4f3fa8b5c6f696934c51fbc86946a80 (commit)
via 95acdd4b30d856f46e3dd908a934eaeb68c9b572 (commit)
via cce3af55b325650f7ac50eb2e7a5f79800d60377 (commit)
via 41537a770b46f2376e74af58ba4885749339e81e (commit)
via 143b7505a2cc505e94bde9b82cad4f695d15433d (commit)
from 62d3a427afdea136c82bb599a18a593d9b32c533 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit a9bdc5d28e692c04f51bcea1bb8e87f9c72ad09f
Author: Bernhard Reutner-Fischer <rep.dot.nop(a)gmail.com>
Date: Wed Sep 17 20:45:26 2014 +0200
m68k: libc: add fmovem* mcffpu condition
add fmovem{x,.d,.*} ISA conditional
Fixes assembler errors for 5206.
isa_a, isa_b (or a+, don't remember) do not have emx, use em.d there.
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop(a)gmail.com>
commit 085465e5c507822b25daec6c0fc1a78da48bff9e
Author: Gustavo Zacarias <gustavo(a)zacarias.com.ar>
Date: Sun Sep 7 12:01:34 2014 -0300
sparc: update ptrace.h to latest from glibc
Update sys/ptrace.h to latest glibc release for a lot of missing
definitions.
Signed-off-by: Gustavo Zacarias <gustavo(a)zacarias.com.ar>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop(a)gmail.com>
commit 56824024e4f3fa8b5c6f696934c51fbc86946a80
Author: Gustavo Zacarias <gustavo(a)zacarias.com.ar>
Date: Sun Sep 7 12:01:33 2014 -0300
powerpc: update ptrace.h to latest from glibc
Update sys/ptrace.h to latest glibc release for a lot of missing
definitions.
Signed-off-by: Gustavo Zacarias <gustavo(a)zacarias.com.ar>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop(a)gmail.com>
commit 95acdd4b30d856f46e3dd908a934eaeb68c9b572
Author: Bernhard Reutner-Fischer <rep.dot.nop(a)gmail.com>
Date: Tue Sep 16 22:07:12 2014 +0200
buildsys: remove now redundant lib placement defines
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop(a)gmail.com>
commit cce3af55b325650f7ac50eb2e7a5f79800d60377
Author: Bernhard Reutner-Fischer <rep.dot.nop(a)gmail.com>
Date: Tue Sep 16 21:36:54 2014 +0200
libc: silence missing prototype warning
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop(a)gmail.com>
commit 41537a770b46f2376e74af58ba4885749339e81e
Author: Bernhard Reutner-Fischer <rep.dot.nop(a)gmail.com>
Date: Mon Sep 15 22:13:07 2014 +0200
buildsys: fix IS_IN_lib*
define NOT_IN_libc / IS_IN_libxxx appropriately
to fix pthread_once
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop(a)gmail.com>
commit 143b7505a2cc505e94bde9b82cad4f695d15433d
Author: Bernhard Reutner-Fischer <rep.dot.nop(a)gmail.com>
Date: Wed Sep 10 22:18:55 2014 +0200
nptl: rephrase *.sym handling
Avoids circular dependency warning from make by generating the .h
directly from the .sym files, elimination intermediate files.
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop(a)gmail.com>
-----------------------------------------------------------------------
Summary of changes:
Makerules | 32 ++++++-
Rules.mak | 10 +-
ldso/ldso/Makefile.in | 17 ++--
ldso/libdl/Makefile.in | 4 +-
libc/Makefile.in | 4 +-
libc/inet/Makefile.in | 2 +-
libc/inet/rpc/Makefile.in | 2 +-
libc/stdlib/system.c | 2 +-
libc/sysdeps/linux/Makefile.commonarch | 12 ++-
libc/sysdeps/linux/common/Makefile.in | 2 +
libc/sysdeps/linux/m68k/__longjmp.S | 4 +-
libc/sysdeps/linux/powerpc/sys/ptrace.h | 93 ++++++++++++++++++-
libc/sysdeps/linux/sparc/sys/ptrace.h | 97 +++++++++++++++++++-
libc/sysdeps/linux/x86_64/crt1.S | 4 +-
libm/Makefile.in | 2 -
libm/metag/Makefile.arch | 2 +-
libm/powerpc/e500/fpu/Makefile.arch | 2 -
libpthread/linuxthreads.old/Makefile.in | 4 +-
libpthread/linuxthreads.old_db/Makefile.in | 2 +-
libpthread/linuxthreads/Makefile.in | 6 +-
libpthread/linuxthreads_db/Makefile.in | 2 +-
libpthread/nptl/Makefile.in | 31 +++----
libpthread/nptl/sysdeps/Makefile.commonarch | 18 ++--
libpthread/nptl/sysdeps/arc/Makefile.arch | 5 -
libpthread/nptl/sysdeps/arm/Makefile.arch | 7 --
libpthread/nptl/sysdeps/metag/Makefile.arch | 7 --
libpthread/nptl/sysdeps/mips/Makefile.arch | 8 +-
libpthread/nptl/sysdeps/pthread/Makefile.in | 4 +-
libpthread/nptl/sysdeps/sh/Makefile.arch | 3 -
.../sysdeps/unix/sysv/linux/Makefile.commonarch | 75 +++------------
.../nptl/sysdeps/unix/sysv/linux/arc/Makefile.arch | 17 ----
.../nptl/sysdeps/unix/sysv/linux/arm/Makefile.arch | 12 ---
.../sysdeps/unix/sysv/linux/i386/Makefile.arch | 14 ---
.../sysdeps/unix/sysv/linux/metag/Makefile.arch | 13 ---
.../sysdeps/unix/sysv/linux/mips/Makefile.arch | 10 --
.../sysdeps/unix/sysv/linux/powerpc/Makefile.arch | 12 ---
.../nptl/sysdeps/unix/sysv/linux/sh/Makefile.arch | 27 ------
.../sysdeps/unix/sysv/linux/sparc/Makefile.arch | 12 ---
.../sysdeps/unix/sysv/linux/x86_64/Makefile.arch | 16 ----
libpthread/nptl_db/Makefile.in | 8 +-
libubacktrace/Makefile.in | 5 -
41 files changed, 294 insertions(+), 315 deletions(-)
diff --git a/Makerules b/Makerules
index 05d9548..85f21ea 100644
--- a/Makerules
+++ b/Makerules
@@ -26,6 +26,27 @@ $(lib-a-y): | $(top_builddir)lib
endif
objs: all_objs
+# apply unconditional per-directory flags
+define add_IS_IN_lib
+ifneq ($(strip $(2)),)
+__add_IS_IN_lib := $(subst $(top_builddir),,$(2))
+$$(__add_IS_IN_lib): CFLAGS-for-library-members:=$(CFLAGS-$(1)) -DIN_LIB=$(word 1,$(subst /, ,$(1)))
+endif
+endef
+$(eval $(call add_IS_IN_lib,rtld,$(ldso-y)))
+$(eval $(call add_IS_IN_lib,libc,$(libc-y) $(libc-static-y) $(libc-y:.o=.os) $(libc-shared-y) $(libc-nonshared-y)))
+$(eval $(call add_IS_IN_lib,libcrypt,$(libcrypt-a-y) $(libcrypt-so-y)))
+$(eval $(call add_IS_IN_lib,libdl,$(libdl-a-y) $(libdl-so-y)))
+$(eval $(call add_IS_IN_lib,libintl,$(libintl-a-y) $(libintl-so-y)))
+$(eval $(call add_IS_IN_lib,libm,$(libm-a-y) $(libm-so-y)))
+$(eval $(call add_IS_IN_lib,libnsl,$(libnsl-a-y) $(libnsl-so-y)))
+$(eval $(call add_IS_IN_lib,libpthread/$(PTNAME),$(libpthread-a-y) $(libpthread-so-y) $(libpthread-nonshared-y)))
+$(eval $(call add_IS_IN_lib,libpthread/$(PTNAME)_db,$(libthread_db-a-y) $(libthread_db-so-y)))
+$(eval $(call add_IS_IN_lib,libresolv,$(libresolv-a-y) $(libresolv-so-y)))
+$(eval $(call add_IS_IN_lib,librt,$(librt-a-y) $(librt-so-y)))
+$(eval $(call add_IS_IN_lib,libutil,$(libutil-a-y) $(libutil-so-y)))
+$(eval $(call add_IS_IN_lib,libubacktrace,$(libubacktrace-a-y) $(libubacktrace-so-y)))
+
shared_objs = $(libc-y:.o=.os) $(libc-shared-y) $(libc-nonshared-y) \
$(libcrypt-so-y) $(libdl-so-y) \
$(libintl-so-y) $(libm-so-y) $(libnsl-so-y) \
@@ -228,14 +249,19 @@ maybe_exec = \
#collect_multi_flags = $(CFLAGS-$(notdir $(d))) $(CFLAGS-$(notdir $(patsubst %/,%,$(dir $(d)))))
collect_multi_flags = $(CFLAGS-$(notdir $(patsubst %/,%,$(dir $(d)))))
+#sub_srcdir = $(word 1,$(filter-out lib extra locale libpthread,$(wordlist 1,2,$(subst /, ,$(subst $(top_srcdir),,$(dir $<))))))
+
CFLAGS_gen.dep = -MT $@ -MD -MP -MF $(dir $(a)).$(notdir $(a)).dep
-cmd_compile.c = $(CC) -c $< -o $@ $(CFLAGS) \
+cmd_compile.c = $(CC) -c $< -o $@ \
+ $(filter-out $(CFLAGS-OMIT-$(notdir $<)), \
+ $(CFLAGS) \
+ $(CFLAGS-for-library-members) \
$(CFLAGS-$(suffix $@)) \
- $(filter-out $(CFLAGS-OMIT-$(notdir $<)),$(CFLAGS-$(notdir $(<D)))) \
- $(CFLAGS-$(subst $(top_srcdir),,$(dir $<))) \
+ $(CFLAGS-y-$(subst $(top_srcdir),,$(<D))) \
$(CFLAGS-$(notdir $<)) \
$(CFLAGS-$(notdir $@)) \
+ ) \
$(CFLAGS_gen.dep)
cmd_compile.i = $(cmd_compile.c:-c=-E -dD) $(UCLIBC_EXTRA_CPPFLAGS)
cmd_compile.s = $(cmd_compile.c:-c=-S)
diff --git a/Rules.mak b/Rules.mak
index 20da428..2121ada 100644
--- a/Rules.mak
+++ b/Rules.mak
@@ -633,7 +633,7 @@ WARNING_FLAGS += \
-Wshadow \
-Wundef
# Works only w/ gcc-3.4 and up, can't be checked for gcc-3.x w/ check_gcc()
-WARNING_FLAGS-gcc-4 += -Wdeclaration-after-statement
+#WARNING_FLAGS-gcc-4 += -Wdeclaration-after-statement
endif
WARNING_FLAGS += $(WARNING_FLAGS-gcc-$(GCC_MAJOR_VER))
$(foreach w,$(WARNING_FLAGS),$(eval $(call check-gcc-var,$(w))))
@@ -737,10 +737,14 @@ ifneq ($(strip $(UCLIBC_EXTRA_LDFLAGS)),"")
LDFLAGS += $(call qstrip,$(UCLIBC_EXTRA_LDFLAGS))
endif
+ifeq ($(UCLIBC_HAS_STDIO_FUTEXES),y)
+CFLAGS += -D__USE_STDIO_FUTEXES__
+endif
+
ifeq ($(UCLIBC_HAS_THREADS),y)
ifeq ($(UCLIBC_HAS_THREADS_NATIVE),y)
PTNAME := nptl
- CFLAGS += -DHAVE_FORCED_UNWIND
+ CFLAGS += -DHAVE_FORCED_UNWIND -D_LIBC_REENTRANT
else
ifeq ($(LINUXTHREADS_OLD),y)
PTNAME := linuxthreads.old
@@ -814,7 +818,7 @@ endif
ifeq ($(UCLIBC_BUILD_NOEXECSTACK),y)
$(eval $(call check-as-var,--noexecstack))
endif
-ASFLAGS = $(ASFLAG_--noexecstack)
+ASFLAGS += $(ASFLAG_--noexecstack)
LIBGCC_CFLAGS ?= $(CFLAGS) $(CPU_CFLAGS-y)
$(eval $(call cache-output-var,LIBGCC,$(CC) $(LIBGCC_CFLAGS) -print-libgcc-file-name))
diff --git a/ldso/ldso/Makefile.in b/ldso/ldso/Makefile.in
index d4866c9..e0d0a09 100644
--- a/ldso/ldso/Makefile.in
+++ b/ldso/ldso/Makefile.in
@@ -7,30 +7,25 @@
subdirs += ldso/ldso/$(TARGET_ARCH)
-CFLAGS-ldso := -DNOT_IN_libc -DIS_IN_rtld $(SSP_DISABLE_FLAGS)
+CFLAGS-rtld := -DNOT_IN_libc -DIS_IN_rtld $(SSP_DISABLE_FLAGS)
ifneq ($(TARGET_ARCH),arc)
# This stuff will not work with -fomit-frame-pointer
-CFLAGS-ldso += -fno-omit-frame-pointer
+CFLAGS-rtld += -fno-omit-frame-pointer
endif
-CFLAGS-ldso += -I$(top_srcdir)ldso/ldso/$(TARGET_ARCH) -I$(top_srcdir)ldso/include -I$(top_srcdir)ldso/ldso
-CFLAGS-ldso += -DUCLIBC_RUNTIME_PREFIX=\"$(RUNTIME_PREFIX)\" -DUCLIBC_LDSO=\"$(UCLIBC_LDSO)\"
+CFLAGS-rtld += -I$(top_srcdir)ldso/ldso/$(TARGET_ARCH) -I$(top_srcdir)ldso/include -I$(top_srcdir)ldso/ldso
+CFLAGS-rtld += -DUCLIBC_RUNTIME_PREFIX=\"$(RUNTIME_PREFIX)\" -DUCLIBC_LDSO=\"$(UCLIBC_LDSO)\"
-ifeq ($(DODEBUG),y)
# Not really much point in including debugging info, since gdb
# can't really debug ldso, since gdb requires help from ldso to
# debug things....
# On arm, gcc-4.3.x onwards -Os emits calls to libgcc, which calls _div0,
# which tries to call raise(). And raise comes from libc so a catch 22.
# Using -O2 instead. We could have use -fno-early-inlining with -Os too.
+CFLAGS-$(DODEBUG)-ldso/ldso := -O2 -g
-CFLAGS-ldso += -O2 -g
-endif
-
-CFLAGS-ldso/ldso/$(TARGET_ARCH)/ := $(CFLAGS-ldso)
-
-CFLAGS-ldso.c := -DLDSO_ELFINTERP=\"$(TARGET_ARCH)/elfinterp.c\" $(CFLAGS-ldso)
+CFLAGS-ldso.c := -DLDSO_ELFINTERP=\"$(TARGET_ARCH)/elfinterp.c\"
LDFLAGS-$(UCLIBC_FORMAT_DSBT_ELF)-$(UCLIBC_LDSO_NAME).so := -Wl,--dsbt-index=1
ifneq ($(SUPPORT_LD_DEBUG),y)
diff --git a/ldso/libdl/Makefile.in b/ldso/libdl/Makefile.in
index edf95a6..fe1eb9d 100644
--- a/ldso/libdl/Makefile.in
+++ b/ldso/libdl/Makefile.in
@@ -13,9 +13,7 @@ CFLAGS-libdl += -I$(top_srcdir)ldso/ldso/$(TARGET_ARCH) -I$(top_srcdir)ldso/incl
CFLAGS-libdl += -DUCLIBC_RUNTIME_PREFIX=\"$(RUNTIME_PREFIX)\"
-ifeq ($(SUPPORT_LD_DEBUG),y)
-CFLAGS-libdl += -D__SUPPORT_LD_DEBUG__
-endif
+CFLAGS-$(SUPPORT_LD_DEBUG)-ldso/libdl := -D__SUPPORT_LD_DEBUG__
CFLAGS-libdl.c := -DLDSO_ELFINTERP=\"$(TARGET_ARCH)/elfinterp.c\"
diff --git a/libc/Makefile.in b/libc/Makefile.in
index 3b6a17b..9c8152d 100644
--- a/libc/Makefile.in
+++ b/libc/Makefile.in
@@ -15,11 +15,9 @@ ifneq ($(VERSION_SCRIPT),)
VERSION_SCRIPT := -Wl,--version-script,$(VERSION_SCRIPT)
endif
+CFLAGS-libc :=# intentionally left blank
LDFLAGS-$(UCLIBC_FORMAT_DSBT_ELF)-libc.so := -Wl,--dsbt-index=2
LDFLAGS-libc.so := $(LDFLAGS) $(VERSION_SCRIPT) -Wl,-init,$(SYMBOL_PREFIX)__uClibc_init
-ifeq ($(UCLIBC_HAS_STDIO_FUTEXES),y)
-CFLAGS += -D__USE_STDIO_FUTEXES__
-endif
LIBS-libc.so := $(interp) $(ldso) $(top_builddir)lib/$(NONSHARED_LIBNAME)
# we have SHARED_LIBNAME=libc.so.$(ABI_VERSION) defined in Rules.mak
diff --git a/libc/inet/Makefile.in b/libc/inet/Makefile.in
index 5a55938..3bfe4b2 100644
--- a/libc/inet/Makefile.in
+++ b/libc/inet/Makefile.in
@@ -13,7 +13,7 @@ INET_DIR := $(top_srcdir)libc/inet
INET_OUT := $(top_builddir)libc/inet
V4_OR_V6 := $(findstring y,$(UCLIBC_HAS_IPV4)$(UCLIBC_HAS_IPV6))
-CFLAGS-inet := -DRESOLVER="\"resolv.c\""
+CFLAGS-y-libc/inet := -DRESOLVER="\"resolv.c\""
CSRC-y :=
# des uses ntohl
CSRC-$(findstring y,$(UCLIBC_HAS_CRYPT_IMPL)$(V4_OR_V6)) += ntohl.c
diff --git a/libc/inet/rpc/Makefile.in b/libc/inet/rpc/Makefile.in
index 65afc53..9abe85d 100644
--- a/libc/inet/rpc/Makefile.in
+++ b/libc/inet/rpc/Makefile.in
@@ -7,7 +7,7 @@
subdirs += libc/inet/rpc
-CFLAGS-rpc := -fno-strict-aliasing
+CFLAGS-y-libc/inet/rpc := -fno-strict-aliasing
# For now, only compile the stuff needed to do an NFS mount....
CSRC_NFS = authunix_prot.c auth_none.c auth_unix.c bindresvport.c \
diff --git a/libc/stdlib/system.c b/libc/stdlib/system.c
index 8c5d25d..3ef9a8b 100644
--- a/libc/stdlib/system.c
+++ b/libc/stdlib/system.c
@@ -18,6 +18,7 @@
#include <sysdep-cancel.h>
#endif
+extern __typeof(system) __libc_system;
#if !defined __UCLIBC_HAS_THREADS_NATIVE__
/* uClinux-2.0 has vfork, but Linux 2.0 doesn't */
#include <sys/syscall.h>
@@ -25,7 +26,6 @@
# define vfork fork
#endif
-extern __typeof(system) __libc_system;
int __libc_system(const char *command)
{
int wait_val, pid;
diff --git a/libc/sysdeps/linux/Makefile.commonarch b/libc/sysdeps/linux/Makefile.commonarch
index a001a44..1bf2dc5 100644
--- a/libc/sysdeps/linux/Makefile.commonarch
+++ b/libc/sysdeps/linux/Makefile.commonarch
@@ -20,8 +20,16 @@ libc-y += $(ARCH_OBJS-y)
libc-nomulti-y += $(ARCH_SOBJ)
objclean-y += CLEAN_$(subst $(top_builddir),,$(ARCH_OUT))
-CFLAGS-crti.S+=$(PICFLAG)
-CFLAGS-crtn.S+=$(PICFLAG)
+CFLAGS-OMIT-crt1.S := -D_LIBC_REENTRANT
+CFLAGS-OMIT-crti.S := -D_LIBC_REENTRANT
+CFLAGS-OMIT-crtn.S := -D_LIBC_REENTRANT
+CFLAGS-OMIT-crtreloc.c := -D_LIBC_REENTRANT
+CFLAGS-crti.S += $(PICFLAG)
+CFLAGS-crtn.S += $(PICFLAG)
+# Due to a "bug" in make these order_only prereqs inherit per-target flags.
+# Attempt to workaround this inconvenient behaviour:
+CFLAGS-OMIT-crt1.S += $(CFLAGS-rtld) -DIN_LIB=%
+CFLAGS-OMIT-crtreloc.c += $(CFLAGS-rtld) -DIN_LIB=%
CLEAN_$(subst $(top_builddir),,$(ARCH_OUT)):
$(do_rm) $(addprefix $(ARCH_OUT)/*., o os oS) $(CTOR_TARGETS) $(CRTS)
diff --git a/libc/sysdeps/linux/common/Makefile.in b/libc/sysdeps/linux/common/Makefile.in
index 8562154..a175ab6 100644
--- a/libc/sysdeps/linux/common/Makefile.in
+++ b/libc/sysdeps/linux/common/Makefile.in
@@ -115,6 +115,8 @@ ifneq ($(strip $(ARCH_OBJS-y)),)
CSRC-y := $(filter-out $(notdir $(ARCH_OBJS-y:.o=.c)) $(ARCH_OBJ_FILTEROUT-y),$(CSRC-y))
endif
+CFLAGS-OMIT-ssp.c := $(CFLAG_-fstack-protector) $(CFLAG_-fstack-protector-all) $(CFLAG_-fstack-protector-strong)
+CFLAGS-OMIT-ssp-local.c := $(CFLAG_-fstack-protector) $(CFLAG_-fstack-protector-all) $(CFLAG_-fstack-protector-strong)
CFLAGS-ssp.c := $(SSP_DISABLE_FLAGS)
CFLAGS-ssp-local.c := $(SSP_DISABLE_FLAGS)
diff --git a/libc/sysdeps/linux/m68k/__longjmp.S b/libc/sysdeps/linux/m68k/__longjmp.S
index 5033f02..a93d92b 100644
--- a/libc/sysdeps/linux/m68k/__longjmp.S
+++ b/libc/sysdeps/linux/m68k/__longjmp.S
@@ -15,7 +15,9 @@ __longjmp:
movel #1, %d0
1:
moveml %a0@(JB_REGS), %d2-%d7/%a2-%a7
-#if defined __HAVE_68881__ || defined __UCLIBC_HAS_FPU__
+#if defined __mcffpu__ && defined __UCLIBC_HAS_FPU__
+ fmovem %a0@(JB_FPREGS), %fp2-%fp7
+#elif defined __HAVE_68881__ || defined __UCLIBC_HAS_FPU__
fmovemx %a0@(JB_FPREGS), %fp2-%fp7
#endif
movel %a0@(JB_PC), %sp@
diff --git a/libc/sysdeps/linux/powerpc/sys/ptrace.h b/libc/sysdeps/linux/powerpc/sys/ptrace.h
index 02c303c..dd81efc 100644
--- a/libc/sysdeps/linux/powerpc/sys/ptrace.h
+++ b/libc/sysdeps/linux/powerpc/sys/ptrace.h
@@ -1,5 +1,5 @@
/* `ptrace' debugger support interface. Linux version.
- Copyright (C) 2001 Free Software Foundation, Inc.
+ Copyright (C) 2001-2014 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
@@ -20,6 +20,7 @@
#define _SYS_PTRACE_H 1
#include <features.h>
+#include <bits/types.h>
__BEGIN_DECLS
@@ -78,8 +79,96 @@ enum __ptrace_request
#define PT_DETACH PTRACE_DETACH
/* Continue and stop at the next (return from) syscall. */
- PTRACE_SYSCALL = 24
+ PTRACE_SYSCALL = 24,
#define PT_SYSCALL PTRACE_SYSCALL
+
+ /* Set ptrace filter options. */
+ PTRACE_SETOPTIONS = 0x4200,
+#define PT_SETOPTIONS PTRACE_SETOPTIONS
+
+ /* Get last ptrace message. */
+ PTRACE_GETEVENTMSG = 0x4201,
+#define PT_GETEVENTMSG PTRACE_GETEVENTMSG
+
+ /* Get siginfo for process. */
+ PTRACE_GETSIGINFO = 0x4202,
+#define PT_GETSIGINFO PTRACE_GETSIGINFO
+
+ /* Set new siginfo for process. */
+ PTRACE_SETSIGINFO = 0x4203,
+#define PT_SETSIGINFO PTRACE_SETSIGINFO
+
+ /* Get register content. */
+ PTRACE_GETREGSET = 0x4204,
+#define PTRACE_GETREGSET PTRACE_GETREGSET
+
+ /* Set register content. */
+ PTRACE_SETREGSET = 0x4205,
+#define PTRACE_SETREGSET PTRACE_SETREGSET
+
+ /* Like PTRACE_ATTACH, but do not force tracee to trap and do not affect
+ signal or group stop state. */
+ PTRACE_SEIZE = 0x4206,
+#define PTRACE_SEIZE PTRACE_SEIZE
+
+ /* Trap seized tracee. */
+ PTRACE_INTERRUPT = 0x4207,
+#define PTRACE_INTERRUPT PTRACE_INTERRUPT
+
+ /* Wait for next group event. */
+ PTRACE_LISTEN = 0x4208,
+#define PTRACE_LISTEN PTRACE_LISTEN
+
+ PTRACE_PEEKSIGINFO = 0x4209
+#define PTRACE_PEEKSIGINFO PTRACE_PEEKSIGINFO
+};
+
+
+/* Flag for PTRACE_LISTEN. */
+enum __ptrace_flags
+{
+ PTRACE_SEIZE_DEVEL = 0x80000000
+};
+
+/* Options set using PTRACE_SETOPTIONS. */
+enum __ptrace_setoptions
+{
+ PTRACE_O_TRACESYSGOOD = 0x00000001,
+ PTRACE_O_TRACEFORK = 0x00000002,
+ PTRACE_O_TRACEVFORK = 0x00000004,
+ PTRACE_O_TRACECLONE = 0x00000008,
+ PTRACE_O_TRACEEXEC = 0x00000010,
+ PTRACE_O_TRACEVFORKDONE = 0x00000020,
+ PTRACE_O_TRACEEXIT = 0x00000040,
+ PTRACE_O_TRACESECCOMP = 0x00000080,
+ PTRACE_O_EXITKILL = 0x00100000,
+ PTRACE_O_MASK = 0x001000ff
+};
+
+/* Wait extended result codes for the above trace options. */
+enum __ptrace_eventcodes
+{
+ PTRACE_EVENT_FORK = 1,
+ PTRACE_EVENT_VFORK = 2,
+ PTRACE_EVENT_CLONE = 3,
+ PTRACE_EVENT_EXEC = 4,
+ PTRACE_EVENT_VFORK_DONE = 5,
+ PTRACE_EVENT_EXIT = 6,
+ PTRACE_EVENT_SECCOMP = 7
+};
+
+/* Arguments for PTRACE_PEEKSIGINFO. */
+struct __ptrace_peeksiginfo_args
+{
+ __uint64_t off; /* From which siginfo to start. */
+ __uint32_t flags; /* Flags for peeksiginfo. */
+ __int32_t nr; /* How many siginfos to take. */
+};
+
+enum __ptrace_peeksiginfo_flags
+{
+ /* Read signals from a shared (process wide) queue. */
+ PTRACE_PEEKSIGINFO_SHARED = (1 << 0)
};
/* Perform process tracing functions. REQUEST is one of the values
diff --git a/libc/sysdeps/linux/sparc/sys/ptrace.h b/libc/sysdeps/linux/sparc/sys/ptrace.h
index 26fa4b3..0f6c2cc 100644
--- a/libc/sysdeps/linux/sparc/sys/ptrace.h
+++ b/libc/sysdeps/linux/sparc/sys/ptrace.h
@@ -1,5 +1,5 @@
/* `ptrace' debugger support interface. Linux/SPARC version.
- Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
+ Copyright (C) 1996-2014 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
@@ -20,7 +20,7 @@
#define _SYS_PTRACE_H 1
#include <features.h>
-
+#include <bits/types.h>
#include <bits/wordsize.h>
/* Linux/SPARC kernels up to 2.3.18 do not care much
@@ -147,12 +147,11 @@ enum __ptrace_request
#endif
/* Continue and stop at the next (return from) syscall. */
- PTRACE_SYSCALL = 24
+ PTRACE_SYSCALL = 24,
#define PTRACE_SYSCALL PTRACE_SYSCALL
#if __WORDSIZE == 64
- ,
/* Get all floating point registers used by a processes.
This is not supported on all machines. */
PTRACE_GETFPREGS = 25,
@@ -160,10 +159,98 @@ enum __ptrace_request
/* Set all floating point registers used by a processes.
This is not supported on all machines. */
- PTRACE_SETFPREGS = 26
+ PTRACE_SETFPREGS = 26,
#define PT_SETFPREGS PTRACE_SETFPREGS
#endif
+
+ /* Set ptrace filter options. */
+ PTRACE_SETOPTIONS = 0x4200,
+#define PT_SETOPTIONS PTRACE_SETOPTIONS
+
+ /* Get last ptrace message. */
+ PTRACE_GETEVENTMSG = 0x4201,
+#define PT_GETEVENTMSG PTRACE_GETEVENTMSG
+
+ /* Get siginfo for process. */
+ PTRACE_GETSIGINFO = 0x4202,
+#define PT_GETSIGINFO PTRACE_GETSIGINFO
+
+ /* Set new siginfo for process. */
+ PTRACE_SETSIGINFO = 0x4203,
+#define PT_SETSIGINFO PTRACE_SETSIGINFO
+
+ /* Get register content. */
+ PTRACE_GETREGSET = 0x4204,
+#define PTRACE_GETREGSET PTRACE_GETREGSET
+
+ /* Set register content. */
+ PTRACE_SETREGSET = 0x4205,
+#define PTRACE_SETREGSET PTRACE_SETREGSET
+
+ /* Like PTRACE_ATTACH, but do not force tracee to trap and do not affect
+ signal or group stop state. */
+ PTRACE_SEIZE = 0x4206,
+#define PTRACE_SEIZE PTRACE_SEIZE
+
+ /* Trap seized tracee. */
+ PTRACE_INTERRUPT = 0x4207,
+#define PTRACE_INTERRUPT PTRACE_INTERRUPT
+
+ /* Wait for next group event. */
+ PTRACE_LISTEN = 0x4208,
+#define PTRACE_LISTEN PTRACE_LISTEN
+
+ PTRACE_PEEKSIGINFO = 0x4209
+#define PTRACE_PEEKSIGINFO PTRACE_PEEKSIGINFO
+};
+
+
+/* Flag for PTRACE_LISTEN. */
+enum __ptrace_flags
+{
+ PTRACE_SEIZE_DEVEL = 0x80000000
+};
+
+/* Options set using PTRACE_SETOPTIONS. */
+enum __ptrace_setoptions
+{
+ PTRACE_O_TRACESYSGOOD = 0x00000001,
+ PTRACE_O_TRACEFORK = 0x00000002,
+ PTRACE_O_TRACEVFORK = 0x00000004,
+ PTRACE_O_TRACECLONE = 0x00000008,
+ PTRACE_O_TRACEEXEC = 0x00000010,
+ PTRACE_O_TRACEVFORKDONE = 0x00000020,
+ PTRACE_O_TRACEEXIT = 0x00000040,
+ PTRACE_O_TRACESECCOMP = 0x00000080,
+ PTRACE_O_EXITKILL = 0x00100000,
+ PTRACE_O_MASK = 0x001000ff
+};
+
+/* Wait extended result codes for the above trace options. */
+enum __ptrace_eventcodes
+{
+ PTRACE_EVENT_FORK = 1,
+ PTRACE_EVENT_VFORK = 2,
+ PTRACE_EVENT_CLONE = 3,
+ PTRACE_EVENT_EXEC = 4,
+ PTRACE_EVENT_VFORK_DONE = 5,
+ PTRACE_EVENT_EXIT = 6,
+ PTRACE_EVENT_SECCOMP = 7
+};
+
+/* Arguments for PTRACE_PEEKSIGINFO. */
+struct __ptrace_peeksiginfo_args
+{
+ __uint64_t off; /* From which siginfo to start. */
+ __uint32_t flags; /* Flags for peeksiginfo. */
+ __int32_t nr; /* How many siginfos to take. */
+};
+
+enum __ptrace_peeksiginfo_flags
+{
+ /* Read signals from a shared (process wide) queue. */
+ PTRACE_PEEKSIGINFO_SHARED = (1 << 0)
};
/* Perform process tracing functions. REQUEST is one of the values
diff --git a/libc/sysdeps/linux/x86_64/crt1.S b/libc/sysdeps/linux/x86_64/crt1.S
index 52b564c..87777dd 100644
--- a/libc/sysdeps/linux/x86_64/crt1.S
+++ b/libc/sysdeps/linux/x86_64/crt1.S
@@ -54,7 +54,9 @@
...
NULL
*/
-
+#if defined NOT_IN_libc
+# error error in build framework
+#endif
#include <features.h>
.text
diff --git a/libm/Makefile.in b/libm/Makefile.in
index 23a55b3..7511706 100644
--- a/libm/Makefile.in
+++ b/libm/Makefile.in
@@ -220,8 +220,6 @@ endif
ifeq ($(UCLIBC_HAS_FPU),y)
ifeq ($(DO_C99_MATH),y)
ifneq ($(strip $(libm_ARCH_OBJS)),)
-CFLAGS-libm/$(TARGET_ARCH)/ := $(CFLAGS-libm)
-CFLAGS-libm/$(TARGET_ARCH)/$(TARGET_SUBARCH)/ := $(CFLAGS-libm)
# remove generic sources, if arch specific version is present
ifneq ($(strip $(libm_ARCH_SRC)),)
diff --git a/libm/metag/Makefile.arch b/libm/metag/Makefile.arch
index 4cc5a6b..bcae0e2 100644
--- a/libm/metag/Makefile.arch
+++ b/libm/metag/Makefile.arch
@@ -9,7 +9,7 @@ ifeq ($(UCLIBC_HAS_FENV),y)
ifeq ($(CONFIG_META_2_1),y)
libm_ARCH_SRC:=$(wildcard $(libm_ARCH_DIR)/*.c)
libm_ARCH_OBJ:=$(patsubst $(libm_ARCH_DIR)/%.c,$(libm_ARCH_OUT)/%.o,$(libm_ARCH_SRC))
-CFLAGS-libm += -Wa,-mfpu=metac21
+CFLAGS-y-libm/metag := -Wa,-mfpu=metac21
endif
endif
diff --git a/libm/powerpc/e500/fpu/Makefile.arch b/libm/powerpc/e500/fpu/Makefile.arch
index 1bb4f3a..904561e 100644
--- a/libm/powerpc/e500/fpu/Makefile.arch
+++ b/libm/powerpc/e500/fpu/Makefile.arch
@@ -11,8 +11,6 @@ libm_ARCH_SRC:=$(wildcard $(libm_ARCH_fpu_DIR)/*.c)
libm_ARCH_OBJ:=$(patsubst $(libm_ARCH_fpu_DIR)/%.c,$(libm_ARCH_fpu_OUT)/%.o,$(libm_ARCH_SRC))
endif
-CFLAGS-libm/$(TARGET_ARCH)/$(TARGET_SUBARCH)/fpu/ := $(CFLAGS-libm)
-
libm_ARCH_OBJS:=$(libm_ARCH_OBJ)
ifeq ($(DOPIC),y)
diff --git a/libpthread/linuxthreads.old/Makefile.in b/libpthread/linuxthreads.old/Makefile.in
index 48b273e..6be2099 100644
--- a/libpthread/linuxthreads.old/Makefile.in
+++ b/libpthread/linuxthreads.old/Makefile.in
@@ -9,9 +9,7 @@
subdirs += libpthread/linuxthreads.old
CFLAGS-dir_linuxthreads.old := -DNOT_IN_libc -DIS_IN_libpthread
-CFLAGS-linuxthreads.old := $(CFLAGS-dir_linuxthreads.old) $(SSP_ALL_CFLAGS)
-
-CFLAGS-libpthread/linuxthreads.old/sysdeps/$(TARGET_ARCH)/ := $(CFLAGS-linuxthreads.old)
+CFLAGS-libpthread/linuxthreads.old := $(CFLAGS-dir_linuxthreads.old) $(SSP_ALL_CFLAGS)
ifeq ($(PTHREADS_DEBUG_SUPPORT),y)
LDFLAGS-libpthread.so := $(LDFLAGS_NOSTRIP) -Wl,-z,defs
diff --git a/libpthread/linuxthreads.old_db/Makefile.in b/libpthread/linuxthreads.old_db/Makefile.in
index 8741eab..cf0ceb3 100644
--- a/libpthread/linuxthreads.old_db/Makefile.in
+++ b/libpthread/linuxthreads.old_db/Makefile.in
@@ -8,7 +8,7 @@
subdirs += libpthread/linuxthreads.old_db
# Get the thread include dependencies and shared object name
-CFLAGS-linuxthreads.old_db := -DNOT_IN_libc -DLIBPTHREAD_SO="\"libpthread.so.$(ABI_VERSION)\""
+CFLAGS-libpthread/linuxthreads.old_db := -DNOT_IN_libc -DLIBPTHREAD_SO="\"libpthread.so.$(ABI_VERSION)\""
LDFLAGS-libthread_db.so := $(LDFLAGS_NOSTRIP) $(if $(call check_ld,--warn-unresolved-symbols),-Wl$(comma)--warn-unresolved-symbols)
ifeq ($(DOSTRIP),y)
diff --git a/libpthread/linuxthreads/Makefile.in b/libpthread/linuxthreads/Makefile.in
index 697371b..4a499f7 100644
--- a/libpthread/linuxthreads/Makefile.in
+++ b/libpthread/linuxthreads/Makefile.in
@@ -11,11 +11,7 @@ subdirs += libpthread/linuxthreads/sysdeps/unix/sysv/linux
subdirs += libpthread/linuxthreads/sysdeps/pthread
CFLAGS-dir_linuxthreads := -DNOT_IN_libc -DIS_IN_libpthread
-CFLAGS-linuxthreads := $(CFLAGS-dir_linuxthreads) $(SSP_ALL_CFLAGS)
-
-CFLAGS-libpthread/linuxthreads/sysdeps/$(TARGET_ARCH)/ := $(CFLAGS-linuxthreads)
-CFLAGS-libpthread/linuxthreads/sysdeps/unix/sysv/linux/ := $(CFLAGS-linuxthreads)
-CFLAGS-libpthread/linuxthreads/sysdeps/pthread/ := $(CFLAGS-linuxthreads)
+CFLAGS-libpthread/linuxthreads := $(CFLAGS-dir_linuxthreads) $(SSP_ALL_CFLAGS)
# This stuff will not compile without at least -O1
# psm: can't handle this here, could maybe search for -O0 in CFLAGS
diff --git a/libpthread/linuxthreads_db/Makefile.in b/libpthread/linuxthreads_db/Makefile.in
index 060bea3..52cc7c8 100644
--- a/libpthread/linuxthreads_db/Makefile.in
+++ b/libpthread/linuxthreads_db/Makefile.in
@@ -8,7 +8,7 @@
subdirs += libpthread/linuxthreads_db
# Get the thread include dependencies and shared object name
-CFLAGS-linuxthreads_db := -DNOT_IN_libc -DLIBPTHREAD_SO="\"libpthread.so.$(ABI_VERSION)\""
+CFLAGS-libpthread/linuxthreads_db := -DNOT_IN_libc -DLIBPTHREAD_SO="\"libpthread.so.$(ABI_VERSION)\""
LDFLAGS-libthread_db.so := $(LDFLAGS_NOSTRIP) $(if $(call check_ld,--warn-unresolved-symbols),-Wl$(comma)--warn-unresolved-symbols)
ifeq ($(DOSTRIP),y)
diff --git a/libpthread/nptl/Makefile.in b/libpthread/nptl/Makefile.in
index 0008822..cdf07cf 100644
--- a/libpthread/nptl/Makefile.in
+++ b/libpthread/nptl/Makefile.in
@@ -92,19 +92,12 @@ $(top_builddir)lib/libpthread.a: $(libpthread-a-y)
$(Q)$(RM) $@
$(do_ar)
-#
-# Create 'pthread-errnos.h' header file.
-#
-CFLAGS-gen_pthread-errnos.c = -S
-
-$(libpthread_OUT)/gen_pthread-errnos.c: $(libpthread_DIR)/pthread-errnos.sym | $(libpthread_OUT)
- $(do_awk) $(top_srcdir)extra/scripts/gen-as-const.awk $< > $@
-
-$(libpthread_OUT)/gen_pthread-errnos.s: $(libpthread_OUT)/gen_pthread-errnos.c | headers
- $(compile.c)
-libpthread-generated-y += $(libpthread_OUT)/gen_pthread-errnos.s
-$(libpthread_OUT)/pthread-errnos.h: $(libpthread_OUT)/gen_pthread-errnos.s
- $(do_sed) $(PTHREAD_GENERATE_MANGLE) $< > $@
+$(libpthread_OUT)/pthread-errnos.h: $(top_srcdir)extra/scripts/gen-as-const.awk | headers
+$(libpthread_OUT)/pthread-errnos.h: $(libpthread_DIR)/pthread-errnos.sym
+ @$(disp_gen)
+ $(do_awk) $(top_srcdir)extra/scripts/gen-as-const.awk $< \
+ | $(CC) $(CFLAGS) -x c - -S -o - \
+ | $(SED) $(PTHREAD_GENERATE_MANGLE) > $@
@if test ! -s $@ ; then rm -f $@ ; false ; fi
pregen-headers-$(UCLIBC_HAS_THREADS_NATIVE) += $(libpthread_OUT)/pthread-errnos.h
@@ -132,7 +125,6 @@ headers_clean-y += HEADERCLEAN_libpthread/nptl
HEADERCLEAN_libpthread/nptl:
$(do_rm) $(nptl_headers_bootstrap) \
- $(addprefix $(libpthread_OUT)/gen_pthread-errnos., c s) \
$(libpthread_OUT)/pthread-errnos.h
CLEAN_libpthread/nptl:
@@ -149,7 +141,8 @@ LDFLAGS-libpthread.so += $(top_builddir)lib/$(UCLIBC_LDSO_NAME)-$(VERSION).so $(
LIBS-libpthread.so := $(LIBS)
-CFLAGS-nptl = -DNOT_IN_libc -DIS_IN_libpthread $(SSP_ALL_CFLAGS)
+CFLAGS-dir_nptl := -DNOT_IN_libc -DIS_IN_libpthread
+CFLAGS-libpthread/nptl := $(CFLAGS-dir_nptl) $(SSP_ALL_CFLAGS)
# Since cancellation handling is in large parts handled using exceptions
# we have to compile some files with exception handling enabled, some
@@ -220,7 +213,7 @@ CFLAGS-pthread_barrierattr_getpshared.c = -D_GNU_SOURCE
CFLAGS-pthread_barrierattr_setpshared.c = -D_GNU_SOURCE
CFLAGS-sem_open.c = -D_GNU_SOURCE
-CFLAGS-OMIT-alloca_cutoff.c = $(CFLAGS-nptl)
-CFLAGS-OMIT-forward.c = $(CFLAGS-nptl)
-CFLAGS-OMIT-libc-lowlevelock.c = $(CFLAGS-nptl)
-CFLAGS-OMIT-libc-cancellation.c = $(CFLAGS-nptl)
+CFLAGS-OMIT-alloca_cutoff.c = $(CFLAGS-dir_nptl)
+CFLAGS-OMIT-forward.c = $(CFLAGS-dir_nptl)
+CFLAGS-OMIT-libc-lowlevelock.c = $(CFLAGS-dir_nptl)
+CFLAGS-OMIT-libc-cancellation.c = $(CFLAGS-dir_nptl)
diff --git a/libpthread/nptl/sysdeps/Makefile.commonarch b/libpthread/nptl/sysdeps/Makefile.commonarch
index 8f5d61d..a5952a6 100644
--- a/libpthread/nptl/sysdeps/Makefile.commonarch
+++ b/libpthread/nptl/sysdeps/Makefile.commonarch
@@ -40,15 +40,12 @@ librt_arch_COBJ = $(patsubst %.c,$(libpthread_arch_OUT)/%.o,$(librt_arch_CSRC))
librt_arch_SOBJ = $(patsubst %.S,$(libpthread_arch_OUT)/%.o,$(librt_arch_SSRC))
librt_arch_OBJS = $(librt_arch_COBJ) $(librt_arch_SOBJ)
-CFLAGS-gen_tcb-offsets.c = -S
-$(libpthread_arch_OUT)/gen_tcb-offsets.c: $(libpthread_arch_DIR)/tcb-offsets.sym | $(libpthread_arch_OUT)
- $(do_awk) $(top_srcdir)extra/scripts/gen-as-const.awk $< > $@
-
-$(libpthread_arch_OUT)/gen_tcb-offsets.s: $(libpthread_arch_OUT)/gen_tcb-offsets.c | headers
- $(compile.c)
-libpthread-generated-y += $(libpthread_arch_OUT)/gen_tcb-offsets.s
-$(libpthread_arch_OUT)/tcb-offsets.h: $(libpthread_arch_OUT)/gen_tcb-offsets.s
- $(do_sed) $(PTHREAD_GENERATE_MANGLE) $< > $@
+$(libpthread_arch_OUT)/tcb-offsets.h: $(top_srcdir)extra/scripts/gen-as-const.awk | headers
+$(libpthread_arch_OUT)/tcb-offsets.h: $(libpthread_arch_DIR)/tcb-offsets.sym
+ @$(disp_gen)
+ $(do_awk) $(top_srcdir)extra/scripts/gen-as-const.awk $< \
+ | $(CC) $(CFLAGS) -x c - -S -o - \
+ | $(SED) $(PTHREAD_GENERATE_MANGLE) > $@
@if test ! -s $@ ; then rm -f $@ ; false ; fi
pregen-headers-$(UCLIBC_HAS_THREADS_NATIVE) += $(libpthread_arch_OUT)/tcb-offsets.h
@@ -59,8 +56,7 @@ headers_clean-y+= HEADERCLEAN_$(subst $(top_builddir),,$(libpthread_arch_OUT))
CLEAN_$(subst $(top_builddir),,$(libpthread_arch_OUT)):
$(do_rm) $(addprefix $(libpthread_arch_OUT)/*., o os oS)
HEADERCLEAN_$(subst $(top_builddir),,$(libpthread_arch_OUT)):
- $(do_rm) $(libpthread_arch_OUT)/tcb-offsets.h \
- $(addprefix $(libpthread_arch_OUT)/gen_tcb-offsets., c h s)
+ $(do_rm) $(libpthread_arch_OUT)/tcb-offsets.h
ifneq ($(TARGET_SUBARCH),)
objclean-y += CLEAN_$(subst $(top_builddir),,$(libpthread_subarch_OUT))
CLEAN_$(subst $(top_builddir),,$(libpthread_subarch_OUT)):
diff --git a/libpthread/nptl/sysdeps/arc/Makefile.arch b/libpthread/nptl/sysdeps/arc/Makefile.arch
index 1c72884..08ec7e7 100644
--- a/libpthread/nptl/sysdeps/arc/Makefile.arch
+++ b/libpthread/nptl/sysdeps/arc/Makefile.arch
@@ -5,9 +5,4 @@
# Licensed under the LGPL v2.1 or later, see the file COPYING.LIB in this tarball.
#
-CFLAGS-pt-raise.c = -DNOT_IN_libc -DIS_IN_libpthread
-
-ASFLAGS-pthread_spin_lock.S = -DNOT_IN_libc -DIS_IN_libpthread
-ASFLAGS-pthread_spin_trylock.S = -DNOT_IN_libc -DIS_IN_libpthread
-
libc_arch_a_CSRC = libc-tls.c
diff --git a/libpthread/nptl/sysdeps/arm/Makefile.arch b/libpthread/nptl/sysdeps/arm/Makefile.arch
index fbe4975..62a2822 100644
--- a/libpthread/nptl/sysdeps/arm/Makefile.arch
+++ b/libpthread/nptl/sysdeps/arm/Makefile.arch
@@ -7,11 +7,4 @@
#
librt_arch_SSRC = aeabi_read_tp.S thumb_atomics.S
-
-CFLAGS-pt-raise.c = -DNOT_IN_libc -DIS_IN_libpthread
-
-ASFLAGS-pthread_spin_lock.S = -DNOT_IN_libc -DIS_IN_libpthread
-ASFLAGS-pthread_spin_trylock.S = -DNOT_IN_libc -DIS_IN_libpthread
-ASFLAGS-aeabi_read_tp.S = -DNOT_IN_libc=1
-
libc_arch_a_CSRC = libc-tls.c
diff --git a/libpthread/nptl/sysdeps/metag/Makefile.arch b/libpthread/nptl/sysdeps/metag/Makefile.arch
index 0a42e68..ed5b52c 100644
--- a/libpthread/nptl/sysdeps/metag/Makefile.arch
+++ b/libpthread/nptl/sysdeps/metag/Makefile.arch
@@ -5,13 +5,6 @@
# Licensed under the LGPL v2.1 or later, see the file COPYING.LIB in this tarball.
#
-CFLAGS-pthread_spin_init.c = -DNOT_IN_libc -DIS_IN_libpthread
-ASFLAGS-pthread_spin_lock.S = -DNOT_IN_libc -DIS_IN_libpthread
-ASFLAGS-pthread_spin_unlock.S = -DNOT_IN_libc -DIS_IN_libpthread
-ASFLAGS-pthread_spin_trylock.S = -DNOT_IN_libc -DIS_IN_libpthread
-
ASFLAGS-pthread_spin_lock.c += -D_GNU_SOURCE
-CFLAGS-metag = $(SSP_ALL_CFLAGS)
-
libc_arch_a_CSRC := libc-tls.c
diff --git a/libpthread/nptl/sysdeps/mips/Makefile.arch b/libpthread/nptl/sysdeps/mips/Makefile.arch
index 2762a2f..10f8abf 100644
--- a/libpthread/nptl/sysdeps/mips/Makefile.arch
+++ b/libpthread/nptl/sysdeps/mips/Makefile.arch
@@ -5,13 +5,7 @@
# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
#
-CFLAGS-pt-raise.c = -DNOT_IN_libc -DIS_IN_libpthread
-
-ASFLAGS-pthread_spin_lock.S = -DNOT_IN_libc -DIS_IN_libpthread
-ASFLAGS-pthread_spin_trylock.S = -DNOT_IN_libc -DIS_IN_libpthread
-ASFLAGS-nptl-sysdep.S = -DNOT_IN_libc -DIS_IN_libpthread \
- -D_LIBC_REENTRANT \
- -I$(top_srcdir)libc/sysdeps/linux/mips
+ASFLAGS-nptl-sysdep.S = -I$(top_srcdir)libc/sysdeps/linux/mips
libc_arch_a_CSRC = libc-tls.c
diff --git a/libpthread/nptl/sysdeps/pthread/Makefile.in b/libpthread/nptl/sysdeps/pthread/Makefile.in
index add3a8e..84adfe0 100644
--- a/libpthread/nptl/sysdeps/pthread/Makefile.in
+++ b/libpthread/nptl/sysdeps/pthread/Makefile.in
@@ -34,7 +34,7 @@ libpthread_pthread_CSRC = \
pthread_spin_unlock.c \
pt-longjmp.c \
tpp.c
-CFLAGS-pthread = $(SSP_ALL_CFLAGS) -DNOT_IN_libc -DIS_IN_libpthread
+
CFLAGS-pthread_barrier_wait.c = -D_GNU_SOURCE
CFLAGS-pthread_spin_destroy.c = -D_GNU_SOURCE
CFLAGS-pthread_spin_init.c = -D_GNU_SOURCE
@@ -54,7 +54,7 @@ librt-pt-routines-y = librt-cancellation.c
librt-pt-shared-only-routines-y = rt-unwind-resume.c
ifeq ($(UCLIBC_CTOR_DTOR),y)
-CFLAGS-OMIT-pt-initfini.c = $(CFLAGS-pthread)
+CFLAGS-OMIT-pt-initfini.c = $(CFLAGS-y-libpthread/nptl/sysdeps/pthread)
CFLAGS-pt-initfini.c = -S -g0 $(PICFLAG) -fno-inline-functions \
$(call check_gcc,-fno-unit-at-a-time,) \
$(SSP_DISABLE_FLAGS) \
diff --git a/libpthread/nptl/sysdeps/sh/Makefile.arch b/libpthread/nptl/sysdeps/sh/Makefile.arch
index 411622a..b50dd51 100644
--- a/libpthread/nptl/sysdeps/sh/Makefile.arch
+++ b/libpthread/nptl/sysdeps/sh/Makefile.arch
@@ -5,9 +5,6 @@
# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
#
-ASFLAGS-pthread_spin_unlock.S = -DNOT_IN_libc -DIS_IN_libpthread
-ASFLAGS-pthread_spin_trylock.S = -DNOT_IN_libc -DIS_IN_libpthread
-
CFLAGS-pthread_spin_lock.c += -D_GNU_SOURCE
libc_arch_a_CSRC := libc-tls.c
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/Makefile.commonarch b/libpthread/nptl/sysdeps/unix/sysv/linux/Makefile.commonarch
index 3372214..e4a5fc5 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/Makefile.commonarch
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/Makefile.commonarch
@@ -122,73 +122,27 @@ headers_clean-y += HEADERCLEAN_libpthread/nptl/sysdeps/unix/sysv/linux
CFLAGS-pthread_getcpuclockid.c = -I$(top_srcdir)librt
CFLAGS-pt-pread_pwrite.c = -I$(top_srcdir)libc/sysdeps/linux/$(TARGET_ARCH) \
-I$(top_srcdir)libc/sysdeps/linux/common
-CFLAGS-mq_notify.c = -I$(top_srcdir)librt -DIS_IN_librt
-CFLAGS-timer_create.c = -I$(top_srcdir)librt -DIS_IN_librt
-CFLAGS-timer_delete.c = -I$(top_srcdir)librt -DIS_IN_librt
-CFLAGS-timer_getoverr.c = -I$(top_srcdir)librt -DIS_IN_librt
-CFLAGS-timer_gettime.c = -I$(top_srcdir)librt -DIS_IN_librt
-CFLAGS-timer_routines.c = -I$(top_srcdir)librt -DIS_IN_librt
-CFLAGS-timer_settime.c = -I$(top_srcdir)librt -DIS_IN_librt
+CFLAGS-mq_notify.c = -I$(top_srcdir)librt
+CFLAGS-timer_create.c = -I$(top_srcdir)librt
+CFLAGS-timer_delete.c = -I$(top_srcdir)librt
+CFLAGS-timer_getoverr.c = -I$(top_srcdir)librt
+CFLAGS-timer_gettime.c = -I$(top_srcdir)librt
+CFLAGS-timer_routines.c = -I$(top_srcdir)librt
+CFLAGS-timer_settime.c = -I$(top_srcdir)librt
ifneq ($(UCLIBC_HAS_BACKTRACE),)
CFLAGS-raise.c = -fasynchronous-unwind-tables
endif
-CFLAGS-linux = -DNOT_IN_libc -DIS_IN_libpthread $(SSP_ALL_CFLAGS)
-
-CFLAGS-OMIT-libc_pthread_init.c = -DNOT_IN_libc -DIS_IN_libpthread
-CFLAGS-OMIT-libc_multiple_threads.c = -DNOT_IN_libc -DIS_IN_libpthread
-CFLAGS-OMIT-register-atfork.c = -DNOT_IN_libc -DIS_IN_libpthread
-CFLAGS-OMIT-unregister-atfork.c = -DNOT_IN_libc -DIS_IN_libpthread
-CFLAGS-OMIT-getpid.c = -DNOT_IN_libc -DIS_IN_libpthread
-CFLAGS-OMIT-raise.c = -DNOT_IN_libc -DIS_IN_libpthread
-CFLAGS-OMIT-sleep.c = -DNOT_IN_libc -DIS_IN_libpthread
-CFLAGS-OMIT-jmp-unwind.c = -DNOT_IN_libc -DIS_IN_libpthread
-CFLAGS-OMIT-libc-lowlevellock.c = -DNOT_IN_libc -DIS_IN_libpthread
-
-#CFLAGS-OMIT-close.S = -DNOT_IN_libc -DIS_IN_libpthread
-#CFLAGS-OMIT-open.S = -DNOT_IN_libc -DIS_IN_libpthread
-#CFLAGS-OMIT-read.S = -DNOT_IN_libc -DIS_IN_libpthread
-#CFLAGS-OMIT-write.S = -DNOT_IN_libc -DIS_IN_libpthread
-#CFLAGS-OMIT-waitpid.S = -DNOT_IN_libc -DIS_IN_libpthread
-
-CFLAGS-OMIT-mq_notify.c = -DIS_IN_libpthread
-CFLAGS-OMIT-timer_create.c = -DIS_IN_libpthread
-CFLAGS-OMIT-timer_delete.c = -DIS_IN_libpthread
-CFLAGS-OMIT-timer_getoverr.c = -DIS_IN_libpthread
-CFLAGS-OMIT-timer_gettime.c = -DIS_IN_libpthread
-CFLAGS-OMIT-timer_routines.c = -DIS_IN_libpthread
-CFLAGS-OMIT-timer_settime.c = -DIS_IN_libpthread
-
-#ASFLAGS-open.S = -D_LIBC_REENTRANT
-#ASFLAGS-close.S = -D_LIBC_REENTRANT
-#ASFLAGS-read.S = -D_LIBC_REENTRANT
-#ASFLAGS-write.S = -D_LIBC_REENTRANT
-#ASFLAGS-waitpid.S = -D_LIBC_REENTRANT
-
-#
-# Create header files.
-#
-CFLAGS-gen_lowlevelbarrier.c = -S
-CFLAGS-gen_lowlevelcond.c = -S
-CFLAGS-gen_lowlevelrobustlock.c = -S
-CFLAGS-gen_lowlevelrwlock.c = -S
-CFLAGS-gen_pthread-pi-defines.c = -S
-CFLAGS-gen_structsem.c = -S
-CFLAGS-gen_unwindbuf.c = -S
-
PTHREAD_LINUX_SYM := $(notdir $(wildcard $(libpthread_linux_DIR)/*.sym))
-PTHREAD_LINUX_SYM_C := $(addprefix $(libpthread_linux_OUT)/gen_,$(PTHREAD_LINUX_SYM:.sym=.c))
-PTHREAD_LINUX_SYM_S := $(PTHREAD_LINUX_SYM_C:.c=.s)
PTHREAD_LINUX_SYM_H := $(addprefix $(libpthread_linux_OUT)/,$(PTHREAD_LINUX_SYM:.sym=.h))
-$(PTHREAD_LINUX_SYM_C): $(libpthread_linux_OUT)/gen_%.c: $(libpthread_linux_DIR)/%.sym | $(libpthread_linux_OUT)
- $(do_awk) $(top_srcdir)extra/scripts/gen-as-const.awk $< > $@
-$(PTHREAD_LINUX_SYM_S): $(libpthread_linux_OUT)/gen_%.s: $(libpthread_linux_OUT)/gen_%.c | headers
- $(compile.c)
-libpthread-generated-y += $(PTHREAD_LINUX_SYM_S)
-$(PTHREAD_LINUX_SYM_H): $(libpthread_linux_OUT)/%.h: $(libpthread_linux_OUT)/gen_%.s
- $(do_sed) $(PTHREAD_GENERATE_MANGLE) $< > $@
+$(PTHREAD_LINUX_SYM_H): $(top_srcdir)extra/scripts/gen-as-const.awk | headers
+$(PTHREAD_LINUX_SYM_H): $(libpthread_linux_OUT)/%.h: $(libpthread_linux_DIR)/%.sym
+ @$(disp_gen)
+ $(do_awk) $(top_srcdir)extra/scripts/gen-as-const.awk $< \
+ | $(CC) $(CFLAGS) -x c - -S -o - \
+ | $(SED) $(PTHREAD_GENERATE_MANGLE) > $@
@if test ! -s $@ ; then rm -f $@ ; false ; fi
pregen-headers-$(UCLIBC_HAS_THREADS_NATIVE) += $(PTHREAD_LINUX_SYM_H)
@@ -200,8 +154,7 @@ $(ALL_HEADERS_BITS_PTHREAD): $(top_builddir)include/bits/%: | $(top_builddir)inc
$(do_ln) $(call rel_srcdir)$(libpthread_linux_DIR)/bits/$(@F) $@
HEADERCLEAN_libpthread/nptl/sysdeps/unix/sysv/linux:
- $(do_rm) $(PTHREAD_LINUX_SYM_C) $(PTHREAD_LINUX_SYM_S) \
- $(PTHREAD_LINUX_SYM_H)
+ $(do_rm) $(PTHREAD_LINUX_SYM_H)
CLEAN_libpthread/nptl/sysdeps/unix/sysv/linux:
$(do_rm) $(addprefix $(libpthread_linux_OUT)/*., o os oS)
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/arc/Makefile.arch b/libpthread/nptl/sysdeps/unix/sysv/linux/arc/Makefile.arch
index 25e6fad..8e3c7b0 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/arc/Makefile.arch
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/arc/Makefile.arch
@@ -13,20 +13,3 @@ libc_linux_arch_CSRC = fork.c libc-lowlevellock.c
libc_linux_arch_SSRC = clone.S vfork.S
libc_linux_arch_SSRC-OMIT = waitpid.S
-CFLAGS-pthread_once.c = -DNOT_IN_libc -DIS_IN_libpthread
-CFLAGS-pt-__syscall_rt_sigaction.c = -DNOT_IN_libc -DIS_IN_libpthread
-CFLAGS-lowlevellock.c = -DNOT_IN_libc -DIS_IN_libpthread
-CFLAGS-pt-__syscall_error.c = -DNOT_IN_libc -DIS_IN_libpthread
-ASFLAGS-pt-vfork.S = -DNOT_IN_libc -DIS_IN_libpthread
-
-ASFLAGS-vfork.S = -DIS_IN_libc -DNOT_IN_libpthread
-ASFLAGS-clone.S = -DIS_IN_libc -DNOT_IN_libpthread
-
-ifeq ($(UCLIBC_HAS_STDIO_FUTEXES),y)
-CFLAGS-fork.c = -D__USE_STDIO_FUTEXES__
-endif
-CFLAGS-OMIT-fork.c = -DNOT_IN_libc -DIS_IN_libpthread
-CFLAGS-OMIT-libc-lowlevellock.c = -DNOT_IN_libc -DIS_IN_libpthread
-# We always compile it in arm mode because of SAVE_PID macro
-# This macro should be alternatively implemented in THUMB
-# assembly.
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/arm/Makefile.arch b/libpthread/nptl/sysdeps/unix/sysv/linux/arm/Makefile.arch
index 329d8a9..c8d5d4a 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/arm/Makefile.arch
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/arm/Makefile.arch
@@ -14,18 +14,6 @@ libc_linux_arch_CSRC = fork.c libc-lowlevellock.c
libc_linux_arch_SSRC = clone.S vfork.S
libc_linux_arch_SSRC-OMIT = waitpid.S
-
-CFLAGS-pthread_once.c = -DNOT_IN_libc -DIS_IN_libpthread
-CFLAGS-pt-__syscall_rt_sigaction.c = -DNOT_IN_libc -DIS_IN_libpthread
-CFLAGS-lowlevellock.c = -DNOT_IN_libc -DIS_IN_libpthread
-CFLAGS-pt-__syscall_error.c = -DNOT_IN_libc -DIS_IN_libpthread
-ASFLAGS-pt-vfork.S = -DNOT_IN_libc -DIS_IN_libpthread -marm
-
-ifeq ($(UCLIBC_HAS_STDIO_FUTEXES),y)
-CFLAGS-fork.c = -D__USE_STDIO_FUTEXES__
-endif
-CFLAGS-OMIT-fork.c = -DNOT_IN_libc -DIS_IN_libpthread
-CFLAGS-OMIT-libc-lowlevellock.c = -DNOT_IN_libc -DIS_IN_libpthread
# We always compile it in arm mode because of SAVE_PID macro
# This macro should be alternatively implemented in THUMB
# assembly.
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/i386/Makefile.arch b/libpthread/nptl/sysdeps/unix/sysv/linux/i386/Makefile.arch
index 9a34595..fff0dae 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/i386/Makefile.arch
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/i386/Makefile.arch
@@ -13,17 +13,3 @@ libc_linux_arch_SSRC = clone.S vfork.S
ASFLAGS += -DUSE___THREAD
-CFLAGS-pt-__syscall_error.c = -DNOT_IN_libc -DIS_IN_libpthread
-ASFLAGS-pt-vfork.S = -DNOT_IN_libc -DIS_IN_libpthread -D_LIBC_REENTRANT
-ASFLAGS-lowlevellock.S = -DNOT_IN_libc -DIS_IN_libpthread -D_LIBC_REENTRANT
-ASFLAGS-lowlevelrobustlock.S = -DNOT_IN_libc -DIS_IN_libpthread -D_LIBC_REENTRANT
-ASFLAGS-pthread_once.S = -DNOT_IN_libc -DIS_IN_libpthread -D_LIBC_REENTRANT
-ASFLAGS-pthread_spin_unlock.S = -DNOT_IN_libc -DIS_IN_libpthread -D_LIBC_REENTRANT
-
-ASFLAGS-clone.S = -D_LIBC_REENTRANT
-ASFLAGS-vfork.S = -D_LIBC_REENTRANT
-ASFLAGS-libc-lowlevellock.S = -D_LIBC_REENTRANT
-ifeq ($(UCLIBC_HAS_STDIO_FUTEXES),y)
-CFLAGS-fork.c = -D__USE_STDIO_FUTEXES__
-endif
-CFLAGS-OMIT-fork.c = -DNOT_IN_libc -DIS_IN_libpthread
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/metag/Makefile.arch b/libpthread/nptl/sysdeps/unix/sysv/linux/metag/Makefile.arch
index df98875..4d02d0c 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/metag/Makefile.arch
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/metag/Makefile.arch
@@ -16,16 +16,3 @@ libc_linux_arch_SSRC-OMIT = waitpid.S
CFLAGS += $(SSP_ALL_CFLAGS)
-CFLAGS-pthread_once.c = -DNOT_IN_libc -DIS_IN_libpthread
-CFLAGS-pt-__syscall_rt_sigaction.c = -DNOT_IN_libc -DIS_IN_libpthread
-CFLAGS-lowlevellock.c = -DNOT_IN_libc -DIS_IN_libpthread
-CFLAGS-pt-__syscall_error.c = -DNOT_IN_libc -DIS_IN_libpthread
-ASFLAGS-vfork.S = -DIS_IN_libc -DNOT_IN_libpthread
-ASFLAGS-clone.S = -DIS_IN_libc -DNOT_IN_libpthread
-ASFLAGS-pt-vfork.S = -DNOT_IN_libc -DIS_IN_libpthread
-
-ifeq ($(UCLIBC_HAS_STDIO_FUTEXES),y)
-CFLAGS-fork.c = -D__USE_STDIO_FUTEXES__
-endif
-CFLAGS-OMIT-fork.c = -DNOT_IN_libc -DIS_IN_libpthread
-CFLAGS-OMIT-libc-lowlevellock.c = -DNOT_IN_libc -DIS_IN_libpthread
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/mips/Makefile.arch b/libpthread/nptl/sysdeps/unix/sysv/linux/mips/Makefile.arch
index fc26a8e..4a3d0f2 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/mips/Makefile.arch
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/mips/Makefile.arch
@@ -15,13 +15,3 @@ libc_linux_arch_SSRC-OMIT = waitpid.S
endif
ASFLAGS += -DUSE___THREAD
-CFLAGS-OMIT-fork.c = -DNOT_IN_libc -DIS_IN_libpthread
-ifeq ($(UCLIBC_HAS_STDIO_FUTEXES),y)
-CFLAGS-fork.c = -D__USE_STDIO_FUTEXES__
-endif
-CFLAGS-pthread_once.c = -DNOT_IN_libc -DIS_IN_libpthread
-CFLAGS-pt-__syscall_rt_sigaction.c = -DNOT_IN_libc -DIS_IN_libpthread
-ASFLAGS-pt-vfork.S = -DNOT_IN_libc -DIS_IN_libpthread
-
-ASFLAGS-clone.S = -D_LIBC_REENTRANT
-ASFLAGS-vfork.S = -D_LIBC_REENTRANT
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/Makefile.arch b/libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/Makefile.arch
index 8581aea..21b9b72 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/Makefile.arch
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/Makefile.arch
@@ -16,15 +16,3 @@ librt_linux_arch_CSRC = pt-__syscall_error.c
ASFLAGS += -DUSE___THREAD
-CFLAGS-pthread_once.c = -DNOT_IN_libc -DIS_IN_libpthread
-CFLAGS-lowlevellock.c = -DNOT_IN_libc -DIS_IN_libpthread
-CFLAGS-pt-__syscall_error.c = -DNOT_IN_libc -DIS_IN_libpthread
-ASFLAGS-pt-vfork.S = -DNOT_IN_libc -DIS_IN_libpthread -D_LIBC_REENTRANT
-#ASFLAGS-lowlevellock.S = -DNOT_IN_libc -DIS_IN_libpthread -D_LIBC_REENTRANT
-
-#ASFLAGS-libc-lowlevellock.S = -D_LIBC_REENTRANT
-ASFLAGS-clone.S = -D_LIBC_REENTRANT
-ASFLAGS-vfork.S = -D_LIBC_REENTRANT
-ifeq ($(UCLIBC_HAS_STDIO_FUTEXES),y)
-CFLAGS-fork.c = -D__USE_STDIO_FUTEXES__
-endif
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/sh/Makefile.arch b/libpthread/nptl/sysdeps/unix/sysv/linux/sh/Makefile.arch
index a8249e0..154dd6e 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/sh/Makefile.arch
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/sh/Makefile.arch
@@ -17,30 +17,3 @@ libc_linux_arch_SSRC = libc-lowlevellock.S clone.S vfork.S
ASFLAGS += -DUSE___THREAD
-ASFLAGS-pt-vfork.S = -DNOT_IN_libc -DIS_IN_libpthread -D_LIBC_REENTRANT
-ASFLAGS-pthread_once.S = -D_LIBC_REENTRANT
-ASFLAGS-pthread_rwlock_wrlock.S = -D_LIBC_REENTRANT
-ASFLAGS-pthread_rwlock_rdlock.S = -D_LIBC_REENTRANT
-ASFLAGS-pthread_rwlock_unlock.S = -D_LIBC_REENTRANT
-ASFLAGS-pthread_barrier_wait.S = -D_LIBC_REENTRANT
-ASFLAGS-pthread_cond_broadcast.S = -D_LIBC_REENTRANT
-ASFLAGS-pthread_cond_signal.S = -D_LIBC_REENTRANT
-ASFLAGS-pthread_cond_wait.S = -D_LIBC_REENTRANT
-ASFLAGS-pthread_cond_timedwait.S = -D_LIBC_REENTRANT
-ASFLAGS-pthread_rwlock_timedwrlock.S = -D_LIBC_REENTRANT
-ASFLAGS-pthread_rwlock_timedrdlock.S = -D_LIBC_REENTRANT
-ASFLAGS-sem_post.S = -D_LIBC_REENTRANT
-ASFLAGS-sem_timedwait.S = -D_LIBC_REENTRANT
-ASFLAGS-sem_trywait.S = -D_LIBC_REENTRANT
-ASFLAGS-sem_wait.S = -D_LIBC_REENTRANT
-
-ASFLAGS-libc-lowlevellock.S = -D_LIBC_REENTRANT
-
-ASFLAGS-lowlevellock.S = -DNOT_IN_libc -DIS_IN_libpthread -D_LIBC_REENTRANT
-ASFLAGS-lowlevelrobustlock.S = -DNOT_IN_libc -DIS_IN_libpthread -D_LIBC_REENTRANT
-
-ASFLAGS-clone.S = -D_LIBC_REENTRANT
-ASFLAGS-vfork.S = -D_LIBC_REENTRANT
-ifeq ($(UCLIBC_HAS_STDIO_FUTEXES),y)
-CFLAGS-fork.c = -D__USE_STDIO_FUTEXES__
-endif
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/sparc/Makefile.arch b/libpthread/nptl/sysdeps/unix/sysv/linux/sparc/Makefile.arch
index 102c0da..2b2b5f5 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/sparc/Makefile.arch
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/sparc/Makefile.arch
@@ -17,15 +17,3 @@ librt_linux_arch_CSRC = pt-__syscall_error.c
ASFLAGS += -DUSE___THREAD
-ASFLAGS-pt-vfork.S = -DNOT_IN_libc -DIS_IN_libpthread -D_LIBC_REENTRANT
-CFLAGS-pthread_once.c = -DNOT_IN_libc -DIS_IN_libpthread
-CFLAGS-lowlevellock.c = -DNOT_IN_libc -DIS_IN_libpthread
-CFLAGS-pt-__syscall_error.c = -DNOT_IN_libc -DIS_IN_libpthread
-
-ASFLAGS-clone.S = -D_LIBC_REENTRANT
-ASFLAGS-vfork.S = -D_LIBC_REENTRANT
-ifeq ($(UCLIBC_HAS_STDIO_FUTEXES),y)
-CFLAGS-fork.c = -D__USE_STDIO_FUTEXES__
-endif
-CFLAGS-OMIT-fork.c = -DNOT_IN_libc -DIS_IN_libpthread
-CFLAGS-OMIT-libc-lowlevellock.c = -DNOT_IN_libc -DIS_IN_libpthread
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 71df986..ebd5060 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/Makefile.arch
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/Makefile.arch
@@ -20,19 +20,3 @@ librt_linux_arch_SSRC = librt-cancellation.S
ASFLAGS += -DUSE___THREAD
-CFLAGS-pt-__syscall_error.c = -DNOT_IN_libc -DIS_IN_libpthread
-ASFLAGS-pt-vfork.S = -DNOT_IN_libc -DIS_IN_libpthread -D_LIBC_REENTRANT
-ASFLAGS-lowlevellock.S = -DNOT_IN_libc -DIS_IN_libpthread -D_LIBC_REENTRANT
-ASFLAGS-pthread_once.S = -DNOT_IN_libc -DIS_IN_libpthread -D_LIBC_REENTRANT
-ASFLAGS-cancellation.S = -DNOT_IN_libc -DIS_IN_libpthread -D_LIBC_REENTRANT
-ASFLAGS-pthread_cond_timedwait.S = -D_LIBC_REENTRANT
-ASFLAGS-pthread_cond_wait.S = -D_LIBC_REENTRANT
-
-ASFLAGS-clone.S = -D_LIBC_REENTRANT
-ASFLAGS-vfork.S = -D_LIBC_REENTRANT
-ASFLAGS-libc-lowlevellock.S = -D_LIBC_REENTRANT
-ASFLAGS-libc-cancellation.S = -D_LIBC_REENTRANT
-ifeq ($(UCLIBC_HAS_STDIO_FUTEXES),y)
-CFLAGS-fork.c = -D__USE_STDIO_FUTEXES__
-endif
-CFLAGS-OMIT-fork.c = -DNOT_IN_libc -DIS_IN_libpthread
diff --git a/libpthread/nptl_db/Makefile.in b/libpthread/nptl_db/Makefile.in
index b158529..76102e6 100644
--- a/libpthread/nptl_db/Makefile.in
+++ b/libpthread/nptl_db/Makefile.in
@@ -8,9 +8,11 @@
subdirs += libpthread/nptl_db
# Get the thread include dependencies and shared object name
-CFLAGS-nptl_db := -DLIBPTHREAD_SO="\"libpthread.so.$(ABI_VERSION)\""
-CFLAGS-nptl_db += -I$(top_srcdir)libpthread/nptl -D_GNU_SOURCE
-CFLAGS-nptl_db += -DIS_IN_libthread_db=1 -DNOT_IN_libc -std=gnu99 -I$(top_srcdir)ldso/include
+CFLAGS-libpthread/nptl_db := -DNOT_IN_libc \
+ -DLIBPTHREAD_SO="\"libpthread.so.$(ABI_VERSION)\"" \
+ -std=gnu99 -D_GNU_SOURCE \
+ -I$(top_srcdir)libpthread/nptl \
+ -I$(top_srcdir)ldso/include
LDFLAGS-libthread_db.so := $(LDFLAGS_NOSTRIP) $(if $(call check_ld,--warn-unresolved-symbols),-Wl$(comma)--warn-unresolved-symbols)
LIBS-libthread_db.so := $(LIBS)
diff --git a/libubacktrace/Makefile.in b/libubacktrace/Makefile.in
index 1cd5f83..311f1e3 100644
--- a/libubacktrace/Makefile.in
+++ b/libubacktrace/Makefile.in
@@ -37,11 +37,6 @@ endif
# -fasynchronous-unwind-tables is required for backtrace to work using dwarf2
CFLAGS-backtrace.c := -fasynchronous-unwind-tables
-# pass common flags to arch dirs
-ifneq ($(strip $(libubacktrace_ARCH_OBJS)),)
-CFLAGS-libubacktrace/$(TARGET_ARCH)/ := $(CFLAGS-libubacktrace)
-endif
-
libubacktrace_SRCS := $(patsubst %.c,$(libubacktrace_DIR)/%.c,$(libubacktrace_SRC-y))
libubacktrace_OBJS := $(patsubst $(libubacktrace_DIR)/%.c,$(libubacktrace_OUT)/%.o,$(libubacktrace_SRCS))
hooks/post-receive
--
uClibc-ng - small C library for embedded systems
1
0
Update sys/ptrace.h to latest glibc release for a lot of missing
definitions.
Signed-off-by: Gustavo Zacarias <gustavo(a)zacarias.com.ar>
---
libc/sysdeps/linux/powerpc/sys/ptrace.h | 93 ++++++++++++++++++++++++++++++++-
1 file changed, 91 insertions(+), 2 deletions(-)
diff --git a/libc/sysdeps/linux/powerpc/sys/ptrace.h b/libc/sysdeps/linux/powerpc/sys/ptrace.h
index 02c303c..dd81efc 100644
--- a/libc/sysdeps/linux/powerpc/sys/ptrace.h
+++ b/libc/sysdeps/linux/powerpc/sys/ptrace.h
@@ -1,5 +1,5 @@
/* `ptrace' debugger support interface. Linux version.
- Copyright (C) 2001 Free Software Foundation, Inc.
+ Copyright (C) 2001-2014 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
@@ -20,6 +20,7 @@
#define _SYS_PTRACE_H 1
#include <features.h>
+#include <bits/types.h>
__BEGIN_DECLS
@@ -78,8 +79,96 @@ enum __ptrace_request
#define PT_DETACH PTRACE_DETACH
/* Continue and stop at the next (return from) syscall. */
- PTRACE_SYSCALL = 24
+ PTRACE_SYSCALL = 24,
#define PT_SYSCALL PTRACE_SYSCALL
+
+ /* Set ptrace filter options. */
+ PTRACE_SETOPTIONS = 0x4200,
+#define PT_SETOPTIONS PTRACE_SETOPTIONS
+
+ /* Get last ptrace message. */
+ PTRACE_GETEVENTMSG = 0x4201,
+#define PT_GETEVENTMSG PTRACE_GETEVENTMSG
+
+ /* Get siginfo for process. */
+ PTRACE_GETSIGINFO = 0x4202,
+#define PT_GETSIGINFO PTRACE_GETSIGINFO
+
+ /* Set new siginfo for process. */
+ PTRACE_SETSIGINFO = 0x4203,
+#define PT_SETSIGINFO PTRACE_SETSIGINFO
+
+ /* Get register content. */
+ PTRACE_GETREGSET = 0x4204,
+#define PTRACE_GETREGSET PTRACE_GETREGSET
+
+ /* Set register content. */
+ PTRACE_SETREGSET = 0x4205,
+#define PTRACE_SETREGSET PTRACE_SETREGSET
+
+ /* Like PTRACE_ATTACH, but do not force tracee to trap and do not affect
+ signal or group stop state. */
+ PTRACE_SEIZE = 0x4206,
+#define PTRACE_SEIZE PTRACE_SEIZE
+
+ /* Trap seized tracee. */
+ PTRACE_INTERRUPT = 0x4207,
+#define PTRACE_INTERRUPT PTRACE_INTERRUPT
+
+ /* Wait for next group event. */
+ PTRACE_LISTEN = 0x4208,
+#define PTRACE_LISTEN PTRACE_LISTEN
+
+ PTRACE_PEEKSIGINFO = 0x4209
+#define PTRACE_PEEKSIGINFO PTRACE_PEEKSIGINFO
+};
+
+
+/* Flag for PTRACE_LISTEN. */
+enum __ptrace_flags
+{
+ PTRACE_SEIZE_DEVEL = 0x80000000
+};
+
+/* Options set using PTRACE_SETOPTIONS. */
+enum __ptrace_setoptions
+{
+ PTRACE_O_TRACESYSGOOD = 0x00000001,
+ PTRACE_O_TRACEFORK = 0x00000002,
+ PTRACE_O_TRACEVFORK = 0x00000004,
+ PTRACE_O_TRACECLONE = 0x00000008,
+ PTRACE_O_TRACEEXEC = 0x00000010,
+ PTRACE_O_TRACEVFORKDONE = 0x00000020,
+ PTRACE_O_TRACEEXIT = 0x00000040,
+ PTRACE_O_TRACESECCOMP = 0x00000080,
+ PTRACE_O_EXITKILL = 0x00100000,
+ PTRACE_O_MASK = 0x001000ff
+};
+
+/* Wait extended result codes for the above trace options. */
+enum __ptrace_eventcodes
+{
+ PTRACE_EVENT_FORK = 1,
+ PTRACE_EVENT_VFORK = 2,
+ PTRACE_EVENT_CLONE = 3,
+ PTRACE_EVENT_EXEC = 4,
+ PTRACE_EVENT_VFORK_DONE = 5,
+ PTRACE_EVENT_EXIT = 6,
+ PTRACE_EVENT_SECCOMP = 7
+};
+
+/* Arguments for PTRACE_PEEKSIGINFO. */
+struct __ptrace_peeksiginfo_args
+{
+ __uint64_t off; /* From which siginfo to start. */
+ __uint32_t flags; /* Flags for peeksiginfo. */
+ __int32_t nr; /* How many siginfos to take. */
+};
+
+enum __ptrace_peeksiginfo_flags
+{
+ /* Read signals from a shared (process wide) queue. */
+ PTRACE_PEEKSIGINFO_SHARED = (1 << 0)
};
/* Perform process tracing functions. REQUEST is one of the values
--
1.8.5.5
2
2
uClibc-ng - small C library for embedded systems branch master updated. def0d92193606e184d356c4d2d1752526573f87c
by wbx@helium.waldemar-brodkorb.de 09 Sep '14
by wbx@helium.waldemar-brodkorb.de 09 Sep '14
09 Sep '14
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "uClibc-ng - small C library for embedded systems".
The branch, master has been updated
via def0d92193606e184d356c4d2d1752526573f87c (commit)
via 62d3a427afdea136c82bb599a18a593d9b32c533 (commit)
via 33a12b5540b8abbc4ee0ecb3a51912b3c7868517 (commit)
from 032f47c7fd7580087d71f2e938dc4f95cc94ce92 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit def0d92193606e184d356c4d2d1752526573f87c
Merge: 032f47c 62d3a42
Author: Waldemar Brodkorb <wbx(a)openadk.org>
Date: Tue Sep 9 21:20:07 2014 +0200
Merge remote-tracking branch 'origin/upstream'
-----------------------------------------------------------------------
Summary of changes:
Rules.mak | 2 +-
extra/Configs/Config.in | 4 +-
include/fcntl.h | 32 ++++
libc/sysdeps/linux/common/Makefile.in | 4 +
.../common/{posix_fallocate.c => fallocate.c} | 25 +--
.../common/{posix_fallocate64.c => fallocate64.c} | 22 ++-
libc/sysdeps/linux/common/posix_fallocate.c | 22 +--
libc/sysdeps/linux/common/posix_fallocate64.c | 12 +-
test/.gitignore | 2 +
test/unistd/Makefile.in | 12 +-
test/unistd/tst-fallocate.c | 166 ++++++++++++++++++++
test/unistd/tst-fallocate64.c | 2 +
12 files changed, 255 insertions(+), 50 deletions(-)
copy libc/sysdeps/linux/common/{posix_fallocate.c => fallocate.c} (54%)
copy libc/sysdeps/linux/common/{posix_fallocate64.c => fallocate64.c} (53%)
create mode 100644 test/unistd/tst-fallocate.c
create mode 100644 test/unistd/tst-fallocate64.c
diff --git a/Rules.mak b/Rules.mak
index 71eaae1..02687d9 100644
--- a/Rules.mak
+++ b/Rules.mak
@@ -255,7 +255,7 @@ ARFLAGS:=cr
# Note: The check for -nostdlib has to be before all calls to check_ld
$(eval $(call check-gcc-var,-nostdlib))
# deliberately not named CFLAG-fuse-ld since unchecked and from user
-LDFLAG-fuse-ld := $(filter -fuse-ld=%,$(EXTRA_UCLIBC_FLAGS))
+LDFLAG-fuse-ld := $(filter -fuse-ld=%,$(call qstrip,$(UCLIBC_EXTRA_CFLAGS)))
# failed to merge target specific data of file /dev/null
# Could use -Wl,--script,$(top_srcdir)extra/scripts/none.lds as well.
$(eval $(call check-ld-var,--no-warn-mismatch))
diff --git a/extra/Configs/Config.in b/extra/Configs/Config.in
index 7789002..0f68a9b 100644
--- a/extra/Configs/Config.in
+++ b/extra/Configs/Config.in
@@ -1014,8 +1014,8 @@ config UCLIBC_LINUX_SPECIFIC
default y
help
accept4(), bdflush(),
- capget(), capset(), eventfd(), fstatfs(),
- inotify_*(), ioperm(), iopl(),
+ capget(), capset(), eventfd(), fallocate(),
+ fstatfs(), inotify_*(), ioperm(), iopl(),
madvise(), modify_ldt(), pipe2(), personality(),
prctl()/arch_prctl(), pivot_root(), modify_ldt(),
ppoll(), readahead(), reboot(), remap_file_pages(),
diff --git a/include/fcntl.h b/include/fcntl.h
index c749ad5..04fc2c0 100644
--- a/include/fcntl.h
+++ b/include/fcntl.h
@@ -239,6 +239,38 @@ extern int posix_fallocate64 (int __fd, __off64_t __offset, __off64_t __len);
# endif
#endif
+#if (defined __UCLIBC_LINUX_SPECIFIC__ && defined __USE_GNU) || defined _LIBC
+/* Reserve storage for the data of a file associated with FD. This function
+ is Linux-specific. For the portable version, use posix_fallocate().
+ Unlike the latter, fallocate can operate in different modes. The default
+ mode = 0 is equivalent to posix_fallocate().
+
+ Note: These declarations are used in posix_fallocate.c and
+ posix_fallocate64.c, so we expose them internally.
+ */
+
+/* Flags for fallocate's mode. */
+# define FALLOC_FL_KEEP_SIZE 1 /* Don't extend size of file
+ even if offset + len is
+ greater than file size. */
+# define FALLOC_FL_PUNCH_HOLE 2 /* Create a hole in the file. */
+
+# ifndef __USE_FILE_OFFSET64
+extern int fallocate (int __fd, int __mode, __off_t __offset, __off_t __len);
+# else
+# ifdef __REDIRECT
+extern int __REDIRECT (fallocate, (int __fd, int __mode, __off64_t __offset,
+ __off64_t __len),
+ fallocate64);
+# else
+# define fallocate fallocate64
+# endif
+# endif
+# ifdef __USE_LARGEFILE64
+extern int fallocate64 (int __fd, int __mode, __off64_t __offset, __off64_t __len);
+# endif
+#endif
+
__END_DECLS
#endif /* fcntl.h */
diff --git a/libc/sysdeps/linux/common/Makefile.in b/libc/sysdeps/linux/common/Makefile.in
index dc3a4b7..8562154 100644
--- a/libc/sysdeps/linux/common/Makefile.in
+++ b/libc/sysdeps/linux/common/Makefile.in
@@ -62,6 +62,10 @@ CSRC-$(UCLIBC_LINUX_SPECIFIC) += \
vmsplice.c
CSRC-$(if $(findstring yy,$(UCLIBC_LINUX_SPECIFIC)$(UCLIBC_HAS_LFS)),y) += \
sendfile64.c
+# posix_fallocate() needs __libc_fallocate() from fallocate.c
+# posix_fallocate64() needs __libc_fallocate64() from fallocate64.c
+CSRC-$(if $(UCLIBC_LINUX_SPECIFIC)$(UCLIBC_HAS_ADVANCED_REALTIME),y,) += \
+ fallocate.c $(filter fallocate64.c,$(CSRC-y))
# NPTL needs these internally: madvise.c
CSRC-$(findstring y,$(UCLIBC_LINUX_SPECIFIC)$(UCLIBC_HAS_THREADS_NATIVE)) += madvise.c
ifeq ($(UCLIBC_HAS_THREADS_NATIVE),y)
diff --git a/libc/sysdeps/linux/common/posix_fallocate.c b/libc/sysdeps/linux/common/fallocate.c
similarity index 54%
copy from libc/sysdeps/linux/common/posix_fallocate.c
copy to libc/sysdeps/linux/common/fallocate.c
index 9aaa6ce..b231226 100644
--- a/libc/sysdeps/linux/common/posix_fallocate.c
+++ b/libc/sysdeps/linux/common/fallocate.c
@@ -1,6 +1,6 @@
/* vi: set sw=4 ts=4: */
/*
- * posix_fallocate() for uClibc
+ * fallocate() for uClibc - Based off of posix_fallocate() by Erik Andersen
* http://www.opengroup.org/onlinepubs/9699919799/functions/posix_fallocate.ht…
*
* Copyright (C) 2000-2006 Erik Andersen <andersen(a)uclibc.org>
@@ -14,7 +14,8 @@
#include <stdint.h>
#if defined __NR_fallocate
-int posix_fallocate(int fd, __off_t offset, __off_t len)
+extern __typeof(fallocate) __libc_fallocate attribute_hidden;
+int attribute_hidden __libc_fallocate(int fd, int mode, __off_t offset, __off_t len)
{
int ret;
@@ -24,20 +25,24 @@ int posix_fallocate(int fd, __off_t offset, __off_t len)
/* may assert that these >>31 are 0 */
uint32_t zero = 0;
INTERNAL_SYSCALL_DECL(err);
- ret = (int) (INTERNAL_SYSCALL(fallocate, err, 6, fd, 0,
+ ret = (int) (INTERNAL_SYSCALL(fallocate, err, 6, fd, mode,
__LONG_LONG_PAIR (zero, off_low),
__LONG_LONG_PAIR (zero, len_low)));
# elif __WORDSIZE == 64
INTERNAL_SYSCALL_DECL(err);
- ret = (int) (INTERNAL_SYSCALL(fallocate, err, 4, fd, 0, offset, len));
+ ret = (int) (INTERNAL_SYSCALL(fallocate, err, 4, fd, mode, offset, len));
# else
# error your machine is neither 32 bit or 64 bit ... it must be magical
-#endif
- if (unlikely(INTERNAL_SYSCALL_ERROR_P (ret, err)))
- return INTERNAL_SYSCALL_ERRNO (ret, err);
- return 0;
+# endif
+ if (unlikely(INTERNAL_SYSCALL_ERROR_P (ret, err)))
+ return INTERNAL_SYSCALL_ERRNO (ret, err);
+ return 0;
}
-# if defined __UCLIBC_HAS_LFS__ && __WORDSIZE == 64
-strong_alias(posix_fallocate,posix_fallocate64)
+
+# if defined __UCLIBC_LINUX_SPECIFIC__ && defined __USE_GNU
+strong_alias(__libc_fallocate,fallocate)
+# if __WORDSIZE == 64
+strong_alias(__libc_fallocate,fallocate64)
+# endif
# endif
#endif
diff --git a/libc/sysdeps/linux/common/posix_fallocate64.c b/libc/sysdeps/linux/common/fallocate64.c
similarity index 53%
copy from libc/sysdeps/linux/common/posix_fallocate64.c
copy to libc/sysdeps/linux/common/fallocate64.c
index 76dc9b8..cf75693 100644
--- a/libc/sysdeps/linux/common/posix_fallocate64.c
+++ b/libc/sysdeps/linux/common/fallocate64.c
@@ -1,6 +1,6 @@
/* vi: set sw=4 ts=4: */
/*
- * posix_fallocate() for uClibc
+ * fallocate() for uClibc - based off posix_fallocate() by Erik Andersen
* http://www.opengroup.org/onlinepubs/9699919799/functions/posix_fallocate.ht…
*
* Copyright (C) 2000-2006 Erik Andersen <andersen(a)uclibc.org>
@@ -9,6 +9,7 @@
*/
#include <sys/syscall.h>
+
#include <fcntl.h>
#include <bits/kernel-features.h>
#include <stdint.h>
@@ -16,18 +17,25 @@
#if defined __NR_fallocate
# if __WORDSIZE == 64
-/* Can use normal posix_fallocate() */
+/* Can use normal fallocate() */
# elif __WORDSIZE == 32
-int posix_fallocate64(int fd, __off64_t offset, __off64_t len)
+extern __typeof(fallocate64) __libc_fallocate64 attribute_hidden;
+int attribute_hidden __libc_fallocate64(int fd, int mode, __off64_t offset,
+ __off64_t len)
{
int ret;
INTERNAL_SYSCALL_DECL(err);
- ret = (int) (INTERNAL_SYSCALL(fallocate, err, 6, fd, 0,
+ ret = (int) (INTERNAL_SYSCALL(fallocate, err, 6, fd, mode,
OFF64_HI_LO (offset), OFF64_HI_LO (len)));
- if (unlikely(INTERNAL_SYSCALL_ERROR_P (ret, err)))
- return INTERNAL_SYSCALL_ERRNO (ret, err);
- return 0;
+ if (unlikely(INTERNAL_SYSCALL_ERROR_P (ret, err)))
+ return INTERNAL_SYSCALL_ERRNO (ret, err);
+ return 0;
}
+
+# if defined __UCLIBC_LINUX_SPECIFIC__ && defined __USE_GNU
+strong_alias(__libc_fallocate64,fallocate64)
+# endif
+
# else
# error your machine is neither 32 bit or 64 bit ... it must be magical
# endif
diff --git a/libc/sysdeps/linux/common/posix_fallocate.c b/libc/sysdeps/linux/common/posix_fallocate.c
index 9aaa6ce..76771e3 100644
--- a/libc/sysdeps/linux/common/posix_fallocate.c
+++ b/libc/sysdeps/linux/common/posix_fallocate.c
@@ -14,28 +14,10 @@
#include <stdint.h>
#if defined __NR_fallocate
+extern __typeof(fallocate) __libc_fallocate attribute_hidden;
int posix_fallocate(int fd, __off_t offset, __off_t len)
{
- int ret;
-
-# if __WORDSIZE == 32
- uint32_t off_low = offset;
- uint32_t len_low = len;
- /* may assert that these >>31 are 0 */
- uint32_t zero = 0;
- INTERNAL_SYSCALL_DECL(err);
- ret = (int) (INTERNAL_SYSCALL(fallocate, err, 6, fd, 0,
- __LONG_LONG_PAIR (zero, off_low),
- __LONG_LONG_PAIR (zero, len_low)));
-# elif __WORDSIZE == 64
- INTERNAL_SYSCALL_DECL(err);
- ret = (int) (INTERNAL_SYSCALL(fallocate, err, 4, fd, 0, offset, len));
-# else
-# error your machine is neither 32 bit or 64 bit ... it must be magical
-#endif
- if (unlikely(INTERNAL_SYSCALL_ERROR_P (ret, err)))
- return INTERNAL_SYSCALL_ERRNO (ret, err);
- return 0;
+ return __libc_fallocate(fd, 0, offset, len);
}
# if defined __UCLIBC_HAS_LFS__ && __WORDSIZE == 64
strong_alias(posix_fallocate,posix_fallocate64)
diff --git a/libc/sysdeps/linux/common/posix_fallocate64.c b/libc/sysdeps/linux/common/posix_fallocate64.c
index 76dc9b8..12ddbc2 100644
--- a/libc/sysdeps/linux/common/posix_fallocate64.c
+++ b/libc/sysdeps/linux/common/posix_fallocate64.c
@@ -14,21 +14,15 @@
#include <stdint.h>
#if defined __NR_fallocate
-
# if __WORDSIZE == 64
/* Can use normal posix_fallocate() */
# elif __WORDSIZE == 32
+extern __typeof(fallocate64) __libc_fallocate64 attribute_hidden;
int posix_fallocate64(int fd, __off64_t offset, __off64_t len)
{
- int ret;
- INTERNAL_SYSCALL_DECL(err);
- ret = (int) (INTERNAL_SYSCALL(fallocate, err, 6, fd, 0,
- OFF64_HI_LO (offset), OFF64_HI_LO (len)));
- if (unlikely(INTERNAL_SYSCALL_ERROR_P (ret, err)))
- return INTERNAL_SYSCALL_ERRNO (ret, err);
- return 0;
+ return __libc_fallocate64(fd, 0, offset, len);
}
# else
-# error your machine is neither 32 bit or 64 bit ... it must be magical
+# error your machine is neither 32 bit or 64 bit ... it must be magical
# endif
#endif
diff --git a/test/.gitignore b/test/.gitignore
index 85161da..8f32031 100644
--- a/test/.gitignore
+++ b/test/.gitignore
@@ -320,6 +320,8 @@ unistd/getcwd
unistd/getopt
unistd/getopt_long
unistd/tstgetopt
+unistd/tst-fallocate
+unistd/tst-fallocate64
unistd/tst-posix_fallocate
unistd/tst-posix_fallocate64
unistd/tst-preadwrite
diff --git a/test/unistd/Makefile.in b/test/unistd/Makefile.in
index cfef22e..ed33d9a 100644
--- a/test/unistd/Makefile.in
+++ b/test/unistd/Makefile.in
@@ -1,12 +1,22 @@
# uClibc unistd tests
# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+# If LFS is not set, get rid of all *64 tests up front
ifeq ($(UCLIBC_HAS_LFS),)
-TESTS_DISABLED := tst-preadwrite64 tst-posix_fallocate64
+TESTS_DISABLED := tst-preadwrite64 tst-posix_fallocate64 tst-fallocate64
endif
+
+# If we don't have LINUX_SPECIFIC, then get rid of tst-fallocate
+ifeq ($(UCLIBC_LINUX_SPECIFIC),)
+TESTS_DISABLED += tst-fallocate
+endif
+
+# The logic is similar for HAS_ADVANCED_REALTIME and
+# tst-posix_fallocate/tst-posix_fallocate64
ifeq ($(UCLIBC_HAS_ADVANCED_REALTIME),)
TESTS_DISABLED += tst-posix_fallocate
endif
+
OPTS_getopt := -abcXXX -9
OPTS_getopt_long := --add XXX --delete YYY --verbose
ifeq ($(UCLIBC_HAS_GNU_GETOPT),y)
diff --git a/test/unistd/tst-fallocate.c b/test/unistd/tst-fallocate.c
new file mode 100644
index 0000000..fc81781
--- /dev/null
+++ b/test/unistd/tst-fallocate.c
@@ -0,0 +1,166 @@
+#include <fcntl.h>
+#include <sys/stat.h>
+
+#ifndef TST_FALLOCATE64
+# define stat64 stat
+# define fstat64 fstat
+# else
+# ifndef O_LARGEFILE
+# error no O_LARGEFILE but you want to test with LFS enabled
+# endif
+#endif
+
+static void do_prepare(void);
+static int do_test(void);
+#define PREPARE(argc, argv) do_prepare ()
+#define TEST_FUNCTION do_test ()
+#include <test-skeleton.c>
+
+static int fd;
+static void
+do_prepare (void)
+{
+ fd = create_temp_file ("tst-fallocate.", NULL);
+ if (fd == -1)
+ {
+ printf ("cannot create temporary file: %m\n");
+ exit (1);
+ }
+}
+
+
+static int
+do_test (void)
+{
+ struct stat64 st;
+ int c;
+ char garbage[4096];
+ blkcnt_t blksb4;
+
+ if (fstat64 (fd, &st) != 0)
+ {
+ puts ("1st fstat failed");
+ return 1;
+ }
+
+ if (st.st_size != 0)
+ {
+ puts ("file not created with size 0");
+ return 1;
+ }
+
+ /* This is the default mode which is identical to posix_fallocate().
+ Note: we need a few extra blocks for FALLOC_FL_PUNCH_HOLE below.
+ While block sizes vary, we'll assume eight 4K blocks for good measure. */
+ if (fallocate (fd, 0, 8 * 4096, 128) != 0)
+ {
+ puts ("1st fallocate call failed");
+ return 1;
+ }
+
+ if (fstat64 (fd, &st) != 0)
+ {
+ puts ("2nd fstat failed");
+ return 1;
+ }
+
+ if (st.st_size != 8 * 4096 + 128)
+ {
+ printf ("file size after 1st fallocate call is %llu, expected %u\n",
+ (unsigned long long int) st.st_size, 8u * 4096u + 128u);
+ return 1;
+ }
+
+ /* Without FALLOC_FL_KEEP_SIZE, this would increaste the size of the file. */
+ if (fallocate (fd, FALLOC_FL_KEEP_SIZE, 0, 16 * 4096) != 0)
+ {
+ puts ("2nd fallocate call failed");
+ return 1;
+ }
+
+ if (fstat64 (fd, &st) != 0)
+ {
+ puts ("3rd fstat failed");
+ return 1;
+ }
+
+ if (st.st_size != 8 * 4096 + 128)
+ {
+ printf ("file size changed in 2nd fallocate call to %llu, expected %u\n",
+ (unsigned long long int) st.st_size, 8u * 4096u + 128u);
+ return 1;
+ }
+
+ /* Let's fill up the first eight 4k blocks with 'x' to force some allocations. */
+
+ memset(garbage, 'x', 4096);
+ for(c=0; c < 8; c++)
+ if(write(fd, garbage, 4096) == -1)
+ {
+ puts ("write failed");
+ return 1;
+ }
+
+ if (fstat64 (fd, &st) != 0)
+ {
+ puts ("4th fstat failed");
+ return 1;
+ }
+
+ blksb4 = st.st_blocks;
+
+ /* Let's punch a hole in the entire file, turning it effectively into a sparse file. */
+ if (fallocate (fd, FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE, 0, 8 * 4096 + 128) != 0)
+ {
+ puts ("3rd fallocate call failed");
+ return 1;
+ }
+
+ if (fstat64 (fd, &st) != 0)
+ {
+ puts ("5th fstat failed");
+ return 1;
+ }
+
+ if (st.st_size != 8 * 4096 + 128)
+ {
+ printf ("file size after 3rd fallocate call is %llu, expected %u\n",
+ (unsigned long long int) st.st_size, 8u * 4096u + 128u);
+ return 1;
+ }
+
+ /* The number of allocated blocks should decrease. I hope this works on
+ all filesystems! */
+ if (st.st_blocks >= blksb4)
+ {
+ printf ("number of blocks after 3rd fallocate call is %lu, expected less than %lu\n",
+ (unsigned long int) st.st_blocks, blksb4);
+ return 1;
+ }
+
+#ifdef TST_FALLOCATE64
+ /* We'll just do a mode = 0 test for fallocate64() */
+ if (fallocate64 (fd, 0, 4097ULL, 4294967295ULL + 2ULL) != 0)
+ {
+ puts ("1st fallocate64 call failed");
+ return 1;
+ }
+
+ if (fstat64 (fd, &st) != 0)
+ {
+ puts ("6th fstat failed");
+ return 1;
+ }
+
+ if (st.st_size != 4097ULL + 4294967295ULL + 2ULL)
+ {
+ printf ("file size after 1st fallocate64 call is %llu, expected %llu\n",
+ (unsigned long long int) st.st_size, 4097ULL + 4294967295ULL + 2ULL);
+ return 1;
+ }
+#endif
+ close (fd);
+
+ return 0;
+}
+
diff --git a/test/unistd/tst-fallocate64.c b/test/unistd/tst-fallocate64.c
new file mode 100644
index 0000000..720428f
--- /dev/null
+++ b/test/unistd/tst-fallocate64.c
@@ -0,0 +1,2 @@
+#define TST_FALLOCATE64
+#include "tst-fallocate.c"
hooks/post-receive
--
uClibc-ng - small C library for embedded systems
1
0
uClibc-ng - small C library for embedded systems branch upstream updated. 62d3a427afdea136c82bb599a18a593d9b32c533
by wbx@helium.waldemar-brodkorb.de 09 Sep '14
by wbx@helium.waldemar-brodkorb.de 09 Sep '14
09 Sep '14
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "uClibc-ng - small C library for embedded systems".
The branch, upstream has been updated
via 62d3a427afdea136c82bb599a18a593d9b32c533 (commit)
via 33a12b5540b8abbc4ee0ecb3a51912b3c7868517 (commit)
from 7efe10ec5fc772f5328b35ba6716bde815212b45 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 62d3a427afdea136c82bb599a18a593d9b32c533
Author: Bernhard Reutner-Fischer <rep.dot.nop(a)gmail.com>
Date: Tue Sep 9 13:49:34 2014 +0200
buildsys: Fix typo
LDFLAG-fuse-ld looked at a non-existing var, use the correct one
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop(a)gmail.com>
commit 33a12b5540b8abbc4ee0ecb3a51912b3c7868517
Author: Anthony G. Basile <blueness(a)gentoo.org>
Date: Sun Sep 7 15:33:46 2014 -0400
libc: add fallocate() and fallocate64()
We add the Linux-specific function fallocate() which allows the user to
directly manipulate allocate space for a file. fallocate() can operate
in different modes, but the default mode is equivalent to posix_fallocate()
which is specified in POSIX.1.
Recent releases of e2fsprogs 1.42.11 and above expect fallocate64() to be
available.
Signed-off-by: Anthony G. Basile <blueness(a)gentoo.org>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop(a)gmail.com>
-----------------------------------------------------------------------
Summary of changes:
Rules.mak | 2 +-
extra/Configs/Config.in | 4 +-
include/fcntl.h | 32 ++++
libc/sysdeps/linux/common/Makefile.in | 4 +
.../common/{posix_fallocate.c => fallocate.c} | 25 +--
.../common/{posix_fallocate64.c => fallocate64.c} | 22 ++-
libc/sysdeps/linux/common/posix_fallocate.c | 22 +--
libc/sysdeps/linux/common/posix_fallocate64.c | 12 +-
test/.gitignore | 2 +
test/unistd/Makefile.in | 12 +-
test/unistd/tst-fallocate.c | 166 ++++++++++++++++++++
test/unistd/tst-fallocate64.c | 2 +
12 files changed, 255 insertions(+), 50 deletions(-)
copy libc/sysdeps/linux/common/{posix_fallocate.c => fallocate.c} (54%)
copy libc/sysdeps/linux/common/{posix_fallocate64.c => fallocate64.c} (53%)
create mode 100644 test/unistd/tst-fallocate.c
create mode 100644 test/unistd/tst-fallocate64.c
diff --git a/Rules.mak b/Rules.mak
index cb65700..20da428 100644
--- a/Rules.mak
+++ b/Rules.mak
@@ -255,7 +255,7 @@ ARFLAGS:=cr
# Note: The check for -nostdlib has to be before all calls to check_ld
$(eval $(call check-gcc-var,-nostdlib))
# deliberately not named CFLAG-fuse-ld since unchecked and from user
-LDFLAG-fuse-ld := $(filter -fuse-ld=%,$(EXTRA_UCLIBC_FLAGS))
+LDFLAG-fuse-ld := $(filter -fuse-ld=%,$(call qstrip,$(UCLIBC_EXTRA_CFLAGS)))
# failed to merge target specific data of file /dev/null
# Could use -Wl,--script,$(top_srcdir)extra/scripts/none.lds as well.
$(eval $(call check-ld-var,--no-warn-mismatch))
diff --git a/extra/Configs/Config.in b/extra/Configs/Config.in
index 7789002..0f68a9b 100644
--- a/extra/Configs/Config.in
+++ b/extra/Configs/Config.in
@@ -1014,8 +1014,8 @@ config UCLIBC_LINUX_SPECIFIC
default y
help
accept4(), bdflush(),
- capget(), capset(), eventfd(), fstatfs(),
- inotify_*(), ioperm(), iopl(),
+ capget(), capset(), eventfd(), fallocate(),
+ fstatfs(), inotify_*(), ioperm(), iopl(),
madvise(), modify_ldt(), pipe2(), personality(),
prctl()/arch_prctl(), pivot_root(), modify_ldt(),
ppoll(), readahead(), reboot(), remap_file_pages(),
diff --git a/include/fcntl.h b/include/fcntl.h
index c749ad5..04fc2c0 100644
--- a/include/fcntl.h
+++ b/include/fcntl.h
@@ -239,6 +239,38 @@ extern int posix_fallocate64 (int __fd, __off64_t __offset, __off64_t __len);
# endif
#endif
+#if (defined __UCLIBC_LINUX_SPECIFIC__ && defined __USE_GNU) || defined _LIBC
+/* Reserve storage for the data of a file associated with FD. This function
+ is Linux-specific. For the portable version, use posix_fallocate().
+ Unlike the latter, fallocate can operate in different modes. The default
+ mode = 0 is equivalent to posix_fallocate().
+
+ Note: These declarations are used in posix_fallocate.c and
+ posix_fallocate64.c, so we expose them internally.
+ */
+
+/* Flags for fallocate's mode. */
+# define FALLOC_FL_KEEP_SIZE 1 /* Don't extend size of file
+ even if offset + len is
+ greater than file size. */
+# define FALLOC_FL_PUNCH_HOLE 2 /* Create a hole in the file. */
+
+# ifndef __USE_FILE_OFFSET64
+extern int fallocate (int __fd, int __mode, __off_t __offset, __off_t __len);
+# else
+# ifdef __REDIRECT
+extern int __REDIRECT (fallocate, (int __fd, int __mode, __off64_t __offset,
+ __off64_t __len),
+ fallocate64);
+# else
+# define fallocate fallocate64
+# endif
+# endif
+# ifdef __USE_LARGEFILE64
+extern int fallocate64 (int __fd, int __mode, __off64_t __offset, __off64_t __len);
+# endif
+#endif
+
__END_DECLS
#endif /* fcntl.h */
diff --git a/libc/sysdeps/linux/common/Makefile.in b/libc/sysdeps/linux/common/Makefile.in
index dc3a4b7..8562154 100644
--- a/libc/sysdeps/linux/common/Makefile.in
+++ b/libc/sysdeps/linux/common/Makefile.in
@@ -62,6 +62,10 @@ CSRC-$(UCLIBC_LINUX_SPECIFIC) += \
vmsplice.c
CSRC-$(if $(findstring yy,$(UCLIBC_LINUX_SPECIFIC)$(UCLIBC_HAS_LFS)),y) += \
sendfile64.c
+# posix_fallocate() needs __libc_fallocate() from fallocate.c
+# posix_fallocate64() needs __libc_fallocate64() from fallocate64.c
+CSRC-$(if $(UCLIBC_LINUX_SPECIFIC)$(UCLIBC_HAS_ADVANCED_REALTIME),y,) += \
+ fallocate.c $(filter fallocate64.c,$(CSRC-y))
# NPTL needs these internally: madvise.c
CSRC-$(findstring y,$(UCLIBC_LINUX_SPECIFIC)$(UCLIBC_HAS_THREADS_NATIVE)) += madvise.c
ifeq ($(UCLIBC_HAS_THREADS_NATIVE),y)
diff --git a/libc/sysdeps/linux/common/posix_fallocate.c b/libc/sysdeps/linux/common/fallocate.c
similarity index 54%
copy from libc/sysdeps/linux/common/posix_fallocate.c
copy to libc/sysdeps/linux/common/fallocate.c
index 9aaa6ce..b231226 100644
--- a/libc/sysdeps/linux/common/posix_fallocate.c
+++ b/libc/sysdeps/linux/common/fallocate.c
@@ -1,6 +1,6 @@
/* vi: set sw=4 ts=4: */
/*
- * posix_fallocate() for uClibc
+ * fallocate() for uClibc - Based off of posix_fallocate() by Erik Andersen
* http://www.opengroup.org/onlinepubs/9699919799/functions/posix_fallocate.ht…
*
* Copyright (C) 2000-2006 Erik Andersen <andersen(a)uclibc.org>
@@ -14,7 +14,8 @@
#include <stdint.h>
#if defined __NR_fallocate
-int posix_fallocate(int fd, __off_t offset, __off_t len)
+extern __typeof(fallocate) __libc_fallocate attribute_hidden;
+int attribute_hidden __libc_fallocate(int fd, int mode, __off_t offset, __off_t len)
{
int ret;
@@ -24,20 +25,24 @@ int posix_fallocate(int fd, __off_t offset, __off_t len)
/* may assert that these >>31 are 0 */
uint32_t zero = 0;
INTERNAL_SYSCALL_DECL(err);
- ret = (int) (INTERNAL_SYSCALL(fallocate, err, 6, fd, 0,
+ ret = (int) (INTERNAL_SYSCALL(fallocate, err, 6, fd, mode,
__LONG_LONG_PAIR (zero, off_low),
__LONG_LONG_PAIR (zero, len_low)));
# elif __WORDSIZE == 64
INTERNAL_SYSCALL_DECL(err);
- ret = (int) (INTERNAL_SYSCALL(fallocate, err, 4, fd, 0, offset, len));
+ ret = (int) (INTERNAL_SYSCALL(fallocate, err, 4, fd, mode, offset, len));
# else
# error your machine is neither 32 bit or 64 bit ... it must be magical
-#endif
- if (unlikely(INTERNAL_SYSCALL_ERROR_P (ret, err)))
- return INTERNAL_SYSCALL_ERRNO (ret, err);
- return 0;
+# endif
+ if (unlikely(INTERNAL_SYSCALL_ERROR_P (ret, err)))
+ return INTERNAL_SYSCALL_ERRNO (ret, err);
+ return 0;
}
-# if defined __UCLIBC_HAS_LFS__ && __WORDSIZE == 64
-strong_alias(posix_fallocate,posix_fallocate64)
+
+# if defined __UCLIBC_LINUX_SPECIFIC__ && defined __USE_GNU
+strong_alias(__libc_fallocate,fallocate)
+# if __WORDSIZE == 64
+strong_alias(__libc_fallocate,fallocate64)
+# endif
# endif
#endif
diff --git a/libc/sysdeps/linux/common/posix_fallocate64.c b/libc/sysdeps/linux/common/fallocate64.c
similarity index 53%
copy from libc/sysdeps/linux/common/posix_fallocate64.c
copy to libc/sysdeps/linux/common/fallocate64.c
index 76dc9b8..cf75693 100644
--- a/libc/sysdeps/linux/common/posix_fallocate64.c
+++ b/libc/sysdeps/linux/common/fallocate64.c
@@ -1,6 +1,6 @@
/* vi: set sw=4 ts=4: */
/*
- * posix_fallocate() for uClibc
+ * fallocate() for uClibc - based off posix_fallocate() by Erik Andersen
* http://www.opengroup.org/onlinepubs/9699919799/functions/posix_fallocate.ht…
*
* Copyright (C) 2000-2006 Erik Andersen <andersen(a)uclibc.org>
@@ -9,6 +9,7 @@
*/
#include <sys/syscall.h>
+
#include <fcntl.h>
#include <bits/kernel-features.h>
#include <stdint.h>
@@ -16,18 +17,25 @@
#if defined __NR_fallocate
# if __WORDSIZE == 64
-/* Can use normal posix_fallocate() */
+/* Can use normal fallocate() */
# elif __WORDSIZE == 32
-int posix_fallocate64(int fd, __off64_t offset, __off64_t len)
+extern __typeof(fallocate64) __libc_fallocate64 attribute_hidden;
+int attribute_hidden __libc_fallocate64(int fd, int mode, __off64_t offset,
+ __off64_t len)
{
int ret;
INTERNAL_SYSCALL_DECL(err);
- ret = (int) (INTERNAL_SYSCALL(fallocate, err, 6, fd, 0,
+ ret = (int) (INTERNAL_SYSCALL(fallocate, err, 6, fd, mode,
OFF64_HI_LO (offset), OFF64_HI_LO (len)));
- if (unlikely(INTERNAL_SYSCALL_ERROR_P (ret, err)))
- return INTERNAL_SYSCALL_ERRNO (ret, err);
- return 0;
+ if (unlikely(INTERNAL_SYSCALL_ERROR_P (ret, err)))
+ return INTERNAL_SYSCALL_ERRNO (ret, err);
+ return 0;
}
+
+# if defined __UCLIBC_LINUX_SPECIFIC__ && defined __USE_GNU
+strong_alias(__libc_fallocate64,fallocate64)
+# endif
+
# else
# error your machine is neither 32 bit or 64 bit ... it must be magical
# endif
diff --git a/libc/sysdeps/linux/common/posix_fallocate.c b/libc/sysdeps/linux/common/posix_fallocate.c
index 9aaa6ce..76771e3 100644
--- a/libc/sysdeps/linux/common/posix_fallocate.c
+++ b/libc/sysdeps/linux/common/posix_fallocate.c
@@ -14,28 +14,10 @@
#include <stdint.h>
#if defined __NR_fallocate
+extern __typeof(fallocate) __libc_fallocate attribute_hidden;
int posix_fallocate(int fd, __off_t offset, __off_t len)
{
- int ret;
-
-# if __WORDSIZE == 32
- uint32_t off_low = offset;
- uint32_t len_low = len;
- /* may assert that these >>31 are 0 */
- uint32_t zero = 0;
- INTERNAL_SYSCALL_DECL(err);
- ret = (int) (INTERNAL_SYSCALL(fallocate, err, 6, fd, 0,
- __LONG_LONG_PAIR (zero, off_low),
- __LONG_LONG_PAIR (zero, len_low)));
-# elif __WORDSIZE == 64
- INTERNAL_SYSCALL_DECL(err);
- ret = (int) (INTERNAL_SYSCALL(fallocate, err, 4, fd, 0, offset, len));
-# else
-# error your machine is neither 32 bit or 64 bit ... it must be magical
-#endif
- if (unlikely(INTERNAL_SYSCALL_ERROR_P (ret, err)))
- return INTERNAL_SYSCALL_ERRNO (ret, err);
- return 0;
+ return __libc_fallocate(fd, 0, offset, len);
}
# if defined __UCLIBC_HAS_LFS__ && __WORDSIZE == 64
strong_alias(posix_fallocate,posix_fallocate64)
diff --git a/libc/sysdeps/linux/common/posix_fallocate64.c b/libc/sysdeps/linux/common/posix_fallocate64.c
index 76dc9b8..12ddbc2 100644
--- a/libc/sysdeps/linux/common/posix_fallocate64.c
+++ b/libc/sysdeps/linux/common/posix_fallocate64.c
@@ -14,21 +14,15 @@
#include <stdint.h>
#if defined __NR_fallocate
-
# if __WORDSIZE == 64
/* Can use normal posix_fallocate() */
# elif __WORDSIZE == 32
+extern __typeof(fallocate64) __libc_fallocate64 attribute_hidden;
int posix_fallocate64(int fd, __off64_t offset, __off64_t len)
{
- int ret;
- INTERNAL_SYSCALL_DECL(err);
- ret = (int) (INTERNAL_SYSCALL(fallocate, err, 6, fd, 0,
- OFF64_HI_LO (offset), OFF64_HI_LO (len)));
- if (unlikely(INTERNAL_SYSCALL_ERROR_P (ret, err)))
- return INTERNAL_SYSCALL_ERRNO (ret, err);
- return 0;
+ return __libc_fallocate64(fd, 0, offset, len);
}
# else
-# error your machine is neither 32 bit or 64 bit ... it must be magical
+# error your machine is neither 32 bit or 64 bit ... it must be magical
# endif
#endif
diff --git a/test/.gitignore b/test/.gitignore
index 85161da..8f32031 100644
--- a/test/.gitignore
+++ b/test/.gitignore
@@ -320,6 +320,8 @@ unistd/getcwd
unistd/getopt
unistd/getopt_long
unistd/tstgetopt
+unistd/tst-fallocate
+unistd/tst-fallocate64
unistd/tst-posix_fallocate
unistd/tst-posix_fallocate64
unistd/tst-preadwrite
diff --git a/test/unistd/Makefile.in b/test/unistd/Makefile.in
index cfef22e..ed33d9a 100644
--- a/test/unistd/Makefile.in
+++ b/test/unistd/Makefile.in
@@ -1,12 +1,22 @@
# uClibc unistd tests
# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+# If LFS is not set, get rid of all *64 tests up front
ifeq ($(UCLIBC_HAS_LFS),)
-TESTS_DISABLED := tst-preadwrite64 tst-posix_fallocate64
+TESTS_DISABLED := tst-preadwrite64 tst-posix_fallocate64 tst-fallocate64
endif
+
+# If we don't have LINUX_SPECIFIC, then get rid of tst-fallocate
+ifeq ($(UCLIBC_LINUX_SPECIFIC),)
+TESTS_DISABLED += tst-fallocate
+endif
+
+# The logic is similar for HAS_ADVANCED_REALTIME and
+# tst-posix_fallocate/tst-posix_fallocate64
ifeq ($(UCLIBC_HAS_ADVANCED_REALTIME),)
TESTS_DISABLED += tst-posix_fallocate
endif
+
OPTS_getopt := -abcXXX -9
OPTS_getopt_long := --add XXX --delete YYY --verbose
ifeq ($(UCLIBC_HAS_GNU_GETOPT),y)
diff --git a/test/unistd/tst-fallocate.c b/test/unistd/tst-fallocate.c
new file mode 100644
index 0000000..fc81781
--- /dev/null
+++ b/test/unistd/tst-fallocate.c
@@ -0,0 +1,166 @@
+#include <fcntl.h>
+#include <sys/stat.h>
+
+#ifndef TST_FALLOCATE64
+# define stat64 stat
+# define fstat64 fstat
+# else
+# ifndef O_LARGEFILE
+# error no O_LARGEFILE but you want to test with LFS enabled
+# endif
+#endif
+
+static void do_prepare(void);
+static int do_test(void);
+#define PREPARE(argc, argv) do_prepare ()
+#define TEST_FUNCTION do_test ()
+#include <test-skeleton.c>
+
+static int fd;
+static void
+do_prepare (void)
+{
+ fd = create_temp_file ("tst-fallocate.", NULL);
+ if (fd == -1)
+ {
+ printf ("cannot create temporary file: %m\n");
+ exit (1);
+ }
+}
+
+
+static int
+do_test (void)
+{
+ struct stat64 st;
+ int c;
+ char garbage[4096];
+ blkcnt_t blksb4;
+
+ if (fstat64 (fd, &st) != 0)
+ {
+ puts ("1st fstat failed");
+ return 1;
+ }
+
+ if (st.st_size != 0)
+ {
+ puts ("file not created with size 0");
+ return 1;
+ }
+
+ /* This is the default mode which is identical to posix_fallocate().
+ Note: we need a few extra blocks for FALLOC_FL_PUNCH_HOLE below.
+ While block sizes vary, we'll assume eight 4K blocks for good measure. */
+ if (fallocate (fd, 0, 8 * 4096, 128) != 0)
+ {
+ puts ("1st fallocate call failed");
+ return 1;
+ }
+
+ if (fstat64 (fd, &st) != 0)
+ {
+ puts ("2nd fstat failed");
+ return 1;
+ }
+
+ if (st.st_size != 8 * 4096 + 128)
+ {
+ printf ("file size after 1st fallocate call is %llu, expected %u\n",
+ (unsigned long long int) st.st_size, 8u * 4096u + 128u);
+ return 1;
+ }
+
+ /* Without FALLOC_FL_KEEP_SIZE, this would increaste the size of the file. */
+ if (fallocate (fd, FALLOC_FL_KEEP_SIZE, 0, 16 * 4096) != 0)
+ {
+ puts ("2nd fallocate call failed");
+ return 1;
+ }
+
+ if (fstat64 (fd, &st) != 0)
+ {
+ puts ("3rd fstat failed");
+ return 1;
+ }
+
+ if (st.st_size != 8 * 4096 + 128)
+ {
+ printf ("file size changed in 2nd fallocate call to %llu, expected %u\n",
+ (unsigned long long int) st.st_size, 8u * 4096u + 128u);
+ return 1;
+ }
+
+ /* Let's fill up the first eight 4k blocks with 'x' to force some allocations. */
+
+ memset(garbage, 'x', 4096);
+ for(c=0; c < 8; c++)
+ if(write(fd, garbage, 4096) == -1)
+ {
+ puts ("write failed");
+ return 1;
+ }
+
+ if (fstat64 (fd, &st) != 0)
+ {
+ puts ("4th fstat failed");
+ return 1;
+ }
+
+ blksb4 = st.st_blocks;
+
+ /* Let's punch a hole in the entire file, turning it effectively into a sparse file. */
+ if (fallocate (fd, FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE, 0, 8 * 4096 + 128) != 0)
+ {
+ puts ("3rd fallocate call failed");
+ return 1;
+ }
+
+ if (fstat64 (fd, &st) != 0)
+ {
+ puts ("5th fstat failed");
+ return 1;
+ }
+
+ if (st.st_size != 8 * 4096 + 128)
+ {
+ printf ("file size after 3rd fallocate call is %llu, expected %u\n",
+ (unsigned long long int) st.st_size, 8u * 4096u + 128u);
+ return 1;
+ }
+
+ /* The number of allocated blocks should decrease. I hope this works on
+ all filesystems! */
+ if (st.st_blocks >= blksb4)
+ {
+ printf ("number of blocks after 3rd fallocate call is %lu, expected less than %lu\n",
+ (unsigned long int) st.st_blocks, blksb4);
+ return 1;
+ }
+
+#ifdef TST_FALLOCATE64
+ /* We'll just do a mode = 0 test for fallocate64() */
+ if (fallocate64 (fd, 0, 4097ULL, 4294967295ULL + 2ULL) != 0)
+ {
+ puts ("1st fallocate64 call failed");
+ return 1;
+ }
+
+ if (fstat64 (fd, &st) != 0)
+ {
+ puts ("6th fstat failed");
+ return 1;
+ }
+
+ if (st.st_size != 4097ULL + 4294967295ULL + 2ULL)
+ {
+ printf ("file size after 1st fallocate64 call is %llu, expected %llu\n",
+ (unsigned long long int) st.st_size, 4097ULL + 4294967295ULL + 2ULL);
+ return 1;
+ }
+#endif
+ close (fd);
+
+ return 0;
+}
+
diff --git a/test/unistd/tst-fallocate64.c b/test/unistd/tst-fallocate64.c
new file mode 100644
index 0000000..720428f
--- /dev/null
+++ b/test/unistd/tst-fallocate64.c
@@ -0,0 +1,2 @@
+#define TST_FALLOCATE64
+#include "tst-fallocate.c"
hooks/post-receive
--
uClibc-ng - small C library for embedded systems
1
0
uClibc-ng - small C library for embedded systems branch master updated. 032f47c7fd7580087d71f2e938dc4f95cc94ce92
by wbx@helium.waldemar-brodkorb.de 09 Sep '14
by wbx@helium.waldemar-brodkorb.de 09 Sep '14
09 Sep '14
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "uClibc-ng - small C library for embedded systems".
The branch, master has been updated
via 032f47c7fd7580087d71f2e938dc4f95cc94ce92 (commit)
via 90298bc4fb1303151d6213d13beefcf9b378c5e1 (commit)
from 469594cd898d0386f226f6703ae34d0332a2cfe6 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 032f47c7fd7580087d71f2e938dc4f95cc94ce92
Author: Gustavo Zacarias <gustavo(a)zacarias.com.ar>
Date: Mon Sep 8 09:54:26 2014 -0300
sparc: update ptrace.h to latest from glibc
Update sys/ptrace.h to latest glibc release for a lot of missing
definitions.
Signed-off-by: Gustavo Zacarias <gustavo(a)zacarias.com.ar>
commit 90298bc4fb1303151d6213d13beefcf9b378c5e1
Author: Gustavo Zacarias <gustavo(a)zacarias.com.ar>
Date: Mon Sep 8 09:54:25 2014 -0300
powerpc: update ptrace.h to latest from glibc
Update sys/ptrace.h to latest glibc release for a lot of missing
definitions.
Signed-off-by: Gustavo Zacarias <gustavo(a)zacarias.com.ar>
-----------------------------------------------------------------------
Summary of changes:
libc/sysdeps/linux/powerpc/sys/ptrace.h | 93 ++++++++++++++++++++++++++++-
libc/sysdeps/linux/sparc/sys/ptrace.h | 97 +++++++++++++++++++++++++++++--
2 files changed, 183 insertions(+), 7 deletions(-)
diff --git a/libc/sysdeps/linux/powerpc/sys/ptrace.h b/libc/sysdeps/linux/powerpc/sys/ptrace.h
index 02c303c..dd81efc 100644
--- a/libc/sysdeps/linux/powerpc/sys/ptrace.h
+++ b/libc/sysdeps/linux/powerpc/sys/ptrace.h
@@ -1,5 +1,5 @@
/* `ptrace' debugger support interface. Linux version.
- Copyright (C) 2001 Free Software Foundation, Inc.
+ Copyright (C) 2001-2014 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
@@ -20,6 +20,7 @@
#define _SYS_PTRACE_H 1
#include <features.h>
+#include <bits/types.h>
__BEGIN_DECLS
@@ -78,8 +79,96 @@ enum __ptrace_request
#define PT_DETACH PTRACE_DETACH
/* Continue and stop at the next (return from) syscall. */
- PTRACE_SYSCALL = 24
+ PTRACE_SYSCALL = 24,
#define PT_SYSCALL PTRACE_SYSCALL
+
+ /* Set ptrace filter options. */
+ PTRACE_SETOPTIONS = 0x4200,
+#define PT_SETOPTIONS PTRACE_SETOPTIONS
+
+ /* Get last ptrace message. */
+ PTRACE_GETEVENTMSG = 0x4201,
+#define PT_GETEVENTMSG PTRACE_GETEVENTMSG
+
+ /* Get siginfo for process. */
+ PTRACE_GETSIGINFO = 0x4202,
+#define PT_GETSIGINFO PTRACE_GETSIGINFO
+
+ /* Set new siginfo for process. */
+ PTRACE_SETSIGINFO = 0x4203,
+#define PT_SETSIGINFO PTRACE_SETSIGINFO
+
+ /* Get register content. */
+ PTRACE_GETREGSET = 0x4204,
+#define PTRACE_GETREGSET PTRACE_GETREGSET
+
+ /* Set register content. */
+ PTRACE_SETREGSET = 0x4205,
+#define PTRACE_SETREGSET PTRACE_SETREGSET
+
+ /* Like PTRACE_ATTACH, but do not force tracee to trap and do not affect
+ signal or group stop state. */
+ PTRACE_SEIZE = 0x4206,
+#define PTRACE_SEIZE PTRACE_SEIZE
+
+ /* Trap seized tracee. */
+ PTRACE_INTERRUPT = 0x4207,
+#define PTRACE_INTERRUPT PTRACE_INTERRUPT
+
+ /* Wait for next group event. */
+ PTRACE_LISTEN = 0x4208,
+#define PTRACE_LISTEN PTRACE_LISTEN
+
+ PTRACE_PEEKSIGINFO = 0x4209
+#define PTRACE_PEEKSIGINFO PTRACE_PEEKSIGINFO
+};
+
+
+/* Flag for PTRACE_LISTEN. */
+enum __ptrace_flags
+{
+ PTRACE_SEIZE_DEVEL = 0x80000000
+};
+
+/* Options set using PTRACE_SETOPTIONS. */
+enum __ptrace_setoptions
+{
+ PTRACE_O_TRACESYSGOOD = 0x00000001,
+ PTRACE_O_TRACEFORK = 0x00000002,
+ PTRACE_O_TRACEVFORK = 0x00000004,
+ PTRACE_O_TRACECLONE = 0x00000008,
+ PTRACE_O_TRACEEXEC = 0x00000010,
+ PTRACE_O_TRACEVFORKDONE = 0x00000020,
+ PTRACE_O_TRACEEXIT = 0x00000040,
+ PTRACE_O_TRACESECCOMP = 0x00000080,
+ PTRACE_O_EXITKILL = 0x00100000,
+ PTRACE_O_MASK = 0x001000ff
+};
+
+/* Wait extended result codes for the above trace options. */
+enum __ptrace_eventcodes
+{
+ PTRACE_EVENT_FORK = 1,
+ PTRACE_EVENT_VFORK = 2,
+ PTRACE_EVENT_CLONE = 3,
+ PTRACE_EVENT_EXEC = 4,
+ PTRACE_EVENT_VFORK_DONE = 5,
+ PTRACE_EVENT_EXIT = 6,
+ PTRACE_EVENT_SECCOMP = 7
+};
+
+/* Arguments for PTRACE_PEEKSIGINFO. */
+struct __ptrace_peeksiginfo_args
+{
+ __uint64_t off; /* From which siginfo to start. */
+ __uint32_t flags; /* Flags for peeksiginfo. */
+ __int32_t nr; /* How many siginfos to take. */
+};
+
+enum __ptrace_peeksiginfo_flags
+{
+ /* Read signals from a shared (process wide) queue. */
+ PTRACE_PEEKSIGINFO_SHARED = (1 << 0)
};
/* Perform process tracing functions. REQUEST is one of the values
diff --git a/libc/sysdeps/linux/sparc/sys/ptrace.h b/libc/sysdeps/linux/sparc/sys/ptrace.h
index 26fa4b3..0f6c2cc 100644
--- a/libc/sysdeps/linux/sparc/sys/ptrace.h
+++ b/libc/sysdeps/linux/sparc/sys/ptrace.h
@@ -1,5 +1,5 @@
/* `ptrace' debugger support interface. Linux/SPARC version.
- Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
+ Copyright (C) 1996-2014 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
@@ -20,7 +20,7 @@
#define _SYS_PTRACE_H 1
#include <features.h>
-
+#include <bits/types.h>
#include <bits/wordsize.h>
/* Linux/SPARC kernels up to 2.3.18 do not care much
@@ -147,12 +147,11 @@ enum __ptrace_request
#endif
/* Continue and stop at the next (return from) syscall. */
- PTRACE_SYSCALL = 24
+ PTRACE_SYSCALL = 24,
#define PTRACE_SYSCALL PTRACE_SYSCALL
#if __WORDSIZE == 64
- ,
/* Get all floating point registers used by a processes.
This is not supported on all machines. */
PTRACE_GETFPREGS = 25,
@@ -160,10 +159,98 @@ enum __ptrace_request
/* Set all floating point registers used by a processes.
This is not supported on all machines. */
- PTRACE_SETFPREGS = 26
+ PTRACE_SETFPREGS = 26,
#define PT_SETFPREGS PTRACE_SETFPREGS
#endif
+
+ /* Set ptrace filter options. */
+ PTRACE_SETOPTIONS = 0x4200,
+#define PT_SETOPTIONS PTRACE_SETOPTIONS
+
+ /* Get last ptrace message. */
+ PTRACE_GETEVENTMSG = 0x4201,
+#define PT_GETEVENTMSG PTRACE_GETEVENTMSG
+
+ /* Get siginfo for process. */
+ PTRACE_GETSIGINFO = 0x4202,
+#define PT_GETSIGINFO PTRACE_GETSIGINFO
+
+ /* Set new siginfo for process. */
+ PTRACE_SETSIGINFO = 0x4203,
+#define PT_SETSIGINFO PTRACE_SETSIGINFO
+
+ /* Get register content. */
+ PTRACE_GETREGSET = 0x4204,
+#define PTRACE_GETREGSET PTRACE_GETREGSET
+
+ /* Set register content. */
+ PTRACE_SETREGSET = 0x4205,
+#define PTRACE_SETREGSET PTRACE_SETREGSET
+
+ /* Like PTRACE_ATTACH, but do not force tracee to trap and do not affect
+ signal or group stop state. */
+ PTRACE_SEIZE = 0x4206,
+#define PTRACE_SEIZE PTRACE_SEIZE
+
+ /* Trap seized tracee. */
+ PTRACE_INTERRUPT = 0x4207,
+#define PTRACE_INTERRUPT PTRACE_INTERRUPT
+
+ /* Wait for next group event. */
+ PTRACE_LISTEN = 0x4208,
+#define PTRACE_LISTEN PTRACE_LISTEN
+
+ PTRACE_PEEKSIGINFO = 0x4209
+#define PTRACE_PEEKSIGINFO PTRACE_PEEKSIGINFO
+};
+
+
+/* Flag for PTRACE_LISTEN. */
+enum __ptrace_flags
+{
+ PTRACE_SEIZE_DEVEL = 0x80000000
+};
+
+/* Options set using PTRACE_SETOPTIONS. */
+enum __ptrace_setoptions
+{
+ PTRACE_O_TRACESYSGOOD = 0x00000001,
+ PTRACE_O_TRACEFORK = 0x00000002,
+ PTRACE_O_TRACEVFORK = 0x00000004,
+ PTRACE_O_TRACECLONE = 0x00000008,
+ PTRACE_O_TRACEEXEC = 0x00000010,
+ PTRACE_O_TRACEVFORKDONE = 0x00000020,
+ PTRACE_O_TRACEEXIT = 0x00000040,
+ PTRACE_O_TRACESECCOMP = 0x00000080,
+ PTRACE_O_EXITKILL = 0x00100000,
+ PTRACE_O_MASK = 0x001000ff
+};
+
+/* Wait extended result codes for the above trace options. */
+enum __ptrace_eventcodes
+{
+ PTRACE_EVENT_FORK = 1,
+ PTRACE_EVENT_VFORK = 2,
+ PTRACE_EVENT_CLONE = 3,
+ PTRACE_EVENT_EXEC = 4,
+ PTRACE_EVENT_VFORK_DONE = 5,
+ PTRACE_EVENT_EXIT = 6,
+ PTRACE_EVENT_SECCOMP = 7
+};
+
+/* Arguments for PTRACE_PEEKSIGINFO. */
+struct __ptrace_peeksiginfo_args
+{
+ __uint64_t off; /* From which siginfo to start. */
+ __uint32_t flags; /* Flags for peeksiginfo. */
+ __int32_t nr; /* How many siginfos to take. */
+};
+
+enum __ptrace_peeksiginfo_flags
+{
+ /* Read signals from a shared (process wide) queue. */
+ PTRACE_PEEKSIGINFO_SHARED = (1 << 0)
};
/* Perform process tracing functions. REQUEST is one of the values
hooks/post-receive
--
uClibc-ng - small C library for embedded systems
1
0
uClibc-ng - small C library for embedded systems branch master updated. 469594cd898d0386f226f6703ae34d0332a2cfe6
by wbx@helium.waldemar-brodkorb.de 08 Sep '14
by wbx@helium.waldemar-brodkorb.de 08 Sep '14
08 Sep '14
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "uClibc-ng - small C library for embedded systems".
The branch, master has been updated
via 469594cd898d0386f226f6703ae34d0332a2cfe6 (commit)
from b38f6240891f78af59e2c5d25361ab67a73e000f (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 469594cd898d0386f226f6703ae34d0332a2cfe6
Author: Waldemar Brodkorb <wbx(a)openadk.org>
Date: Mon Sep 8 09:11:43 2014 +0200
bump version to 1.0.0
prepare for stable release.
-----------------------------------------------------------------------
Summary of changes:
Rules.mak | 6 +++---
test/nptl/tst-unload.c | 6 +++---
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/Rules.mak b/Rules.mak
index cb65700..71eaae1 100644
--- a/Rules.mak
+++ b/Rules.mak
@@ -127,9 +127,9 @@ export RUNTIME_PREFIX DEVEL_PREFIX KERNEL_HEADERS MULTILIB_DIR
# Now config hard core
-MAJOR_VERSION := 0
-MINOR_VERSION := 9
-SUBLEVEL := 34
+MAJOR_VERSION := 1
+MINOR_VERSION := 0
+SUBLEVEL := 0
EXTRAVERSION :=-git
VERSION := $(MAJOR_VERSION).$(MINOR_VERSION).$(SUBLEVEL)
ABI_VERSION := $(MAJOR_VERSION)
diff --git a/test/nptl/tst-unload.c b/test/nptl/tst-unload.c
index c7de2cb..74a714e 100644
--- a/test/nptl/tst-unload.c
+++ b/test/nptl/tst-unload.c
@@ -23,17 +23,17 @@
static int
do_test (void)
{
- void *p = dlopen ("libpthread.so.0", RTLD_LAZY);
+ void *p = dlopen ("libpthread.so.1", RTLD_LAZY);
if (p == NULL)
{
- puts ("failed to load libpthread.so.0");
+ puts ("failed to load libpthread.so.1");
return 1;
}
if (dlclose (p) != 0)
{
- puts ("dlclose (libpthread.so.0) failed");
+ puts ("dlclose (libpthread.so.1) failed");
return 1;
}
hooks/post-receive
--
uClibc-ng - small C library for embedded systems
1
0
uClibc-ng - small C library for embedded systems branch master updated. b38f6240891f78af59e2c5d25361ab67a73e000f
by wbx@helium.waldemar-brodkorb.de 08 Sep '14
by wbx@helium.waldemar-brodkorb.de 08 Sep '14
08 Sep '14
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "uClibc-ng - small C library for embedded systems".
The branch, master has been updated
via b38f6240891f78af59e2c5d25361ab67a73e000f (commit)
via 7efe10ec5fc772f5328b35ba6716bde815212b45 (commit)
from 36043b37739dffdaea8d31457570810e492268d7 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit b38f6240891f78af59e2c5d25361ab67a73e000f
Merge: 36043b3 7efe10e
Author: Waldemar Brodkorb <wbx(a)openadk.org>
Date: Mon Sep 8 09:10:31 2014 +0200
Merge remote-tracking branch 'origin/upstream'
-----------------------------------------------------------------------
Summary of changes:
libc/sysdeps/linux/common/Makefile.in | 3 +-
libc/sysdeps/linux/common/epoll.c | 40 +++++++++++---------
.../__syscall_error.c => common/epoll_create.c} | 13 ++-----
.../{arc/__syscall_error.c => common/epoll_ctl.c} | 13 ++-----
.../__syscall_error.c => common/epoll_pwait.c} | 13 ++-----
.../{arc/__syscall_error.c => common/epoll_wait.c} | 13 ++-----
6 files changed, 36 insertions(+), 59 deletions(-)
copy libc/sysdeps/linux/{arc/__syscall_error.c => common/epoll_create.c} (50%)
copy libc/sysdeps/linux/{arc/__syscall_error.c => common/epoll_ctl.c} (50%)
copy libc/sysdeps/linux/{arc/__syscall_error.c => common/epoll_pwait.c} (50%)
copy libc/sysdeps/linux/{arc/__syscall_error.c => common/epoll_wait.c} (50%)
diff --git a/libc/sysdeps/linux/common/Makefile.in b/libc/sysdeps/linux/common/Makefile.in
index 13dd77b..dc3a4b7 100644
--- a/libc/sysdeps/linux/common/Makefile.in
+++ b/libc/sysdeps/linux/common/Makefile.in
@@ -90,7 +90,8 @@ CSRC-$(UCLIBC_HAS_REALTIME) += clock_adjtime.c clock_getres.c clock_gettime.c cl
CSRC-$(UCLIBC_HAS_ADVANCED_REALTIME) += posix_fadvise64.c posix_fadvise.c posix_madvise.c \
posix_fallocate.c posix_fallocate64.c
CSRC-$(UCLIBC_SUSV4_LEGACY) += utime.c
-CSRC-$(UCLIBC_HAS_EPOLL) += epoll.c
+CSRC- += epoll.c # multi-source
+CSRC-$(UCLIBC_HAS_EPOLL) += epoll_create.c epoll_ctl.c epoll_wait.c epoll_pwait.c
CSRC-$(UCLIBC_HAS_XATTR) += xattr.c
CSRC-$(UCLIBC_HAS_PROFILING) += noophooks.c #pcprofile.c
CSRC-$(UCLIBC_SV4_DEPRECATED) += ustat.c
diff --git a/libc/sysdeps/linux/common/epoll.c b/libc/sysdeps/linux/common/epoll.c
index 5f1e589..d7b7ca7 100644
--- a/libc/sysdeps/linux/common/epoll.c
+++ b/libc/sysdeps/linux/common/epoll.c
@@ -11,36 +11,28 @@
#include <sys/epoll.h>
#include <cancel.h>
-#ifdef __NR_epoll_create
+#ifdef L_epoll_create
+# ifdef __NR_epoll_create
_syscall1(int, epoll_create, int, size)
-#endif
+# endif
-#ifdef __NR_epoll_create1
+# ifdef __NR_epoll_create1
_syscall1(int, epoll_create1, int, flags)
-#endif
+# endif
-#if defined __NR_epoll_create1 && !defined __NR_epoll_create
+# if defined __NR_epoll_create1 && !defined __NR_epoll_create
int epoll_create(int size)
{
return INLINE_SYSCALL(epoll_create1, 1, 0);
}
-
+# endif
#endif
-#ifdef __NR_epoll_ctl
+#if defined L_epoll_ctl && defined __NR_epoll_ctl
_syscall4(int, epoll_ctl, int, epfd, int, op, int, fd, struct epoll_event *, event)
#endif
-#ifdef __NR_epoll_wait
-static int __NC(epoll_wait)(int epfd, struct epoll_event *events, int maxevents, int timeout)
-{
- return INLINE_SYSCALL(epoll_wait, 4, epfd, events, maxevents, timeout);
-}
-CANCELLABLE_SYSCALL(int, epoll_wait, (int epfd, struct epoll_event *events, int maxevents, int timeout),
- (epfd, events, maxevents, timeout))
-#endif
-
-#ifdef __NR_epoll_pwait
+#if defined L_epoll_pwait && defined __NR_epoll_pwait
# include <signal.h>
# define __NR___syscall_epoll_pwait __NR_epoll_pwait
@@ -55,11 +47,23 @@ static int __NC(epoll_pwait)(int epfd, struct epoll_event *events, int maxevents
CANCELLABLE_SYSCALL(int, epoll_pwait, (int epfd, struct epoll_event *events, int maxevents, int timeout,
const sigset_t *set),
(epfd, events, maxevents, timeout, set))
+#endif
+
+#if defined L_epoll_wait
+# if defined __NR_epoll_wait
+static int __NC(epoll_wait)(int epfd, struct epoll_event *events, int maxevents, int timeout)
+{
+ return INLINE_SYSCALL(epoll_wait, 4, epfd, events, maxevents, timeout);
+}
+CANCELLABLE_SYSCALL(int, epoll_wait, (int epfd, struct epoll_event *events, int maxevents, int timeout),
+ (epfd, events, maxevents, timeout))
+
+
+# elif /* !defined L_epoll_wait && */ defined __NR_epoll_pwait
/*
* If epoll_wait is not defined, then call epoll_pwait instead using NULL
* for sigmask argument
*/
-# ifndef __NR_epoll_wait
# include <stddef.h>
int epoll_wait(int epfd, struct epoll_event *events, int maxevents, int timeout)
{
diff --git a/libc/sysdeps/linux/arc/__syscall_error.c b/libc/sysdeps/linux/common/epoll_create.c
similarity index 50%
copy from libc/sysdeps/linux/arc/__syscall_error.c
copy to libc/sysdeps/linux/common/epoll_create.c
index 962d743..80896f6 100644
--- a/libc/sysdeps/linux/arc/__syscall_error.c
+++ b/libc/sysdeps/linux/common/epoll_create.c
@@ -1,15 +1,8 @@
-/* Wrapper for setting errno.
- *
+/*
* Copyright (C) 2000-2006 Erik Andersen <andersen(a)uclibc.org>
*
* Licensed under the LGPL v2.1 or later, see the file COPYING.LIB in this tarball.
*/
-#include <errno.h>
-#include <sys/syscall.h>
-
-int __syscall_error(int err_no)
-{
- __set_errno(-err_no);
- return -1;
-}
+#define L_epoll_create
+#include "epoll.c"
diff --git a/libc/sysdeps/linux/arc/__syscall_error.c b/libc/sysdeps/linux/common/epoll_ctl.c
similarity index 50%
copy from libc/sysdeps/linux/arc/__syscall_error.c
copy to libc/sysdeps/linux/common/epoll_ctl.c
index 962d743..53868cc 100644
--- a/libc/sysdeps/linux/arc/__syscall_error.c
+++ b/libc/sysdeps/linux/common/epoll_ctl.c
@@ -1,15 +1,8 @@
-/* Wrapper for setting errno.
- *
+/*
* Copyright (C) 2000-2006 Erik Andersen <andersen(a)uclibc.org>
*
* Licensed under the LGPL v2.1 or later, see the file COPYING.LIB in this tarball.
*/
-#include <errno.h>
-#include <sys/syscall.h>
-
-int __syscall_error(int err_no)
-{
- __set_errno(-err_no);
- return -1;
-}
+#define L_epoll_ctl
+#include "epoll.c"
diff --git a/libc/sysdeps/linux/arc/__syscall_error.c b/libc/sysdeps/linux/common/epoll_pwait.c
similarity index 50%
copy from libc/sysdeps/linux/arc/__syscall_error.c
copy to libc/sysdeps/linux/common/epoll_pwait.c
index 962d743..07461f9 100644
--- a/libc/sysdeps/linux/arc/__syscall_error.c
+++ b/libc/sysdeps/linux/common/epoll_pwait.c
@@ -1,15 +1,8 @@
-/* Wrapper for setting errno.
- *
+/*
* Copyright (C) 2000-2006 Erik Andersen <andersen(a)uclibc.org>
*
* Licensed under the LGPL v2.1 or later, see the file COPYING.LIB in this tarball.
*/
-#include <errno.h>
-#include <sys/syscall.h>
-
-int __syscall_error(int err_no)
-{
- __set_errno(-err_no);
- return -1;
-}
+#define L_epoll_pwait
+#include "epoll.c"
diff --git a/libc/sysdeps/linux/arc/__syscall_error.c b/libc/sysdeps/linux/common/epoll_wait.c
similarity index 50%
copy from libc/sysdeps/linux/arc/__syscall_error.c
copy to libc/sysdeps/linux/common/epoll_wait.c
index 962d743..6963447 100644
--- a/libc/sysdeps/linux/arc/__syscall_error.c
+++ b/libc/sysdeps/linux/common/epoll_wait.c
@@ -1,15 +1,8 @@
-/* Wrapper for setting errno.
- *
+/*
* Copyright (C) 2000-2006 Erik Andersen <andersen(a)uclibc.org>
*
* Licensed under the LGPL v2.1 or later, see the file COPYING.LIB in this tarball.
*/
-#include <errno.h>
-#include <sys/syscall.h>
-
-int __syscall_error(int err_no)
-{
- __set_errno(-err_no);
- return -1;
-}
+#define L_epoll_wait
+#include "epoll.c"
hooks/post-receive
--
uClibc-ng - small C library for embedded systems
1
0