mirror of
git://sourceware.org/git/glibc.git
synced 2024-11-21 01:12:26 +08:00
ARM: Move more aeabi routine magic out of Linux-specific directories
This commit is contained in:
parent
354426bb34
commit
3cb4de4741
31
ChangeLog
31
ChangeLog
@ -1,3 +1,34 @@
|
||||
2014-06-26 Roland McGrath <roland@hack.frob.com>
|
||||
|
||||
* sysdeps/unix/sysv/linux/arm/libc-aeabi_read_tp.S: Moved ...
|
||||
* sysdeps/arm/libc-aeabi_read_tp.S: ... here.
|
||||
* sysdeps/arm/Makefile [$(subdir) = csu]
|
||||
(aeabi_routines): Add aeabi_read_tp and libc-aeabi_read_tp here.
|
||||
(static-only-routines): Add aeabi_read_tp here.
|
||||
(shared-only-routines): Add libc-aeabi_read_tp here.
|
||||
(CFLAGS-libc-start.c): Add -fexceptions here.
|
||||
* sysdeps/unix/sysv/linux/arm/Makefile [$(subdir) = csu]
|
||||
(sysdep_routines, static-only-routines, shared-only-routines):
|
||||
Don't add to these here.
|
||||
(CFLAGS-libc-start.c): Likewise.
|
||||
|
||||
* sysdeps/unix/sysv/linux/arm/nptl-aeabi_unwind_cpp_pr1.c: Moved ...
|
||||
* sysdeps/arm/nptl-aeabi_unwind_cpp_pr1.c: ... here.
|
||||
* sysdeps/unix/sysv/linux/arm/rt-aeabi_unwind_cpp_pr1.c: Moved ...
|
||||
* sysdeps/arm/rt-aeabi_unwind_cpp_pr1.c: ... here.
|
||||
* sysdeps/arm/Makefile [$(subdir) = rt]
|
||||
(librt-sysdep_routines, librt-shared-only-routines):
|
||||
Append rt-aeabi_unwind_cpp_pr1 here.
|
||||
* sysdeps/unix/sysv/linux/arm/Makefile [$(subdir) = rt]
|
||||
(librt-sysdep_routines, librt-shared-only-routines): Don't do it here.
|
||||
* sysdeps/arm/nptl/Makefile [$(subdir) = nptl]
|
||||
(libpthread-sysdep_routines, libpthread-shared-only-routines):
|
||||
Append nptl-aeabi_unwind_cpp_pr1 here.
|
||||
(tests): Filter out tst-cleanupx4 here.
|
||||
* sysdeps/unix/sysv/linux/arm/Makefile [$(subdir) = nptl]
|
||||
(libpthread-sysdep_routines, libpthread-shared-only-routines, tests):
|
||||
Don't do those here.
|
||||
|
||||
2014-06-26 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* scripts/list-sources.sh: Do not handle ports specially.
|
||||
|
@ -38,11 +38,18 @@ ifeq ($(subdir),csu)
|
||||
gen-as-const-headers += rtld-global-offsets.sym tlsdesc.sym
|
||||
aeabi_constants = aeabi_lcsts aeabi_sighandlers aeabi_math
|
||||
aeabi_routines = aeabi_assert aeabi_localeconv aeabi_errno_addr \
|
||||
aeabi_mb_cur_max aeabi_atexit aeabi_memclr aeabi_memcpy \
|
||||
aeabi_memmove aeabi_memset
|
||||
aeabi_mb_cur_max aeabi_atexit aeabi_memclr aeabi_memcpy \
|
||||
aeabi_memmove aeabi_memset \
|
||||
aeabi_read_tp libc-aeabi_read_tp
|
||||
|
||||
sysdep_routines += $(aeabi_constants) $(aeabi_routines)
|
||||
static-only-routines += $(aeabi_constants)
|
||||
static-only-routines += $(aeabi_constants) aeabi_read_tp
|
||||
shared-only-routines += libc-aeabi_read_tp
|
||||
|
||||
# In order for unwinding to fail when it falls out of main, we need a
|
||||
# cantunwind marker. There's one in start.S. To make sure we reach it, add
|
||||
# unwind tables for __libc_start_main.
|
||||
CFLAGS-libc-start.c += -fexceptions
|
||||
endif
|
||||
|
||||
ifeq ($(subdir),gmon)
|
||||
@ -52,3 +59,8 @@ endif
|
||||
ifeq ($(subdir),debug)
|
||||
CFLAGS-backtrace.c += -funwind-tables
|
||||
endif
|
||||
|
||||
ifeq ($(subdir),rt)
|
||||
librt-sysdep_routines += rt-aeabi_unwind_cpp_pr1
|
||||
librt-shared-only-routines += rt-aeabi_unwind_cpp_pr1
|
||||
endif
|
||||
|
@ -18,3 +18,16 @@
|
||||
ifeq ($(subdir),csu)
|
||||
gen-as-const-headers += tcb-offsets.sym
|
||||
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,14 +1,3 @@
|
||||
ifeq ($(subdir),csu)
|
||||
# In order for unwinding to fail when it falls out of main, we need a
|
||||
# cantunwind marker. There's one in start.S. To make sure we reach it, add
|
||||
# unwind tables for __libc_start_main.
|
||||
CFLAGS-libc-start.c += -fexceptions
|
||||
|
||||
sysdep_routines += aeabi_read_tp libc-aeabi_read_tp
|
||||
static-only-routines += aeabi_read_tp
|
||||
shared-only-routines += libc-aeabi_read_tp
|
||||
endif
|
||||
|
||||
ifeq ($(subdir),elf)
|
||||
sysdep-rtld-routines += aeabi_read_tp libc-do-syscall
|
||||
endif
|
||||
@ -37,21 +26,13 @@ libcrypt-sysdep_routines += libc-do-syscall
|
||||
endif
|
||||
|
||||
ifeq ($(subdir),rt)
|
||||
librt-sysdep_routines += libc-do-syscall rt-aeabi_unwind_cpp_pr1
|
||||
librt-shared-only-routines += libc-do-syscall rt-aeabi_unwind_cpp_pr1
|
||||
librt-sysdep_routines += libc-do-syscall
|
||||
librt-shared-only-routines += libc-do-syscall
|
||||
endif
|
||||
|
||||
ifeq ($(subdir),nptl)
|
||||
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))
|
||||
libpthread-sysdep_routines += libc-do-syscall
|
||||
libpthread-shared-only-routines += libc-do-syscall
|
||||
endif
|
||||
|
||||
ifeq ($(subdir),resolv)
|
||||
|
Loading…
Reference in New Issue
Block a user