Consolidate NPTL configury for ARM/Linux.
This commit is contained in:
parent
bba6da4e1b
commit
8c6d01f0b1
20
ChangeLog
20
ChangeLog
|
@ -1,5 +1,25 @@
|
|||
2014-05-13 Roland McGrath <roland@hack.frob.com>
|
||||
|
||||
* sysdeps/unix/sysv/linux/arm/Versions (libc: GLIBC_PRIVATE): New set.
|
||||
* sysdeps/unix/sysv/linux/arm/nptl/Versions: File removed.
|
||||
|
||||
* sysdeps/unix/sysv/linux/arm/Makefile
|
||||
[$(subdir) = rt] (librt-sysdep_routines, librt-shared-only-routines):
|
||||
Add rt-aeabi_unwind_cpp_pr1.
|
||||
[$(subdir) = nptl] (librt-sysdep_routines, librt-shared-only-routines):
|
||||
Add nptl-aeabi_unwind_cpp_pr1.
|
||||
[$(subdir) = nptl] (tests): Filter out tst-cleanupx4.
|
||||
* sysdeps/unix/sysv/linux/arm/nptl/Makefile: File removed.
|
||||
* sysdeps/unix/sysv/linux/arm/nptl/rt-aeabi_unwind_cpp_pr1.c: Move ...
|
||||
* sysdeps/unix/sysv/linux/arm/rt-aeabi_unwind_cpp_pr1.c: ... here.
|
||||
* sysdeps/unix/sysv/linux/arm/nptl/nptl-aeabi_unwind_cpp_pr1.c: Move ...
|
||||
* sysdeps/unix/sysv/linux/arm/nptl-aeabi_unwind_cpp_pr1.c: ... here.
|
||||
|
||||
* sysdeps/unix/sysv/linux/arm/configure.ac: Force -fexceptions here.
|
||||
* sysdeps/unix/sysv/linux/arm/configure: Regenerated.
|
||||
* sysdeps/unix/sysv/linux/arm/nptl/configure.ac: File removed.
|
||||
* sysdeps/unix/sysv/linux/arm/nptl/configure: File removed.
|
||||
|
||||
* sysdeps/unix/sysv/linux/arm/clone.S: Include <tcb-offsets.h>.
|
||||
Deconditionalize the code that was previously under [RESET_PID].
|
||||
* sysdeps/unix/sysv/linux/arm/nptl/clone.S: File removed.
|
||||
|
|
|
@ -37,13 +37,21 @@ libcrypt-sysdep_routines += libc-do-syscall
|
|||
endif
|
||||
|
||||
ifeq ($(subdir),rt)
|
||||
librt-sysdep_routines += libc-do-syscall
|
||||
librt-shared-only-routines += libc-do-syscall
|
||||
librt-sysdep_routines += libc-do-syscall rt-aeabi_unwind_cpp_pr1
|
||||
librt-shared-only-routines += libc-do-syscall rt-aeabi_unwind_cpp_pr1
|
||||
endif
|
||||
|
||||
ifeq ($(subdir),nptl)
|
||||
libpthread-sysdep_routines += libc-do-syscall
|
||||
libpthread-shared-only-routines += libc-do-syscall
|
||||
libpthread-sysdep_routines += libc-do-syscall nptl-aeabi_unwind_cpp_pr1
|
||||
libpthread-shared-only-routines += libc-do-syscall nptl-aeabi_unwind_cpp_pr1
|
||||
|
||||
# This test relies on compiling part of the binary with EH information,
|
||||
# part without, and unwinding through. The .ARM.exidx tables have
|
||||
# start addresses for EH regions, but no end addresses. Every
|
||||
# region an exception needs to propogate through must have unwind
|
||||
# information, or a previous function's unwind table may be used
|
||||
# by mistake.
|
||||
tests := $(filter-out tst-cleanupx4,$(tests))
|
||||
endif
|
||||
|
||||
ifeq ($(subdir),resolv)
|
||||
|
|
|
@ -37,4 +37,10 @@ libc {
|
|||
GLIBC_2.11 {
|
||||
fallocate64;
|
||||
}
|
||||
GLIBC_PRIVATE {
|
||||
# A copy of sigaction lives in libpthread, and needs these.
|
||||
__default_sa_restorer; __default_rt_sa_restorer;
|
||||
__default_sa_restorer_v1; __default_rt_sa_restorer_v1;
|
||||
__default_sa_restorer_v2; __default_rt_sa_restorer_v2;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,3 +4,6 @@
|
|||
libc_cv_gcc_unwind_find_fde=no
|
||||
# Remove -fno-unwind-tables that was added in sysdeps/arm/preconfigure.ac.
|
||||
CFLAGS=${CFLAGS% -fno-unwind-tables}
|
||||
|
||||
libc_cv_gcc_exceptions=yes
|
||||
exceptions=-fexceptions
|
||||
|
|
|
@ -4,3 +4,9 @@ GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
|
|||
libc_cv_gcc_unwind_find_fde=no
|
||||
# Remove -fno-unwind-tables that was added in sysdeps/arm/preconfigure.ac.
|
||||
CFLAGS=${CFLAGS% -fno-unwind-tables}
|
||||
|
||||
dnl The normal configure check for gcc -fexecptions fails because it can't
|
||||
dnl find __aeabi_unwind_cpp_pr0. Work around this here; our GCC definitely
|
||||
dnl has -fexceptions.
|
||||
libc_cv_gcc_exceptions=yes
|
||||
exceptions=-fexceptions
|
||||
|
|
|
@ -1,17 +0,0 @@
|
|||
ifeq ($(subdir),rt)
|
||||
librt-sysdep_routines += rt-aeabi_unwind_cpp_pr1
|
||||
librt-shared-only-routines += rt-aeabi_unwind_cpp_pr1
|
||||
endif
|
||||
|
||||
ifeq ($(subdir),nptl)
|
||||
libpthread-sysdep_routines += nptl-aeabi_unwind_cpp_pr1
|
||||
libpthread-shared-only-routines += nptl-aeabi_unwind_cpp_pr1
|
||||
|
||||
# This test relies on compiling part of the binary with EH information,
|
||||
# part without, and unwinding through. The .ARM.exidx tables have
|
||||
# start addresses for EH regions, but no end addresses. Every
|
||||
# region an exception needs to propogate through must have unwind
|
||||
# information, or a previous function's unwind table may be used
|
||||
# by mistake.
|
||||
tests := $(filter-out tst-cleanupx4,$(tests))
|
||||
endif
|
|
@ -1,8 +0,0 @@
|
|||
libc {
|
||||
GLIBC_PRIVATE {
|
||||
# A copy of sigaction lives in NPTL, and needs these.
|
||||
__default_sa_restorer; __default_rt_sa_restorer;
|
||||
__default_sa_restorer_v1; __default_rt_sa_restorer_v1;
|
||||
__default_sa_restorer_v2; __default_rt_sa_restorer_v2;
|
||||
}
|
||||
}
|
|
@ -1,4 +0,0 @@
|
|||
# This file is generated from configure.ac by Autoconf. DO NOT EDIT!
|
||||
|
||||
libc_cv_gcc_exceptions=yes
|
||||
exceptions=-fexceptions
|
|
@ -1,8 +0,0 @@
|
|||
dnl configure fragment for NPTL and ARM/Linux EABI.
|
||||
GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
|
||||
|
||||
dnl The normal configure check for gcc -fexecptions fails because it can't
|
||||
dnl find __aeabi_unwind_cpp_pr0. Work around this here; our GCC definitely
|
||||
dnl has -fexceptions.
|
||||
libc_cv_gcc_exceptions=yes
|
||||
exceptions=-fexceptions
|
Loading…
Reference in New Issue