- 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
--- /dev/null
+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
+