From 393fa1571d33f92375e38d8acda3578ce104dc0f Mon Sep 17 00:00:00 2001 From: Imre Kaloz Date: Thu, 7 Feb 2008 20:05:11 +0000 Subject: [PATCH] sync AVR32 patches with upstream SVN-Revision: 10411 --- toolchain/uClibc/patches/007-avr32.patch | 111 ------------------ .../patches/008-avr32_fix_sa_onstack.patch | 31 +++++ 2 files changed, 31 insertions(+), 111 deletions(-) create mode 100644 toolchain/uClibc/patches/008-avr32_fix_sa_onstack.patch diff --git a/toolchain/uClibc/patches/007-avr32.patch b/toolchain/uClibc/patches/007-avr32.patch index 1f2f2e1e78..d275ac2302 100644 --- a/toolchain/uClibc/patches/007-avr32.patch +++ b/toolchain/uClibc/patches/007-avr32.patch @@ -1,114 +1,3 @@ - Rules.mak | 6 + - extra/Configs/Config.avr32 | 31 ++++ - extra/Configs/Config.in | 7 + - extra/Configs/defconfigs/avr32 | 1 + - include/elf.h | 51 ++++++ - ldso/include/dl-string.h | 3 +- - ldso/include/dl-syscall.h | 40 ++-- - ldso/ldso/avr32/dl-debug.h | 45 +++++ - ldso/ldso/avr32/dl-startup.h | 112 ++++++++++++ - ldso/ldso/avr32/dl-syscalls.h | 6 + - ldso/ldso/avr32/dl-sysdep.h | 105 +++++++++++ - ldso/ldso/avr32/elfinterp.c | 191 ++++++++++++++++++++ - ldso/ldso/avr32/resolve.S | 28 +++ - ldso/ldso/dl-startup.c | 4 +- - libc/inet/resolv.c | 6 +- - libc/string/avr32/Makefile | 26 +++ - libc/string/avr32/bcopy.S | 26 +++ - libc/string/avr32/bzero.S | 22 +++ - libc/string/avr32/memcmp.S | 61 +++++++ - libc/string/avr32/memcpy.S | 111 ++++++++++++ - libc/string/avr32/memmove.S | 116 ++++++++++++ - libc/string/avr32/memset.S | 70 +++++++ - libc/string/avr32/strcmp.S | 91 ++++++++++ - libc/string/avr32/strlen.S | 62 +++++++ - libc/sysdeps/linux/avr32/Makefile | 25 +++ - libc/sysdeps/linux/avr32/Makefile.arch | 13 ++ - libc/sysdeps/linux/avr32/__longjmp.S | 21 +++ - libc/sysdeps/linux/avr32/bits/atomic.h | 120 ++++++++++++ - libc/sysdeps/linux/avr32/bits/byteswap.h | 70 +++++++ - libc/sysdeps/linux/avr32/bits/endian.h | 7 + - libc/sysdeps/linux/avr32/bits/fcntl.h | 165 +++++++++++++++++ - libc/sysdeps/linux/avr32/bits/kernel_stat.h | 67 +++++++ - libc/sysdeps/linux/avr32/bits/kernel_types.h | 55 ++++++ - libc/sysdeps/linux/avr32/bits/mman.h | 103 +++++++++++ - libc/sysdeps/linux/avr32/bits/setjmp.h | 30 +++ - libc/sysdeps/linux/avr32/bits/stackinfo.h | 28 +++ - libc/sysdeps/linux/avr32/bits/syscalls.h | 143 +++++++++++++++ - .../linux/avr32/bits/uClibc_arch_features.h | 45 +++++ - libc/sysdeps/linux/avr32/bits/wordsize.h | 1 + - libc/sysdeps/linux/avr32/brk.c | 31 ++++ - libc/sysdeps/linux/avr32/bsd-_setjmp.S | 16 ++ - libc/sysdeps/linux/avr32/bsd-setjmp.S | 16 ++ - libc/sysdeps/linux/avr32/clone.c | 41 +++++ - libc/sysdeps/linux/avr32/crt1.S | 97 ++++++++++ - libc/sysdeps/linux/avr32/crti.S | 26 +++ - libc/sysdeps/linux/avr32/crtn.S | 14 ++ - libc/sysdeps/linux/avr32/mmap.c | 33 ++++ - libc/sysdeps/linux/avr32/setjmp.S | 29 +++ - libc/sysdeps/linux/avr32/sigaction.c | 59 ++++++ - libc/sysdeps/linux/avr32/sigrestorer.S | 15 ++ - libc/sysdeps/linux/avr32/sys/elf.h | 26 +++ - libc/sysdeps/linux/avr32/sys/procfs.h | 123 +++++++++++++ - libc/sysdeps/linux/avr32/sys/ucontext.h | 90 +++++++++ - libc/sysdeps/linux/avr32/sys/user.h | 46 +++++ - libc/sysdeps/linux/avr32/syscall.S | 71 ++++++++ - libc/sysdeps/linux/avr32/vfork.S | 58 ++++++ - .../linuxthreads.old/sysdeps/avr32/pt-machine.h | 73 ++++++++ - libpthread/linuxthreads/sysdeps/avr32/pt-machine.h | 73 ++++++++ - utils/ldd.c | 5 + - 60 files changed, 3094 insertions(+), 25 deletions(-) - create mode 100644 extra/Configs/Config.avr32 - create mode 100644 extra/Configs/defconfigs/avr32 - create mode 100644 ldso/ldso/avr32/dl-debug.h - create mode 100644 ldso/ldso/avr32/dl-startup.h - create mode 100644 ldso/ldso/avr32/dl-syscalls.h - create mode 100644 ldso/ldso/avr32/dl-sysdep.h - create mode 100644 ldso/ldso/avr32/elfinterp.c - create mode 100644 ldso/ldso/avr32/resolve.S - create mode 100644 libc/string/avr32/Makefile - create mode 100644 libc/string/avr32/bcopy.S - create mode 100644 libc/string/avr32/bzero.S - create mode 100644 libc/string/avr32/memcmp.S - create mode 100644 libc/string/avr32/memcpy.S - create mode 100644 libc/string/avr32/memmove.S - create mode 100644 libc/string/avr32/memset.S - create mode 100644 libc/string/avr32/strcmp.S - create mode 100644 libc/string/avr32/strlen.S - create mode 100644 libc/sysdeps/linux/avr32/Makefile - create mode 100644 libc/sysdeps/linux/avr32/Makefile.arch - create mode 100644 libc/sysdeps/linux/avr32/__longjmp.S - create mode 100644 libc/sysdeps/linux/avr32/bits/atomic.h - create mode 100644 libc/sysdeps/linux/avr32/bits/byteswap.h - create mode 100644 libc/sysdeps/linux/avr32/bits/endian.h - create mode 100644 libc/sysdeps/linux/avr32/bits/fcntl.h - create mode 100644 libc/sysdeps/linux/avr32/bits/kernel_stat.h - create mode 100644 libc/sysdeps/linux/avr32/bits/kernel_types.h - create mode 100644 libc/sysdeps/linux/avr32/bits/mman.h - create mode 100644 libc/sysdeps/linux/avr32/bits/setjmp.h - create mode 100644 libc/sysdeps/linux/avr32/bits/stackinfo.h - create mode 100644 libc/sysdeps/linux/avr32/bits/syscalls.h - create mode 100644 libc/sysdeps/linux/avr32/bits/uClibc_arch_features.h - create mode 100644 libc/sysdeps/linux/avr32/bits/wordsize.h - create mode 100644 libc/sysdeps/linux/avr32/brk.c - create mode 100644 libc/sysdeps/linux/avr32/bsd-_setjmp.S - create mode 100644 libc/sysdeps/linux/avr32/bsd-setjmp.S - create mode 100644 libc/sysdeps/linux/avr32/clone.c - create mode 100644 libc/sysdeps/linux/avr32/crt1.S - create mode 100644 libc/sysdeps/linux/avr32/crti.S - create mode 100644 libc/sysdeps/linux/avr32/crtn.S - create mode 100644 libc/sysdeps/linux/avr32/mmap.c - create mode 100644 libc/sysdeps/linux/avr32/setjmp.S - create mode 100644 libc/sysdeps/linux/avr32/sigaction.c - create mode 100644 libc/sysdeps/linux/avr32/sigrestorer.S - create mode 100644 libc/sysdeps/linux/avr32/sys/elf.h - create mode 100644 libc/sysdeps/linux/avr32/sys/procfs.h - create mode 100644 libc/sysdeps/linux/avr32/sys/ucontext.h - create mode 100644 libc/sysdeps/linux/avr32/sys/user.h - create mode 100644 libc/sysdeps/linux/avr32/syscall.S - create mode 100644 libc/sysdeps/linux/avr32/vfork.S - create mode 100644 libpthread/linuxthreads.old/sysdeps/avr32/pt-machine.h - create mode 100644 libpthread/linuxthreads/sysdeps/avr32/pt-machine.h diff --git a/Rules.mak b/Rules.mak index d054bbb..55381cf 100644 --- a/Rules.mak diff --git a/toolchain/uClibc/patches/008-avr32_fix_sa_onstack.patch b/toolchain/uClibc/patches/008-avr32_fix_sa_onstack.patch new file mode 100644 index 0000000000..722decdbd7 --- /dev/null +++ b/toolchain/uClibc/patches/008-avr32_fix_sa_onstack.patch @@ -0,0 +1,31 @@ +From 974a769cc135bcfb1ea751db34a84ed6b5ceb509 Mon Sep 17 00:00:00 2001 +From: Haavard Skinnemoen +Date: Fri, 7 Dec 2007 14:02:19 +0100 +Subject: [PATCH] AVR32: Fix sa_restorer when SA_ONSTACK is set + +I don't remember exactly why we decided to pick the caller's value of +sa_restorer when SA_ONSTACK is set, but it seems to break LTP's +sigaltstack testcase. Some users have reported problems with +sigaltstack as well; hopefully this will fix it. + +Signed-off-by: Haavard Skinnemoen +--- + libc/sysdeps/linux/avr32/sigaction.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/libc/sysdeps/linux/avr32/sigaction.c b/libc/sysdeps/linux/avr32/sigaction.c +index a97ff3d..6dcca91 100644 +--- a/libc/sysdeps/linux/avr32/sigaction.c ++++ b/libc/sysdeps/linux/avr32/sigaction.c +@@ -30,7 +30,7 @@ int __libc_sigaction(int signum, const struct sigaction *act, + kact.k_sa_handler = act->sa_handler; + memcpy(&kact.sa_mask, &act->sa_mask, sizeof (kact.sa_mask)); + kact.sa_flags = act->sa_flags; +- if (kact.sa_flags & (SA_RESTORER | SA_ONSTACK)) ++ if (kact.sa_flags & SA_RESTORER) + kact.sa_restorer = act->sa_restorer; + else + kact.sa_restorer = __default_rt_sa_restorer; +-- +1.5.3.4 + -- 2.30.2