sync AVR32 patches with upstream
authorImre Kaloz <kaloz@openwrt.org>
Thu, 7 Feb 2008 20:05:11 +0000 (20:05 +0000)
committerImre Kaloz <kaloz@openwrt.org>
Thu, 7 Feb 2008 20:05:11 +0000 (20:05 +0000)
SVN-Revision: 10411

toolchain/uClibc/patches/007-avr32.patch
toolchain/uClibc/patches/008-avr32_fix_sa_onstack.patch [new file with mode: 0644]

index 1f2f2e1e789a9eea1d1665b700811c99adb706c6..d275ac2302816fe0f78aa0e945f49a7edde8eb4e 100644 (file)
@@ -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 (file)
index 0000000..722decd
--- /dev/null
@@ -0,0 +1,31 @@
+From 974a769cc135bcfb1ea751db34a84ed6b5ceb509 Mon Sep 17 00:00:00 2001
+From: Haavard Skinnemoen <hskinnemoen@atmel.com>
+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 <hskinnemoen@atmel.com>
+---
+ 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
+