* [Buildroot] [PATCH 01/12] arch: kill avr32
2015-02-13 22:34 [Buildroot] [PATCH 0/12] arch/avr32: say bye-bye! (branch yem/avr32) Yann E. MORIN
@ 2015-02-13 22:34 ` Yann E. MORIN
2015-02-14 6:37 ` Thomas Petazzoni
2015-02-13 22:34 ` [Buildroot] [PATCH 02/12] configs: get rid of avr32 defconfigs Yann E. MORIN
` (10 subsequent siblings)
11 siblings, 1 reply; 15+ messages in thread
From: Yann E. MORIN @ 2015-02-13 22:34 UTC (permalink / raw)
To: buildroot
avr32 was slated for removal in 2015.02. Make it so!
This patch only definitively hides the symbol. When all references
to it are eradicated (to come in followup patches), we'll eventually
kill the symbol altogether.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
.defconfig | 1 -
arch/Config.in | 30 +++++++++++++++---------------
2 files changed, 15 insertions(+), 16 deletions(-)
diff --git a/.defconfig b/.defconfig
index 77ab11a..585be55 100644
--- a/.defconfig
+++ b/.defconfig
@@ -6,7 +6,6 @@ BR2_HAVE_DOT_CONFIG=y
# BR2_alpha is not set
# BR2_arm is not set
# BR2_armeb is not set
-# BR2_avr32 is not set
# BR2_cris is not set
# BR2_ia64 is not set
BR2_i386=y
diff --git a/arch/Config.in b/arch/Config.in
index 890e7e2..6c8f328 100644
--- a/arch/Config.in
+++ b/arch/Config.in
@@ -53,21 +53,6 @@ config BR2_aarch64
http://www.arm.com/products/processors/instruction-set-architectures/armv8-architecture.php
http://en.wikipedia.org/wiki/ARM
-config BR2_avr32
- bool "AVR32"
- select BR2_SOFT_FLOAT
- # This architecture is obsolete and complicated to maintain to
- # do the lack of upstream support in the major toolchain
- # components. If you're interested by AVR32, contact the
- # Buildroot community. Otherwise, its support will be removed
- # by the 2015.02 release.
- depends on BR2_DEPRECATED_SINCE_2014_08
- help
- The AVR32 is a 32-bit RISC microprocessor architecture designed by
- Atmel.
- http://www.atmel.com/
- http://en.wikipedia.org/wiki/Avr32
-
config BR2_bfin
bool "Blackfin"
help
@@ -209,6 +194,21 @@ config BR2_xtensa
endchoice
+config BR2_avr32
+ bool
+ select BR2_SOFT_FLOAT
+ # This architecture is obsolete and complicated to maintain to
+ # do the lack of upstream support in the major toolchain
+ # components. If you're interested by AVR32, contact the
+ # Buildroot community. Otherwise, its support will be removed
+ # by the 2015.02 release.
+ depends on BR2_DEPRECATED_SINCE_2014_08
+ help
+ The AVR32 is a 32-bit RISC microprocessor architecture designed by
+ Atmel.
+ http://www.atmel.com/
+ http://en.wikipedia.org/wiki/Avr32
+
# The following string values are defined by the individual
# Config.in.$ARCH files
config BR2_ARCH
--
1.9.1
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [Buildroot] [PATCH 02/12] configs: get rid of avr32 defconfigs
2015-02-13 22:34 [Buildroot] [PATCH 0/12] arch/avr32: say bye-bye! (branch yem/avr32) Yann E. MORIN
2015-02-13 22:34 ` [Buildroot] [PATCH 01/12] arch: kill avr32 Yann E. MORIN
@ 2015-02-13 22:34 ` Yann E. MORIN
2015-02-13 22:34 ` [Buildroot] [PATCH 03/12] packages: all salute the passing of avr32 Yann E. MORIN
` (9 subsequent siblings)
11 siblings, 0 replies; 15+ messages in thread
From: Yann E. MORIN @ 2015-02-13 22:34 UTC (permalink / raw)
To: buildroot
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
configs/atngw100_defconfig | 35 -----------------------------------
configs/atstk100x_defconfig | 26 --------------------------
2 files changed, 61 deletions(-)
delete mode 100644 configs/atngw100_defconfig
delete mode 100644 configs/atstk100x_defconfig
diff --git a/configs/atngw100_defconfig b/configs/atngw100_defconfig
deleted file mode 100644
index d410f5b..0000000
--- a/configs/atngw100_defconfig
+++ /dev/null
@@ -1,35 +0,0 @@
-# AVR32 is deprecated
-BR2_DEPRECATED=y
-
-# Architecture
-BR2_avr32=y
-
-# Lock down kernel headers version, to match the kernel version used
-# below.
-BR2_KERNEL_HEADERS_VERSION=y
-BR2_DEFAULT_KERNEL_VERSION="3.9.11"
-BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_9=y
-
-# Filesystems
-BR2_TARGET_ROOTFS_JFFS2=y
-BR2_TARGET_ROOTFS_JFFS2_FLASH_128=y
-BR2_TARGET_ROOTFS_JFFS2_PAGESIZE=0x1000
-BR2_TARGET_ROOTFS_JFFS2_EBSIZE=0x20000
-BR2_TARGET_ROOTFS_JFFS2_NOCLEANMARKER=y
-BR2_TARGET_ROOTFS_JFFS2_BE=y
-BR2_TARGET_ROOTFS_TAR=y
-BR2_TARGET_ROOTFS_TAR_NONE=y
-
-# Bootloader
-BR2_TARGET_UBOOT=y
-BR2_TARGET_UBOOT_BOARDNAME="atngw100"
-BR2_TARGET_UBOOT_CUSTOM_VERSION=y
-BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2010.09"
-
-# Kernel. Locked to 3.9.x, because 3.10.x fails to build with
-# relocation truncated to fit: R_AVR32_16N_PCREL against symbol
-# `_ctype'
-BR2_LINUX_KERNEL=y
-BR2_LINUX_KERNEL_CUSTOM_VERSION=y
-BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="3.9.11"
-BR2_LINUX_KERNEL_DEFCONFIG="atngw100"
diff --git a/configs/atstk100x_defconfig b/configs/atstk100x_defconfig
deleted file mode 100644
index 0e17e36..0000000
--- a/configs/atstk100x_defconfig
+++ /dev/null
@@ -1,26 +0,0 @@
-# AVR32 is deprecated
-BR2_DEPRECATED=y
-
-# Architecture
-BR2_avr32=y
-
-# Lock to same version as kernel
-BR2_KERNEL_HEADERS_VERSION=y
-BR2_DEFAULT_KERNEL_VERSION="3.9.11"
-BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_9=y
-
-# U-Boot
-BR2_TARGET_UBOOT=y
-BR2_TARGET_UBOOT_BOARDNAME="atstk1002"
-BR2_TARGET_UBOOT_CUSTOM_VERSION=y
-BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2010.09"
-
-# Kernel
-BR2_LINUX_KERNEL=y
-BR2_LINUX_KERNEL_CUSTOM_VERSION=y
-BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="3.9.11"
-BR2_LINUX_KERNEL_USE_DEFCONFIG=y
-BR2_LINUX_KERNEL_DEFCONFIG="atstk1002"
-
-# Filesystem
-BR2_TARGET_ROOTFS_TAR=y
--
1.9.1
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [Buildroot] [PATCH 03/12] packages: all salute the passing of avr32
2015-02-13 22:34 [Buildroot] [PATCH 0/12] arch/avr32: say bye-bye! (branch yem/avr32) Yann E. MORIN
2015-02-13 22:34 ` [Buildroot] [PATCH 01/12] arch: kill avr32 Yann E. MORIN
2015-02-13 22:34 ` [Buildroot] [PATCH 02/12] configs: get rid of avr32 defconfigs Yann E. MORIN
@ 2015-02-13 22:34 ` Yann E. MORIN
2015-02-13 22:34 ` [Buildroot] [PATCH 04/12] linux: get rid of avr32 specifics Yann E. MORIN
` (8 subsequent siblings)
11 siblings, 0 replies; 15+ messages in thread
From: Yann E. MORIN @ 2015-02-13 22:34 UTC (permalink / raw)
To: buildroot
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
package/aiccu/Config.in | 5 -
package/alsa-lib/0001-avr32-bad-inline.patch | 91 -
package/alsa-lib/alsa-lib.mk | 4 -
package/avrdude/Config.in | 2 -
package/bdwgc/Config.in | 2 +-
package/blktrace/Config.in | 2 +-
package/bluez5_utils/Config.in | 1 -
package/bluez_utils/Config.in | 3 +-
package/btrfs-progs/Config.in | 2 -
package/collectd/Config.in | 1 -
package/connman/Config.in | 3 +-
package/cwiid/Config.in | 2 -
package/dovecot/Config.in | 2 -
package/dropwatch/dropwatch.mk | 4 +-
.../dvb-apps/0002-Fix-compiler-warning-flags.patch | 25 -
package/e2fsprogs/Config.in | 2 +-
package/ecryptfs-utils/Config.in | 4 +-
package/efl/expedite/Config.in | 2 -
package/efl/libecore/Config.in | 2 -
package/efl/libedbus/Config.in | 2 -
package/efl/libedje/Config.in | 2 -
package/efl/libelementary/Config.in | 2 -
package/efl/libethumb/Config.in | 2 -
package/efl/libevas/Config.in | 2 -
package/elfutils/Config.in | 4 -
package/enlightenment/Config.in | 2 -
package/fbv/0001-arch.patch.avr32 | 48 -
package/gadgetfs-test/Config.in | 2 +-
package/gpsd/Config.in | 3 -
package/gstreamer/gstreamer/gstreamer.mk | 2 +-
package/gstreamer1/gst1-libav/Config.in | 1 -
package/gstreamer1/gst1-plugins-bad/Config.in | 1 -
package/gstreamer1/gstreamer1/gstreamer1.mk | 2 +-
package/iputils/Config.in | 1 -
package/keyutils/Config.in | 2 +-
package/libaio/0002-avr32-support.patch | 122 -
package/libaio/Config.in | 2 +-
package/libcap-ng/Config.in | 1 -
package/libcec/0001-no-psabi-warning.patch | 22 -
package/libev/Config.in | 2 +-
package/libmad/0002-optimization.patch.avr32 | 2922 --------------------
package/libmad/Config.in | 1 -
package/libmicrohttpd/libmicrohttpd.mk | 5 -
package/libsecret/Config.in | 3 -
...tack-direction-for-the-AVR32-architecture.patch | 33 -
package/libusb/libusb.mk | 4 -
package/lua-ev/Config.in | 2 +-
package/lxc/Config.in | 2 -
package/mpd/Config.in | 6 +-
package/mtr/Config.in | 1 -
package/mysql/Config.in | 1 -
package/network-manager/Config.in | 2 -
package/ofono/Config.in | 2 -
package/opencv/Config.in | 1 -
package/openobex/Config.in | 3 +-
package/openpgm/Config.in | 2 -
package/oprofile/oprofile.mk | 5 -
package/php/Config.ext | 4 -
package/pinentry/Config.in | 2 -
package/poco/Config.in | 5 +-
.../012-support-library-path-old-compilers.patch | 54 -
.../011-support-library-path-old-compilers.patch | 54 -
package/qemu/qemu.mk | 1 -
package/qt/Config.in | 2 -
package/qt/qt.mk | 2 -
package/qt5/Config.in | 2 -
package/qt5/qt5base/Config.in | 1 -
package/qt5/qt5connectivity/Config.in | 3 +-
package/radvd/Config.in | 2 -
package/samba/Config.in | 2 -
package/samba4/Config.in | 1 -
package/sconeserver/Config.in | 4 +-
package/snowball-init/Config.in | 3 +-
package/squid/Config.in | 1 -
package/trace-cmd/Config.in | 1 -
package/tvheadend/Config.in | 6 -
package/uboot-tools/uboot-tools.mk | 4 +-
package/udisks/Config.in | 3 -
package/ussp-push/Config.in | 3 +-
package/util-linux/Config.in | 2 -
package/wayland/Config.in | 2 -
package/weston/Config.in | 2 -
package/wpa_supplicant/Config.in | 1 -
package/x11r7/xserver_xorg-server/Config.in | 4 -
package/zeromq/Config.in | 1 -
package/zmqpp/Config.in | 2 -
86 files changed, 27 insertions(+), 3528 deletions(-)
delete mode 100644 package/alsa-lib/0001-avr32-bad-inline.patch
delete mode 100644 package/dvb-apps/0002-Fix-compiler-warning-flags.patch
delete mode 100644 package/fbv/0001-arch.patch.avr32
delete mode 100644 package/libaio/0002-avr32-support.patch
delete mode 100644 package/libcec/0001-no-psabi-warning.patch
delete mode 100644 package/libmad/0002-optimization.patch.avr32
delete mode 100644 package/libsigsegv/0001-Add-stack-direction-for-the-AVR32-architecture.patch
delete mode 100644 package/python/012-support-library-path-old-compilers.patch
delete mode 100644 package/python3/011-support-library-path-old-compilers.patch
diff --git a/package/aiccu/Config.in b/package/aiccu/Config.in
index ce5cea6..df184fa 100644
--- a/package/aiccu/Config.in
+++ b/package/aiccu/Config.in
@@ -6,10 +6,6 @@ config BR2_PACKAGE_AICCU
depends on BR2_USE_MMU # fork()
# Uses dn_skipname(), only available since 0.9.33
depends on !BR2_UCLIBC_VERSION_0_9_31
- # AVR32 only has uClibc 0.9.31, so there's no way it can build
- # due to the lack of dn_skipname(), even with external
- # toolchains.
- depends on !BR2_avr32
# Triggers the _gp link issue
depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII201305
depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII201405
@@ -31,6 +27,5 @@ config BR2_PACKAGE_AICCU
comment "aiccu needs a toolchain w/ IPv6, wchar, threads"
depends on BR2_USE_MMU
depends on !(BR2_INET_IPV6 && BR2_USE_WCHAR && BR2_TOOLCHAIN_HAS_THREADS)
- depends on !BR2_avr32
depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII201305
depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII201405
diff --git a/package/alsa-lib/0001-avr32-bad-inline.patch b/package/alsa-lib/0001-avr32-bad-inline.patch
deleted file mode 100644
index 568ba40..0000000
--- a/package/alsa-lib/0001-avr32-bad-inline.patch
+++ /dev/null
@@ -1,91 +0,0 @@
-diff -urN alsa-lib-1.0.18-0rig//src/pcm/pcm_local.h alsa-lib-1.0.18/src/pcm/pcm_local.h
---- alsa-lib-1.0.18-0rig//src/pcm/pcm_local.h 2009-01-31 11:02:12.000000000 +0100
-+++ alsa-lib-1.0.18/src/pcm/pcm_local.h 2009-01-31 11:03:24.000000000 +0100
-@@ -611,6 +611,13 @@
- snd_pcm_hw_param_t var);
- int _snd_pcm_hw_param_set(snd_pcm_hw_params_t *params,
- snd_pcm_hw_param_t var, unsigned int val, int dir);
-+
-+#if defined(AVR32_INLINE_BUG)
-+int _snd_pcm_hw_params_set_format(snd_pcm_hw_params_t *params,
-+ snd_pcm_format_t val);
-+int _snd_pcm_hw_params_set_subformat(snd_pcm_hw_params_t *params,
-+ snd_pcm_subformat_t val);
-+#else
- static inline int _snd_pcm_hw_params_set_format(snd_pcm_hw_params_t *params,
- snd_pcm_format_t val)
- {
-@@ -624,7 +631,7 @@
- return _snd_pcm_hw_param_set(params, SND_PCM_HW_PARAM_SUBFORMAT,
- (unsigned long) val, 0);
- }
--
-+#endif
- int _snd_pcm_hw_param_set_min(snd_pcm_hw_params_t *params,
- snd_pcm_hw_param_t var, unsigned int val, int dir);
- int _snd_pcm_hw_param_set_max(snd_pcm_hw_params_t *params,
-diff -urN alsa-lib-1.0.18-0rig//src/pcm/pcm_route.c alsa-lib-1.0.18/src/pcm/pcm_route.c
---- alsa-lib-1.0.18-0rig//src/pcm/pcm_route.c 2009-01-31 11:02:12.000000000 +0100
-+++ alsa-lib-1.0.18/src/pcm/pcm_route.c 2009-01-31 11:03:18.000000000 +0100
-@@ -26,6 +26,7 @@
- *
- */
-
-+
- #include <byteswap.h>
- #include <math.h>
- #include "pcm_local.h"
-@@ -106,6 +107,23 @@
-
- #endif /* DOC_HIDDEN */
-
-+
-+#if defined(AVR32_INLINE_BUG)
-+int _snd_pcm_hw_params_set_format(snd_pcm_hw_params_t *params,
-+ snd_pcm_format_t val)
-+{
-+ return _snd_pcm_hw_param_set(params, SND_PCM_HW_PARAM_FORMAT,
-+ (unsigned long) val, 0);
-+}
-+
-+int _snd_pcm_hw_params_set_subformat(snd_pcm_hw_params_t *params,
-+ snd_pcm_subformat_t val)
-+{
-+ return _snd_pcm_hw_param_set(params, SND_PCM_HW_PARAM_SUBFORMAT,
-+ (unsigned long) val, 0);
-+}
-+#endif
-+
- static void snd_pcm_route_convert1_zero(const snd_pcm_channel_area_t *dst_area,
- snd_pcm_uframes_t dst_offset,
- const snd_pcm_channel_area_t *src_areas ATTRIBUTE_UNUSED,
-@@ -483,6 +501,8 @@
- snd_pcm_uframes_t frames,
- snd_pcm_route_params_t *params)
- {
-+#if defined(AVR32_INLINE_BUG)
-+#endif
- unsigned int dst_channel;
- snd_pcm_route_ttable_dst_t *dstp;
- const snd_pcm_channel_area_t *dst_area;
-@@ -551,8 +571,20 @@
- _snd_pcm_hw_param_set_mask(sparams, SND_PCM_HW_PARAM_ACCESS,
- &saccess_mask);
- if (route->sformat != SND_PCM_FORMAT_UNKNOWN) {
-+#if defined(AVR32_INLINE_BUG)
-+/* Start of of problem */
-+#endif
- _snd_pcm_hw_params_set_format(sparams, route->sformat);
- _snd_pcm_hw_params_set_subformat(sparams, SND_PCM_SUBFORMAT_STD);
-+#if 0
-+ _snd_pcm_hw_param_set(sparams, SND_PCM_HW_PARAM_FORMAT,
-+ (unsigned long) route->sformat, 0);
-+ _snd_pcm_hw_param_set(sparams, SND_PCM_HW_PARAM_SUBFORMAT,
-+ (unsigned long) SND_PCM_SUBFORMAT_STD, 0);
-+#endif
-+#if defined(AVR32_INLINE_BUG)
-+/* End of problem */
-+#endif
- }
- if (route->schannels >= 0) {
- _snd_pcm_hw_param_set(sparams, SND_PCM_HW_PARAM_CHANNELS,
diff --git a/package/alsa-lib/alsa-lib.mk b/package/alsa-lib/alsa-lib.mk
index 16d184e..c67258f 100644
--- a/package/alsa-lib/alsa-lib.mk
+++ b/package/alsa-lib/alsa-lib.mk
@@ -50,10 +50,6 @@ ifneq ($(BR2_PACKAGE_ALSA_LIB_OLD_SYMBOLS),y)
ALSA_LIB_CONF_OPTS += --disable-old-symbols
endif
-ifeq ($(BR2_avr32),y)
-ALSA_LIB_CFLAGS += -DAVR32_INLINE_BUG
-endif
-
ifeq ($(BR2_PACKAGE_ALSA_LIB_PYTHON),y)
ALSA_LIB_CONF_OPTS += \
--with-pythonlibs=-lpython$(PYTHON_VERSION_MAJOR) \
diff --git a/package/avrdude/Config.in b/package/avrdude/Config.in
index f090ac6..1433d2b 100644
--- a/package/avrdude/Config.in
+++ b/package/avrdude/Config.in
@@ -8,7 +8,6 @@ config BR2_PACKAGE_AVRDUDE
depends on BR2_LARGEFILE # elfutils
depends on BR2_USE_WCHAR # elfutils
depends on !BR2_STATIC_LIBS # elfutils
- depends on !BR2_avr32 # elfutils
depends on !BR2_bfin # elfutils
help
avrdude is a programmer for Atmel AVR microcontrollers
@@ -18,5 +17,4 @@ config BR2_PACKAGE_AVRDUDE
comment "avrdude needs a toolchain w/ threads, largefile, wchar, dynamic library"
depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_LARGEFILE || !BR2_USE_WCHAR || BR2_STATIC_LIBS
- depends on !BR2_avr32
depends on !BR2_bfin
diff --git a/package/bdwgc/Config.in b/package/bdwgc/Config.in
index ec83fa3..da302e0 100644
--- a/package/bdwgc/Config.in
+++ b/package/bdwgc/Config.in
@@ -1,7 +1,7 @@
config BR2_PACKAGE_BDWGC_ARCH_SUPPORTS
bool
default y
- depends on BR2_arm || BR2_armeb || BR2_avr32 || BR2_i386 \
+ depends on BR2_arm || BR2_armeb || BR2_i386 \
|| BR2_mips || BR2_mipsel || BR2_powerpc || BR2_sh \
|| BR2_sparc || BR2_x86_64
diff --git a/package/blktrace/Config.in b/package/blktrace/Config.in
index e68ae13..09c95eb 100644
--- a/package/blktrace/Config.in
+++ b/package/blktrace/Config.in
@@ -4,7 +4,7 @@ config BR2_PACKAGE_BLKTRACE
depends on BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL
# Because of libaio arch depends
depends on \
- BR2_arm || BR2_armeb || BR2_avr32 || BR2_i386 || \
+ BR2_arm || BR2_armeb || BR2_i386 || \
BR2_m68k || BR2_mips || BR2_mipsel || BR2_powerpc || \
BR2_sparc || BR2_x86_64
select BR2_PACKAGE_LIBAIO
diff --git a/package/bluez5_utils/Config.in b/package/bluez5_utils/Config.in
index a7cd55e..8841649 100644
--- a/package/bluez5_utils/Config.in
+++ b/package/bluez5_utils/Config.in
@@ -1,6 +1,5 @@
config BR2_PACKAGE_BLUEZ5_UTILS
bool "bluez-utils 5.x"
- depends on !BR2_avr32
depends on BR2_USE_WCHAR # libglib2
depends on BR2_TOOLCHAIN_HAS_THREADS # dbus, libglib2
depends on BR2_USE_MMU # dbus
diff --git a/package/bluez_utils/Config.in b/package/bluez_utils/Config.in
index c4760b2..34defd3 100644
--- a/package/bluez_utils/Config.in
+++ b/package/bluez_utils/Config.in
@@ -1,6 +1,5 @@
config BR2_PACKAGE_BLUEZ_UTILS
bool "bluez-utils"
- depends on !BR2_avr32
depends on !BR2_STATIC_LIBS
depends on BR2_USE_WCHAR # libglib2
depends on BR2_TOOLCHAIN_HAS_THREADS # dbus, alsa-lib, libglib2
@@ -47,5 +46,5 @@ config BR2_PACKAGE_BLUEZ_UTILS_GATT
endif
comment "bluez-utils needs a toolchain w/ wchar, threads, dynamic library"
- depends on !BR2_avr32 && BR2_USE_MMU
+ depends on BR2_USE_MMU
depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS
diff --git a/package/btrfs-progs/Config.in b/package/btrfs-progs/Config.in
index a8d407b..dcd2ec5 100644
--- a/package/btrfs-progs/Config.in
+++ b/package/btrfs-progs/Config.in
@@ -4,7 +4,6 @@ config BR2_PACKAGE_BTRFS_PROGS
depends on BR2_USE_WCHAR # util-linux
depends on BR2_USE_MMU # util-linux
depends on BR2_TOOLCHAIN_HAS_THREADS
- depends on !BR2_avr32 # toolchain issues
select BR2_PACKAGE_ACL
select BR2_PACKAGE_ATTR
select BR2_PACKAGE_E2FSPROGS
@@ -20,6 +19,5 @@ config BR2_PACKAGE_BTRFS_PROGS
comment "btrfs-progs needs a toolchain w/ largefile, wchar, threads"
depends on BR2_USE_MMU
- depends on !BR2_avr32
depends on !BR2_LARGEFILE || !BR2_USE_WCHAR || \
!BR2_TOOLCHAIN_HAS_THREADS
diff --git a/package/collectd/Config.in b/package/collectd/Config.in
index c12dd5b..64f7d58 100644
--- a/package/collectd/Config.in
+++ b/package/collectd/Config.in
@@ -251,7 +251,6 @@ config BR2_PACKAGE_COLLECTD_MYSQL
depends on BR2_INSTALL_LIBSTDCPP # mysql
depends on BR2_USE_MMU # mysql
depends on BR2_TOOLCHAIN_HAS_THREADS # mysql
- depends on !BR2_avr32 # mysql
select BR2_PACKAGE_MYSQL
help
Connects to a MySQL database and issues a "show status" command.
diff --git a/package/connman/Config.in b/package/connman/Config.in
index f071627..39a8ed4 100644
--- a/package/connman/Config.in
+++ b/package/connman/Config.in
@@ -3,7 +3,6 @@ config BR2_PACKAGE_CONNMAN
select BR2_PACKAGE_DBUS
select BR2_PACKAGE_LIBGLIB2
select BR2_PACKAGE_IPTABLES
- depends on !BR2_avr32 # no inotify_init1
depends on BR2_USE_WCHAR # libglib2
depends on BR2_INET_IPV6
depends on BR2_TOOLCHAIN_HAS_THREADS # dbus, libglib2
@@ -66,5 +65,5 @@ config BR2_PACKAGE_CONNMAN_CLIENT
endif # BR2_PACKAGE_CONNMAN
comment "connman needs a toolchain w/ IPv6, wchar, threads, resolver, dynamic library"
- depends on BR2_USE_MMU && !BR2_avr32
+ depends on BR2_USE_MMU
depends on !BR2_USE_WCHAR || !BR2_INET_IPV6 || !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS
diff --git a/package/cwiid/Config.in b/package/cwiid/Config.in
index 0859dac..1b64f0a 100644
--- a/package/cwiid/Config.in
+++ b/package/cwiid/Config.in
@@ -1,6 +1,5 @@
config BR2_PACKAGE_CWIID
bool "cwiid"
- depends on !BR2_avr32 # bluez_utils
depends on !BR2_STATIC_LIBS # bluez_utils
depends on BR2_USE_WCHAR # bluez_utils -> libglib2
depends on BR2_TOOLCHAIN_HAS_THREADS # bluez_utils -> dbus, alsa-lib, libglib2
@@ -27,5 +26,4 @@ endif
comment "cwiid needs a toolchain w/ dynamic lib, threads, wchar"
depends on BR2_STATIC_LIBS || !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS
- depends on !BR2_avr32
depends on !BR2_USE_MMU
diff --git a/package/dovecot/Config.in b/package/dovecot/Config.in
index aa4c221..fedc4d9 100644
--- a/package/dovecot/Config.in
+++ b/package/dovecot/Config.in
@@ -24,13 +24,11 @@ config BR2_PACKAGE_DOVECOT_MYSQL
select BR2_PACKAGE_MYSQL
depends on BR2_INSTALL_LIBSTDCPP # mysql
depends on BR2_TOOLCHAIN_HAS_THREADS # mysql
- depends on !BR2_avr32 # mysql
help
Enable MySQL support.
comment "mysql support needs a toolchain w/ C++, threads"
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS
- depends on !BR2_avr32
config BR2_PACKAGE_DOVECOT_OPENSSL
bool "openssl support"
diff --git a/package/dropwatch/dropwatch.mk b/package/dropwatch/dropwatch.mk
index 9c05845..3565927 100644
--- a/package/dropwatch/dropwatch.mk
+++ b/package/dropwatch/dropwatch.mk
@@ -13,10 +13,8 @@ DROPWATCH_LICENSE_FILES = COPYING
# libbfd may be linked to libintl
# Ugly... but LDFLAGS are hardcoded anyway
-#
-# Also: always need to add -liberty to hardcoded LDFLAGS for avr32
DROPWATCH_LDFLAGS = \
- $(TARGET_LDFLAGS) -lbfd -liberty -lreadline -lnl-3 -lnl-genl-3 \
+ $(TARGET_LDFLAGS) -lbfd -lreadline -lnl-3 -lnl-genl-3 \
-lpthread -lncurses -lm
ifeq ($(BR2_NEEDS_GETTEXT_IF_LOCALE),y)
diff --git a/package/dvb-apps/0002-Fix-compiler-warning-flags.patch b/package/dvb-apps/0002-Fix-compiler-warning-flags.patch
deleted file mode 100644
index 9da0408..0000000
--- a/package/dvb-apps/0002-Fix-compiler-warning-flags.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-When building for avr32, the build fails as follows.
-
- cc1: error: unrecognized command line option "-Wno-packed-bitfield-compat"
-
-An example of an autobuild failure arising from this is the following.
-
- http://autobuild.buildroot.net/results/92e/92e472004812a3616f62d766a9ea07a997a66e89/
-
-Clearly, not all toolchains provide a gcc that understands
-the -Wno-packed-bitfield-compat flag; remove usage of this flag.
-
-Signed-off-by: Simon Dawson <spdawson@gmail.com>
-
-diff -Nurp a/util/scan/Makefile b/util/scan/Makefile
---- a/util/scan/Makefile 2013-11-24 17:04:10.000000000 +0000
-+++ b/util/scan/Makefile 2013-12-13 09:37:11.967975173 +0000
-@@ -14,7 +14,7 @@ inst_bin = $(binaries)
-
- removing = atsc_psip_section.c atsc_psip_section.h
-
--CPPFLAGS += -Wno-packed-bitfield-compat -D__KERNEL_STRICT_NAMES
-+CPPFLAGS += -D__KERNEL_STRICT_NAMES
-
- .PHONY: all
-
diff --git a/package/e2fsprogs/Config.in b/package/e2fsprogs/Config.in
index 05fa4e3..d9c03a8 100644
--- a/package/e2fsprogs/Config.in
+++ b/package/e2fsprogs/Config.in
@@ -50,7 +50,7 @@ config BR2_PACKAGE_E2FSPROGS_E2UNDO
config BR2_PACKAGE_E2FSPROGS_E4DEFRAG
bool "e4defrag"
- depends on !BR2_avr32 && !BR2_nios2 # fallocate not implemented
+ depends on !BR2_nios2 # fallocate not implemented
depends on !BR2_TOOLCHAIN_USES_UCLIBC # sync_file_range not impl
comment "e4defrag needs an (e)glibc or musl toolchain"
diff --git a/package/ecryptfs-utils/Config.in b/package/ecryptfs-utils/Config.in
index 845717b..bd7b586 100644
--- a/package/ecryptfs-utils/Config.in
+++ b/package/ecryptfs-utils/Config.in
@@ -9,7 +9,7 @@ config BR2_PACKAGE_ECRYPTFS_UTILS
select BR2_PACKAGE_GETENT
depends on BR2_USE_WCHAR # gettext
depends on BR2_USE_MMU # keyutils
- depends on !BR2_avr32 && !BR2_microblaze # keyutils
+ depends on !BR2_microblaze # keyutils
depends on BR2_LARGEFILE # libnss
depends on BR2_TOOLCHAIN_HAS_THREADS # libnss -> libnspr
depends on BR2_PACKAGE_LIBNSPR_ARCH_SUPPORT # libnss -> libnspr
@@ -31,7 +31,7 @@ config BR2_PACKAGE_ECRYPTFS_UTILS
http://ecryptfs.org
comment "ecryptfs-utils needs a toolchain w/ largefile, threads, wchar, dynamic library"
- depends on !BR2_avr32 && !BR2_microblaze
+ depends on !BR2_microblaze
depends on BR2_PACKAGE_LIBNSPR_ARCH_SUPPORT
depends on BR2_USE_MMU
depends on !BR2_LARGEFILE || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR || \
diff --git a/package/efl/expedite/Config.in b/package/efl/expedite/Config.in
index 96db266..ddbf020 100644
--- a/package/efl/expedite/Config.in
+++ b/package/efl/expedite/Config.in
@@ -5,7 +5,6 @@ config BR2_PACKAGE_EXPEDITE
select BR2_PACKAGE_LIBEET
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_TOOLCHAIN_HAS_THREADS # libevas
- depends on !BR2_avr32 # libevas
help
Expedite is the official Evas benchmark tool. It can test different
engines, such as X11, XRender, OpenGL (also ES variant), SDL,
@@ -15,4 +14,3 @@ config BR2_PACKAGE_EXPEDITE
comment "expedite needs a toolchain w/ C++, threads"
depends on !BR2_INSTALL_LIBSTDCPP
depends on !BR2_TOOLCHAIN_HAS_THREADS
- depends on !BR2_avr32
diff --git a/package/efl/libecore/Config.in b/package/efl/libecore/Config.in
index 3db036c..a9408dc 100644
--- a/package/efl/libecore/Config.in
+++ b/package/efl/libecore/Config.in
@@ -39,10 +39,8 @@ config BR2_PACKAGE_LIBECORE_EVAS
bool "libecore Evas support"
select BR2_PACKAGE_LIBEVAS
depends on BR2_TOOLCHAIN_HAS_THREADS
- depends on !BR2_avr32 # libevas
comment "evas support needs a toolchain w/ threads"
depends on !BR2_TOOLCHAIN_HAS_THREADS
- depends on !BR2_avr32 # libevas
endif # BR2_PACKAGE_LIBECORE
diff --git a/package/efl/libedbus/Config.in b/package/efl/libedbus/Config.in
index b35e46a..7e862d3 100644
--- a/package/efl/libedbus/Config.in
+++ b/package/efl/libedbus/Config.in
@@ -16,7 +16,6 @@ if BR2_PACKAGE_LIBEDBUS
config BR2_PACKAGE_LIBEDBUS_BLUEZ
bool "bluez support"
- depends on !BR2_avr32 # bluez_utils
depends on !BR2_STATIC_LIBS # bluez_utils
depends on BR2_USE_WCHAR # bluez_utils -> glib2
depends on BR2_TOOLCHAIN_HAS_THREADS # bluez_utils -> glib2
@@ -25,7 +24,6 @@ config BR2_PACKAGE_LIBEDBUS_BLUEZ
Bluetooth support.
comment "bluez support needs a toolchain w/ wchar, threads, dynamic library"
- depends on !BR2_avr32
depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS
config BR2_PACKAGE_LIBEDBUS_CONNMAN
diff --git a/package/efl/libedje/Config.in b/package/efl/libedje/Config.in
index 503919c..b163508 100644
--- a/package/efl/libedje/Config.in
+++ b/package/efl/libedje/Config.in
@@ -1,5 +1,4 @@
comment "libedje needs a toolchain w/ threads"
- depends on !BR2_avr32
depends on !BR2_TOOLCHAIN_HAS_THREADS
config BR2_PACKAGE_LIBEDJE
@@ -11,7 +10,6 @@ config BR2_PACKAGE_LIBEDJE
select BR2_PACKAGE_LIBEMBRYO
select BR2_PACKAGE_LIBEVAS
select BR2_PACKAGE_LUA
- depends on !BR2_avr32 # libevas
depends on BR2_TOOLCHAIN_HAS_THREADS # libevas
help
A graphical layout and animation library for animated
diff --git a/package/efl/libelementary/Config.in b/package/efl/libelementary/Config.in
index 91740af..c193ef1 100644
--- a/package/efl/libelementary/Config.in
+++ b/package/efl/libelementary/Config.in
@@ -1,5 +1,4 @@
comment "libelementary needs a toolchain w/ threads"
- depends on !BR2_avr32
depends on !BR2_TOOLCHAIN_HAS_THREADS
config BR2_PACKAGE_LIBELEMENTARY
@@ -8,7 +7,6 @@ config BR2_PACKAGE_LIBELEMENTARY
select BR2_PACKAGE_LIBEVAS
select BR2_PACKAGE_LIBECORE
select BR2_PACKAGE_LIBEDJE
- depends on !BR2_avr32 # libevas
depends on BR2_TOOLCHAIN_HAS_THREADS # libevas
help
Elementary is a widget toolkit and EFL wrapper and convenience
diff --git a/package/efl/libethumb/Config.in b/package/efl/libethumb/Config.in
index 64574a0..3e9cbde 100644
--- a/package/efl/libethumb/Config.in
+++ b/package/efl/libethumb/Config.in
@@ -1,5 +1,4 @@
comment "libethumb needs a toolchain w/ threads"
- depends on !BR2_avr32
depends on !BR2_TOOLCHAIN_HAS_THREADS
config BR2_PACKAGE_LIBETHUMB
@@ -9,7 +8,6 @@ config BR2_PACKAGE_LIBETHUMB
select BR2_PACKAGE_LIBECORE
select BR2_PACKAGE_LIBECORE_EVAS
select BR2_PACKAGE_LIBEDJE
- depends on !BR2_avr32 # libevas
depends on BR2_TOOLCHAIN_HAS_THREADS # libevas
help
Ethumb is a library for generating thumbnail images of documents.
diff --git a/package/efl/libevas/Config.in b/package/efl/libevas/Config.in
index febc115..1fefe3b 100644
--- a/package/efl/libevas/Config.in
+++ b/package/efl/libevas/Config.in
@@ -1,10 +1,8 @@
comment "libevas needs a toolchain w/ threads"
- depends on !BR2_avr32
depends on !BR2_TOOLCHAIN_HAS_THREADS
config BR2_PACKAGE_LIBEVAS
bool "libevas"
- depends on !BR2_avr32 # no epoll_create1 or inotify_init1
# libevas should normally build without threads, but due to a
# build issue when the async preloader is disabled, which is
# needed when no threads are available, we don't allow evas to
diff --git a/package/elfutils/Config.in b/package/elfutils/Config.in
index 9f72098..cb9a658 100644
--- a/package/elfutils/Config.in
+++ b/package/elfutils/Config.in
@@ -1,5 +1,4 @@
comment "elfutils needs a toolchain w/ largefile, wchar, dynamic library"
- depends on !BR2_avr32
depends on !BR2_bfin
depends on !BR2_LARGEFILE || !BR2_USE_WCHAR || BR2_STATIC_LIBS
@@ -10,9 +9,6 @@ config BR2_PACKAGE_ELFUTILS
depends on BR2_LARGEFILE
depends on BR2_USE_WCHAR
depends on !BR2_STATIC_LIBS
- # canonicalize_file_name() not available on uClibc 0.9.31, used
- # only for AVR32
- depends on !BR2_avr32
# build issue caused by the _ prefix used on blackfin for
# assembly symbols
depends on !BR2_bfin
diff --git a/package/enlightenment/Config.in b/package/enlightenment/Config.in
index 37e9e75..58f8f39 100644
--- a/package/enlightenment/Config.in
+++ b/package/enlightenment/Config.in
@@ -26,7 +26,6 @@ config BR2_PACKAGE_ENLIGHTENMENT
# libedbus -> dbus, efl libraries
depends on BR2_USE_MMU
depends on BR2_PACKAGE_XORG7
- depends on !BR2_avr32 # libevas
# libevas-generic-loaders-svg -> librsvg -> pango -> cairo
depends on BR2_ARCH_HAS_ATOMICS
help
@@ -42,4 +41,3 @@ comment "enlightenment needs a toolchain w/ wchar, C++, threads"
depends on BR2_PACKAGE_XORG7 && BR2_USE_MMU
depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP
depends on BR2_ARCH_HAS_ATOMICS
- depends on !BR2_avr32
diff --git a/package/fbv/0001-arch.patch.avr32 b/package/fbv/0001-arch.patch.avr32
deleted file mode 100644
index f57bbac..0000000
--- a/package/fbv/0001-arch.patch.avr32
+++ /dev/null
@@ -1,48 +0,0 @@
-diff -ur fbv-1.0b/fb_display.c fbv-1.0b-avr32/fb_display.c
---- fbv-1.0b/fb_display.c 2004-09-07 14:09:43.000000000 +0200
-+++ fbv-1.0b-avr32/fb_display.c 2006-05-04 13:30:25.000000000 +0200
-@@ -276,9 +276,6 @@
- for(i = 0; i < yc; i++, fbptr += scr_xs * cpp, imptr += pic_xs * cpp)
- memcpy(fbptr, imptr, xc * cpp);
-
-- if(cpp == 1)
-- set8map(fh, &map_back);
--
- munmap(fb, scr_xs * scr_ys * cpp);
- }
-
-@@ -293,17 +290,17 @@
- inline static unsigned short make15color(unsigned char r, unsigned char g, unsigned char b)
- {
- return (
-- (((r >> 3) & 31) << 10) |
-+ (((r >> 3) & 31)) |
- (((g >> 3) & 31) << 5) |
-- ((b >> 3) & 31) );
-+ ((b >> 3) & 31) << 10);
- }
-
- inline static unsigned short make16color(unsigned char r, unsigned char g, unsigned char b)
- {
- return (
-- (((r >> 3) & 31) << 11) |
-- (((g >> 2) & 63) << 5) |
-- ((b >> 3) & 31) );
-+ (((r >> 3) & 31)) |
-+ (((g >> 3) & 31) << 5) |
-+ ((b >> 3) & 31) << 10);
- }
-
- void* convertRGB2FB(int fh, unsigned char *rgbbuff, unsigned long count, int bpp, int *cpp)
-@@ -342,9 +339,9 @@
- *cpp = 4;
- i_fbbuff = (unsigned int *) malloc(count * sizeof(unsigned int));
- for(i = 0; i < count ; i++)
-- i_fbbuff[i] = ((rgbbuff[i*3] << 16) & 0xFF0000) |
-+ i_fbbuff[i] = ((rgbbuff[i*3+2] << 16) & 0xFF0000) |
- ((rgbbuff[i*3+1] << 8) & 0xFF00) |
-- (rgbbuff[i*3+2] & 0xFF);
-+ (rgbbuff[i*3] & 0xFF);
- fbbuff = (void *) i_fbbuff;
- break;
- default:
diff --git a/package/gadgetfs-test/Config.in b/package/gadgetfs-test/Config.in
index 9afb0a2..38358f2 100644
--- a/package/gadgetfs-test/Config.in
+++ b/package/gadgetfs-test/Config.in
@@ -11,7 +11,7 @@ config BR2_PACKAGE_GADGETFS_TEST_USE_AIO
select BR2_PACKAGE_LIBAIO
# libaio is available only on few architectures
depends on \
- BR2_arm || BR2_armeb || BR2_avr32 || BR2_i386 || \
+ BR2_arm || BR2_armeb || BR2_i386 || \
BR2_m68k || BR2_mips || BR2_mipsel || BR2_powerpc || \
BR2_sparc || BR2_x86_64
help
diff --git a/package/gpsd/Config.in b/package/gpsd/Config.in
index 6623900..fac8756 100644
--- a/package/gpsd/Config.in
+++ b/package/gpsd/Config.in
@@ -174,9 +174,6 @@ config BR2_PACKAGE_GPSD_NMEA2000
bool "NMEA2000"
select BR2_PACKAGE_GPSD_NAVCOM
select BR2_PACKAGE_GPSD_AIVDM
- # uClibc 0.9.31, used on AVR32, does not have the necessary
- # CAN definitions.
- depends on !BR2_avr32
help
NMEA2000/CAN support
diff --git a/package/gstreamer/gstreamer/gstreamer.mk b/package/gstreamer/gstreamer/gstreamer.mk
index 62c4935..1dbd66f 100644
--- a/package/gstreamer/gstreamer/gstreamer.mk
+++ b/package/gstreamer/gstreamer/gstreamer.mk
@@ -12,7 +12,7 @@ GSTREAMER_INSTALL_STAGING = YES
# Checking if unaligned memory access works correctly cannot be done when cross
# compiling. For the following architectures there is no information available
# in the configure script.
-ifeq ($(BR2_arc)$(BR2_avr32)$(BR2_xtensa)$(BR2_microblaze),y)
+ifeq ($(BR2_arc)$(BR2_xtensa)$(BR2_microblaze),y)
GSTREAMER_CONF_ENV = as_cv_unaligned_access=no
endif
ifeq ($(BR2_aarch64),y)
diff --git a/package/gstreamer1/gst1-libav/Config.in b/package/gstreamer1/gst1-libav/Config.in
index 2ab786e..4f9c2b8 100644
--- a/package/gstreamer1/gst1-libav/Config.in
+++ b/package/gstreamer1/gst1-libav/Config.in
@@ -1,6 +1,5 @@
config BR2_PACKAGE_GST1_LIBAV
bool "gst1-libav"
- depends on !BR2_avr32 # binary too large, relocations don't fit
select BR2_PACKAGE_GST1_PLUGINS_BASE
help
GStreamer plugin (formerly gst-ffmpeg).
diff --git a/package/gstreamer1/gst1-plugins-bad/Config.in b/package/gstreamer1/gst1-plugins-bad/Config.in
index 75a0ca1..5cadc42 100644
--- a/package/gstreamer1/gst1-plugins-bad/Config.in
+++ b/package/gstreamer1/gst1-plugins-bad/Config.in
@@ -371,7 +371,6 @@ config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DIRECTFB
config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_WAYLAND
bool "wayland"
- depends on !BR2_avr32 # wayland
depends on !BR2_STATIC_LIBS # wayland
depends on BR2_TOOLCHAIN_HAS_THREADS # wayland
select BR2_PACKAGE_WAYLAND
diff --git a/package/gstreamer1/gstreamer1/gstreamer1.mk b/package/gstreamer1/gstreamer1/gstreamer1.mk
index a8b9fda..7840284 100644
--- a/package/gstreamer1/gstreamer1/gstreamer1.mk
+++ b/package/gstreamer1/gstreamer1/gstreamer1.mk
@@ -14,7 +14,7 @@ GSTREAMER1_LICENSE = LGPLv2+ LGPLv2.1+
# Checking if unaligned memory access works correctly cannot be done when cross
# compiling. For the following architectures there is no information available
# in the configure script.
-ifeq ($(BR2_arc)$(BR2_avr32)$(BR2_xtensa)$(BR2_microblaze),y)
+ifeq ($(BR2_arc)$(BR2_xtensa)$(BR2_microblaze),y)
GSTREAMER1_CONF_ENV = as_cv_unaligned_access=no
endif
ifeq ($(BR2_aarch64),y)
diff --git a/package/iputils/Config.in b/package/iputils/Config.in
index e9221ad..ac1218f 100644
--- a/package/iputils/Config.in
+++ b/package/iputils/Config.in
@@ -3,7 +3,6 @@ config BR2_PACKAGE_IPUTILS
select BR2_PACKAGE_OPENSSL if BR2_INET_IPV6
depends on BR2_USE_MMU # fork()
# requires dn_comp (only available in since uclibc 0.9.33)
- depends on !BR2_avr32
depends on !BR2_UCLIBC_VERSION_0_9_31
help
This package is set of small useful utilities for Linux networking.
diff --git a/package/keyutils/Config.in b/package/keyutils/Config.in
index bae8568..fcb075f 100644
--- a/package/keyutils/Config.in
+++ b/package/keyutils/Config.in
@@ -1,6 +1,6 @@
config BR2_PACKAGE_KEYUTILS
bool "keyutils"
- depends on !BR2_avr32 && !BR2_microblaze
+ depends on !BR2_microblaze
depends on BR2_USE_MMU # fork()
help
These tools are used to control the key management system
diff --git a/package/libaio/0002-avr32-support.patch b/package/libaio/0002-avr32-support.patch
deleted file mode 100644
index 57bb1f3..0000000
--- a/package/libaio/0002-avr32-support.patch
+++ /dev/null
@@ -1,122 +0,0 @@
-Add AVR32 support to libaio
-
-Taken from OpenWRT repository.
-
---- a/src/libaio.h
-+++ b/src/libaio.h
-@@ -107,6 +107,10 @@ typedef enum io_iocb_cmd {
- # else
- # error "neither mipseb nor mipsel?"
- # endif
-+#elif defined(__avr32__) /* big endian, 32 bits */
-+#define PADDED(x, y) unsigned y; x
-+#define PADDEDptr(x, y) unsigned y; x
-+#define PADDEDul(x, y) unsigned y; unsigned long x;
- #else
- #error endian?
- #endif
---- /dev/null
-+++ b/src/syscall-avr32.h
-@@ -0,0 +1,91 @@
-+/*
-+ * Copyright (C) 2007 Atmel Corporation
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License version 2 as
-+ * published by the Free Software Foundation.
-+ */
-+
-+#define __NR_io_setup 197
-+#define __NR_io_destroy 198
-+#define __NR_io_getevents 199
-+#define __NR_io_submit 200
-+#define __NR_io_cancel 201
-+
-+#define io_syscall1(type,fname,sname,type1,arg1) \
-+type fname(type1 arg1) \
-+{ \
-+ register long __r12 __asm__("r12") = (long)arg1; \
-+ register long __res_r12 __asm__("r12"); \
-+ register long __scno __asm__("r8") = __NR_##sname; \
-+ __asm__ __volatile__("scall" \
-+ : "=r"(__res_r12) \
-+ : "0"(__r12), "r"(__scno) \
-+ : "memory"); \
-+ return (type) __res_r12; \
-+}
-+
-+#define io_syscall2(type,fname,sname,type1,arg1,type2,arg2) \
-+type fname(type1 arg1, type2 arg2) \
-+{ \
-+ register long __r12 __asm__("r12") = (long)arg1; \
-+ register long __r11 __asm__("r11") = (long)arg2; \
-+ register long __res_r12 __asm__("r12"); \
-+ register long __scno __asm__("r8") = __NR_##sname; \
-+ __asm__ __volatile__("scall" \
-+ : "=r"(__res_r12) \
-+ : "0"(__r12), "r"(__r11), "r"(__scno) \
-+ : "memory"); \
-+ return (type) __res_r12; \
-+}
-+
-+#define io_syscall3(type,fname,sname,type1,arg1,type2,arg2,type3,arg3) \
-+type fname(type1 arg1, type2 arg2, type3 arg3) \
-+{ \
-+ register long __r12 __asm__("r12") = (long)arg1; \
-+ register long __r11 __asm__("r11") = (long)arg2; \
-+ register long __r10 __asm__("r10") = (long)arg3; \
-+ register long __res_r12 __asm__("r12"); \
-+ register long __scno __asm__("r8") = __NR_##sname; \
-+ __asm__ __volatile__("scall" \
-+ : "=r"(__res_r12) \
-+ : "0"(__r12), "r"(__r11), "r"(__r10), \
-+ "r"(__scno) \
-+ : "memory"); \
-+ return (type) __res_r12; \
-+}
-+
-+#define io_syscall4(type,fname,sname,type1,arg1,type2,arg2,type3,arg3,type4,arg4) \
-+type fname(type1 arg1, type2 arg2, type3 arg3, type4 arg4) \
-+{ \
-+ register long __r12 __asm__("r12") = (long)arg1; \
-+ register long __r11 __asm__("r11") = (long)arg2; \
-+ register long __r10 __asm__("r10") = (long)arg3; \
-+ register long __r9 __asm__("r9") = (long)arg4; \
-+ register long __res_r12 __asm__("r12"); \
-+ register long __scno __asm__("r8") = __NR_##sname; \
-+ __asm__ __volatile__("scall" \
-+ : "=r"(__res_r12) \
-+ : "0"(__r12), "r"(__r11), "r"(__r10), \
-+ "r"(__r9), "r"(__scno) \
-+ : "memory"); \
-+ return (type) __res_r12; \
-+}
-+
-+#define io_syscall5(type,fname,sname,type1,arg1,type2,arg2,type3,arg3,type4,arg4,type5,arg5) \
-+type fname(type1 arg1, type2 arg2, type3 arg3, type4 arg4, type5 arg5) \
-+{ \
-+ register long __r12 __asm__("r12") = (long)arg1; \
-+ register long __r11 __asm__("r11") = (long)arg2; \
-+ register long __r10 __asm__("r10") = (long)arg3; \
-+ register long __r9 __asm__("r9") = (long)arg4; \
-+ register long __r5 __asm__("r5") = (long)arg5; \
-+ register long __res_r12 __asm__("r12"); \
-+ register long __scno __asm__("r8") = __NR_##sname; \
-+ __asm__ __volatile__("scall" \
-+ : "=r"(__res_r12) \
-+ : "0"(__r12), "r"(__r11), "r"(__r10), \
-+ "r"(__r9), "r"(__r5), "r"(__scno) \
-+ : "memory"); \
-+ return (type) __res_r12; \
-+}
---- a/src/syscall.h
-+++ b/src/syscall.h
-@@ -32,6 +32,8 @@
- #include "syscall-parisc.h"
- #elif defined(__mips__)
- #include "syscall-mips.h"
-+#elif defined(__avr32__)
-+#include "syscall-avr32.h"
- #else
- #error "add syscall-arch.h"
- #endif
diff --git a/package/libaio/Config.in b/package/libaio/Config.in
index 833009a..622fd55 100644
--- a/package/libaio/Config.in
+++ b/package/libaio/Config.in
@@ -1,7 +1,7 @@
config BR2_PACKAGE_LIBAIO
bool "libaio"
depends on \
- BR2_arm || BR2_armeb || BR2_avr32 || BR2_i386 || \
+ BR2_arm || BR2_armeb || BR2_i386 || \
BR2_m68k || BR2_mips || BR2_mipsel || BR2_powerpc || \
BR2_sparc || BR2_x86_64
help
diff --git a/package/libcap-ng/Config.in b/package/libcap-ng/Config.in
index da5b447..d1663cd 100644
--- a/package/libcap-ng/Config.in
+++ b/package/libcap-ng/Config.in
@@ -1,6 +1,5 @@
config BR2_PACKAGE_LIBCAP_NG
bool "libcap-ng"
- depends on !BR2_avr32 # lacks TLS
help
The libcap-ng library is intended to make programming with
posix capabilities much easier than the traditional libcap
diff --git a/package/libcec/0001-no-psabi-warning.patch b/package/libcec/0001-no-psabi-warning.patch
deleted file mode 100644
index bd6557e..0000000
--- a/package/libcec/0001-no-psabi-warning.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-Do not use -Wno-psabi warning, not available on old g++
-
-AVR32 uses a very old g++ version, which does not implement the
--Wno-psabi warning flag. This patch simply removes this warning flag
-from the libcec build. It can be dropped if only gcc 4.5+ versions are
-supported in Buildroot.
-
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-
-Index: b/configure.ac
-===================================================================
---- a/configure.ac
-+++ b/configure.ac
-@@ -130,7 +130,7 @@
- use_udev="no"
- use_adapter_detection="yes"
- use_lockdev="no"
--SUPPRESS_MANGLING_WARNINGS=" -Wno-psabi"
-+SUPPRESS_MANGLING_WARNINGS=""
- case "${host}" in
- *-*-linux*)
- ## search for udev if pkg-config was found
diff --git a/package/libev/Config.in b/package/libev/Config.in
index 3d10cd7..db8d263 100644
--- a/package/libev/Config.in
+++ b/package/libev/Config.in
@@ -1,7 +1,7 @@
config BR2_PACKAGE_LIBEV
bool "libev"
# needs memory fences
- depends on !(BR2_avr32 || BR2_bfin)
+ depends on !BR2_bfin
help
Userspace library for handling asynchronous notifications
diff --git a/package/libmad/0002-optimization.patch.avr32 b/package/libmad/0002-optimization.patch.avr32
deleted file mode 100644
index b74eea3..0000000
--- a/package/libmad/0002-optimization.patch.avr32
+++ /dev/null
@@ -1,2922 +0,0 @@
-diff --git a/bit.c b/bit.c
-index c2bfb24..262ce3a 100644
---- a/bit.c
-+++ b/bit.c
-@@ -25,12 +25,6 @@
-
- # include "global.h"
-
--# ifdef HAVE_LIMITS_H
--# include <limits.h>
--# else
--# define CHAR_BIT 8
--# endif
--
- # include "bit.h"
-
- /*
-@@ -81,6 +75,8 @@ unsigned short const crc_table[256] = {
-
- # define CRC_POLY 0x8005
-
-+#ifndef FPM_AVR32
-+
- /*
- * NAME: bit->init()
- * DESCRIPTION: initialize bit pointer struct
-@@ -190,6 +186,8 @@ void mad_bit_write(struct mad_bitptr *bitptr, unsigned int len,
- }
- # endif
-
-+#endif
-+
- /*
- * NAME: bit->crc()
- * DESCRIPTION: compute CRC-check word
-diff --git a/bit.h b/bit.h
-index 5a51570..70f550a 100644
---- a/bit.h
-+++ b/bit.h
-@@ -22,6 +22,92 @@
- # ifndef LIBMAD_BIT_H
- # define LIBMAD_BIT_H
-
-+# ifdef HAVE_LIMITS_H
-+# include <limits.h>
-+# else
-+# define CHAR_BIT 8
-+# endif
-+
-+#ifdef FPM_AVR32
-+
-+struct mad_bitptr {
-+ unsigned char const *byte;
-+ unsigned int read_bytes;
-+};
-+
-+/*
-+ * NAME: bit->init()
-+ * DESCRIPTION: initialize bit pointer struct
-+ */
-+static void mad_bit_init(struct mad_bitptr *bitptr, unsigned char const *byte)
-+{
-+ bitptr->byte = byte;
-+ bitptr->read_bytes = 0;
-+}
-+
-+/*
-+ * NAME: bit->length()
-+ * DESCRIPTION: return number of bits between start and end points
-+ */
-+static unsigned int mad_bit_length(struct mad_bitptr const *begin,
-+ struct mad_bitptr const *end)
-+{
-+ return (end->read_bytes - begin->read_bytes) +
-+ 8 * (end->byte - begin->byte);
-+}
-+
-+/*
-+ * NAME: bit->nextbyte()
-+ * DESCRIPTION: return pointer to next unprocessed byte
-+ */
-+static unsigned char const *mad_bit_nextbyte(struct mad_bitptr const *bitptr)
-+{
-+ return bitptr->byte + ((bitptr->read_bytes + 0x7) >> 3);
-+}
-+
-+/*
-+ * NAME: bit->skip()
-+ * DESCRIPTION: advance bit pointer
-+ */
-+static void mad_bit_skip(struct mad_bitptr *bitptr, unsigned int len)
-+{
-+ bitptr->read_bytes += len;
-+ bitptr->byte += (bitptr->read_bytes >> 3);
-+ bitptr->read_bytes &= 0x7;
-+}
-+
-+/*
-+ * NAME: bit->read()
-+ * DESCRIPTION: read an arbitrary number of bits and return their UIMSBF value
-+ */
-+static unsigned long mad_bit_read(struct mad_bitptr *bitptr, unsigned int len)
-+{
-+ register unsigned long value;
-+
-+ if (!len)
-+ return 0;
-+
-+ value = *(unsigned int *)bitptr->byte;
-+
-+ value <<= bitptr->read_bytes;
-+ value >>= (32 - len);
-+
-+ bitptr->read_bytes += len;
-+ bitptr->byte += (bitptr->read_bytes >> 3);
-+ bitptr->read_bytes &= 0x7;
-+
-+ return value;
-+}
-+
-+# define mad_bit_finish(bitptr) /* nothing */
-+
-+static unsigned long mad_bit_bitsleft(struct mad_bitptr *bitptr)
-+{
-+ return (8 - (bitptr)->read_bytes);
-+}
-+
-+#else /* #ifdef FPM_AVR32 */
-+
- struct mad_bitptr {
- unsigned char const *byte;
- unsigned short cache;
-@@ -42,6 +128,8 @@ void mad_bit_skip(struct mad_bitptr *, unsigned int);
- unsigned long mad_bit_read(struct mad_bitptr *, unsigned int);
- void mad_bit_write(struct mad_bitptr *, unsigned int, unsigned long);
-
-+#endif
-+
- unsigned short mad_bit_crc(struct mad_bitptr, unsigned int, unsigned short);
-
- # endif
-diff --git a/configure.ac b/configure.ac
-index 9b79399..063cb9b 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -274,13 +274,14 @@ fi
- AC_MSG_CHECKING(for architecture-specific fixed-point math routines)
- AC_ARG_ENABLE(fpm, AC_HELP_STRING([--enable-fpm=ARCH],
- [use ARCH-specific fixed-point math routines
-- (one of: intel, arm, mips, sparc, ppc, 64bit, default)]),
-+ (one of: intel, arm, avr32, mips, sparc, ppc, 64bit, default)]),
- [
- case "$enableval" in
- yes) ;;
- no|default|approx) FPM="DEFAULT" ;;
- intel|i?86) FPM="INTEL" ;;
- arm) FPM="ARM" ;;
-+ avr32) FPM="AVR32" ;;
- mips) FPM="MIPS" ;;
- sparc) FPM="SPARC" ;;
- ppc|powerpc) FPM="PPC" ;;
-@@ -298,6 +299,7 @@ then
- case "$host" in
- i?86-*) FPM="INTEL" ;;
- arm*-*) FPM="ARM" ;;
-+ avr32*-*) FPM="AVR32" ;;
- mips*-*) FPM="MIPS" ;;
- sparc*-*) FPM="SPARC" ;;
- powerpc*-*) FPM="PPC" ;;
-@@ -343,6 +345,11 @@ then
- ASO="$ASO -DASO_IMDCT"
- ASO_OBJS="imdct_l_arm.lo"
- ;;
-+ avr32*-*)
-+ ASO="$ASO -DASO_INTERLEAVE2"
-+ ASO="$ASO -DASO_ZEROCHECK"
-+ ASO_OBJS="dct32_avr32.lo synth_avr32.lo imdct_avr32.lo"
-+ ;;
- mips*-*)
- ASO="$ASO -DASO_INTERLEAVE2"
- ASO="$ASO -DASO_ZEROCHECK"
-diff --git a/configure b/configure
-index ee421cc..7a9f0c8 100755
---- a/configure
-+++ b/configure
-@@ -1048,7 +1048,7 @@ Optional Features:
- --enable-speed optimize for speed over accuracy
- --enable-accuracy optimize for accuracy over speed
- --enable-fpm=ARCH use ARCH-specific fixed-point math routines (one of:
-- intel, arm, mips, sparc, ppc, 64bit, default)
-+ intel, arm, avr32, mips, sparc, ppc, 64bit, default)
- --enable-sso use subband synthesis optimization
- --disable-aso disable architecture-specific optimizations
- --enable-strict-iso use strict ISO/IEC interpretations
-@@ -21477,6 +21477,7 @@ if test "${enable_fpm+set}" = set; then
- no|default|approx) FPM="DEFAULT" ;;
- intel|i?86) FPM="INTEL" ;;
- arm) FPM="ARM" ;;
-+ avr32) FPM="AVR32" ;;
- mips) FPM="MIPS" ;;
- sparc) FPM="SPARC" ;;
- ppc|powerpc) FPM="PPC" ;;
-@@ -21498,6 +21499,7 @@ then
- case "$host" in
- i?86-*) FPM="INTEL" ;;
- arm*-*) FPM="ARM" ;;
-+ avr32*-*) FPM="AVR32" ;;
- mips*-*) FPM="MIPS" ;;
- sparc*-*) FPM="SPARC" ;;
- powerpc*-*) FPM="PPC" ;;
-@@ -21554,6 +21556,11 @@ then
- ASO="$ASO -DASO_IMDCT"
- ASO_OBJS="imdct_l_arm.lo"
- ;;
-+ avr32*-*)
-+ ASO="$ASO -DASO_INTERLEAVE2"
-+ ASO="$ASO -DASO_ZEROCHECK"
-+ ASO_OBJS="dct32_avr32.lo synth_avr32.lo imdct_avr32.lo"
-+ ;;
- mips*-*)
- ASO="$ASO -DASO_INTERLEAVE2"
- ASO="$ASO -DASO_ZEROCHECK"
-diff --git a/dct32_avr32.S b/dct32_avr32.S
-new file mode 100644
-index 0000000..7513340
---- /dev/null
-+++ b/dct32_avr32.S
-@@ -0,0 +1,780 @@
-+/*
-+ Optimized 32-point Discrete Cosine Transform (DCT)
-+ Copyright 2003-2006 Atmel Corporation.
-+
-+ Written by Ronny Pedersen, Atmel Norway
-+
-+ This program is free software; you can redistribute it and/or modify
-+ it under the terms of the GNU General Public License as published by
-+ the Free Software Foundation; either version 2 of the License, or
-+ (at your option) any later version.
-+
-+ This program is distributed in the hope that it will be useful,
-+ but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ GNU General Public License for more details.
-+
-+ You should have received a copy of the GNU General Public License
-+ along with this program; if not, write to the Free Software
-+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-+
-+#define SHIFT 12
-+#define MAD_F_SCALEBITS 28
-+#define SLOTS 8
-+
-+#define MAD_F(x) ((x + (1 << 15)) >> 16)
-+
-+# define costab1 MAD_F(0x7fd8878e)
-+# define costab2 MAD_F(0x7f62368f)
-+# define costab3 MAD_F(0x7e9d55fc)
-+# define costab4 MAD_F(0x7d8a5f40)
-+# define costab5 MAD_F(0x7c29fbee)
-+# define costab6 MAD_F(0x7a7d055b)
-+# define costab7 MAD_F(0x78848414)
-+# define costab8 MAD_F(0x7641af3d)
-+# define costab9 MAD_F(0x73b5ebd1)
-+# define costab10 MAD_F(0x70e2cbc6)
-+# define costab11 MAD_F(0x6dca0d14)
-+# define costab12 MAD_F(0x6a6d98a4)
-+# define costab13 MAD_F(0x66cf8120)
-+# define costab14 MAD_F(0x62f201ac)
-+# define costab15 MAD_F(0x5ed77c8a)
-+# define costab16 MAD_F(0x5a82799a)
-+# define costab17 MAD_F(0x55f5a4d2)
-+# define costab18 MAD_F(0x5133cc94)
-+# define costab19 MAD_F(0x4c3fdff4)
-+# define costab20 MAD_F(0x471cece7)
-+# define costab21 MAD_F(0x41ce1e65)
-+# define costab22 MAD_F(0x3c56ba70)
-+# define costab23 MAD_F(0x36ba2014)
-+# define costab24 MAD_F(0x30fbc54d)
-+# define costab25 MAD_F(0x2b1f34eb)
-+# define costab26 MAD_F(0x25280c5e)
-+# define costab27 MAD_F(0x1f19f97b)
-+# define costab28 MAD_F(0x18f8b83c)
-+# define costab29 MAD_F(0x12c8106f)
-+# define costab30 MAD_F(0x0c8bd35e)
-+# define costab31 MAD_F(0x0647d97c)
-+
-+
-+ .macro butterfly2_in out1, out2, out3, out4, in, idx_in1, idx_in2, idx_in3, idx_in4, coeff1, coeff2, tmplo, tmphi
-+ mov \tmplo, \coeff1
-+ ld.w \out1, \in[\idx_in1 * 4]
-+ ld.w \out2, \in[\idx_in2 * 4]
-+ ld.w \out3, \in[\idx_in3 * 4]
-+ ld.w \out4, \in[\idx_in4 * 4]
-+ sub \tmphi, \out1, \out2
-+ add \out1, \out2
-+ mulsatrndwh.w \out2, \tmphi, \tmplo:b
-+
-+ sub \tmphi, \out3, \out4
-+ mov \tmplo, \coeff2
-+ add \out3, \out4
-+ mulsatrndwh.w \out4, \tmphi, \tmplo:b
-+ .endm
-+
-+ .macro butterfly2 in1, in2, in3, in4, coeff1, tmplo, tmphi, tmp
-+ mov \tmp, \coeff1
-+ sub \tmphi, \in1, \in2
-+ add \in1, \in2
-+ mulsatrndwh.w \in2, \tmphi, \tmp:b
-+
-+ sub \tmphi, \in3, \in4
-+ add \in3, \in4
-+ mulsatrndwh.w \in4, \tmphi, \tmp:b
-+ .endm
-+
-+ .macro butterfly4 in1, in2, in3, in4, in5, in6, in7, in8, coeff1, tmplo, tmphi, tmp
-+ mov \tmp, \coeff1
-+ sub \tmphi, \in1, \in2
-+ add \in1, \in2
-+ mulsatrndwh.w \in2, \tmphi, \tmp:b
-+
-+ sub \tmphi, \in3, \in4
-+ add \in3, \in4
-+ mulsatrndwh.w \in4, \tmphi, \tmp:b
-+
-+ sub \tmphi, \in5, \in6
-+ add \in5, \in6
-+ mulsatrndwh.w \in6, \tmphi, \tmp:b
-+
-+ sub \tmphi, \in7, \in8
-+ add \in7, \in8
-+ mulsatrndwh.w \in8, \tmphi, \tmp:b
-+ .endm
-+
-+ .macro scale reg
-+ .endm
-+
-+/*void dct32( mad_fixed_t const in[32], unsigned int slot,
-+ mad_fixed_t lo[16][8], mad_fixed_t hi[16][8]) */
-+
-+ .global dct32_avr32
-+dct32_avr32:
-+ stm --sp, r0-r7, r9-r11, lr
-+
-+ sub sp, 32*4
-+
-+/* t0 = in[0] + in[31]; t16 = MUL(in[0] - in[31], costab1);
-+ t1 = in[15] + in[16]; t17 = MUL(in[15] - in[16], costab31); */
-+ butterfly2_in r4/*t0*/, r5/*t16*/, r6/*t1*/, r7/*t17*/, r12, 0, 31, 15, 16, costab1, costab31, r10, r11
-+
-+/* t41 = t16 + t17;
-+ t59 = MUL(t16 - t17, costab2);
-+ t33 = t0 + t1;
-+ t50 = MUL(t0 - t1, costab2);*/
-+ butterfly2 r5/*t41*/, r7/*t59*/, r4/*t33*/, r6/*t50*/, costab2, r10, r11, lr
-+
-+/* t2 = in[7] + in[24]; t18 = MUL(in[7] - in[24], costab15);
-+ t3 = in[8] + in[23]; t19 = MUL(in[8] - in[23], costab17); */
-+ butterfly2_in r0/*t2*/, r1/*t18*/, r2/*t3*/, r3/*t19*/, r12, 7, 24, 8, 23, costab15, costab17, r10, r11
-+
-+/* t42 = t18 + t19;
-+ t60 = MUL(t18 - t19, costab30);
-+ t34 = t2 + t3;
-+ t51 = MUL(t2 - t3, costab30); */
-+ butterfly2 r1/*t42*/, r3/*t60*/, r0/*t34*/, r2/*t51*/, costab30, r10, r11, lr
-+
-+/* t73 = t41 + t42; t94 = MUL(t41 - t42, costab4);
-+ t83 = t59 + t60; t106 = MUL(t59 - t60, costab4); */
-+
-+
-+/* t69 = t33 + t34; t89 = MUL(t33 - t34, costab4);
-+ t78 = t50 + t51; t100 = MUL(t50 - t51, costab4); */
-+ butterfly4 r5/*t73*/, r1/*t94*/, r7/*t83*/, r3/*t106*/,r4/*t69*/, r0/*t89*/, r6/*t78*/, r2/*t100*/, costab4, r10, r11, lr
-+
-+/* Store away the computed butterflies:
-+ sp[0-7] = t83, t78, t73, t69, t106, t100, t94, t89 */
-+ stm sp, r0-r7
-+
-+
-+/* t4 = in[3] + in[28]; t20 = MUL(in[3] - in[28], costab7);
-+ t5 = in[12] + in[19]; t21 = MUL(in[12] - in[19], costab25); */
-+ butterfly2_in r4/*t4*/, r5/*t20*/, r6/*t5*/, r7/*t21*/, r12, 3, 28, 12, 19, costab7, costab25, r10, r11
-+
-+/* t43 = t20 + t21;
-+ t61 = MUL(t20 - t21, costab14);
-+ t35 = t4 + t5;
-+ t52 = MUL(t4 - t5, costab14); */
-+ butterfly2 r5/*t43*/, r7/*t61*/, r4/*t35*/, r6/*t52*/, costab14, r10, r11, lr
-+
-+/* t6 = in[4] + in[27]; t22 = MUL(in[4] - in[27], costab9);
-+ t7 = in[11] + in[20]; t23 = MUL(in[11] - in[20], costab23); */
-+ butterfly2_in r0/*t6*/, r1/*t22*/, r2/*t7*/, r3/*t23*/, r12, 4, 27, 11, 20, costab9, costab23, r10, r11
-+
-+/* t44 = t22 + t23;
-+ t62 = MUL(t22 - t23, costab18);
-+ t36 = t6 + t7;
-+ t53 = MUL(t6 - t7, costab18); */
-+ butterfly2 r1/*t44*/, r3/*t62*/, r0/*t36*/, r2/*t53*/, costab18, r10, r11, lr
-+
-+/* t74 = t43 + t44; t95 = MUL(t43 - t44, costab28);
-+ t84 = t61 + t62; t107 = MUL(t61 - t62, costab28); */
-+
-+/* t70 = t35 + t36; t90 = MUL(t35 - t36, costab28);
-+ t79 = t52 + t53; t101 = MUL(t52 - t53, costab28); */
-+ butterfly4 r5/*t74*/, r1/*t95*/, r7/*t84*/, r3/*t107*/, r4/*t70*/, r0/*t90*/, r6/*t79*/, r2/*t101*/, costab28, r10, r11, lr
-+
-+/* Store away the computed butterflies:
-+ sp[8-15] = t84, t79, t74, t70, t107, t101, t95, t90 */
-+ sub r10, sp, -8*4
-+ stm r10, r0-r7
-+
-+
-+/* t8 = in[1] + in[30]; t24 = MUL(in[1] - in[30], costab3);
-+ t9 = in[14] + in[17]; t25 = MUL(in[14] - in[17], costab29); */
-+ butterfly2_in r4/*t8*/, r5/*t24*/, r6/*t9*/, r7/*t25*/, r12, 1, 30, 14, 17, costab3, costab29, r10, r11
-+
-+
-+/* t45 = t24 + t25;
-+ t63 = MUL(t24 - t25, costab6);
-+ t37 = t8 + t9;
-+ t54 = MUL(t8 - t9, costab6); */
-+ butterfly2 r5/*t45*/, r7/*t63*/, r4/*t37*/, r6/*t54*/, costab6, r10, r11, lr
-+
-+/* t10 = in[6] + in[25]; t26 = MUL(in[6] - in[25], costab13);
-+ t11 = in[9] + in[22]; t27 = MUL(in[9] - in[22], costab19); */
-+ butterfly2_in r0/*t10*/, r1/*t26*/, r2/*t11*/, r3/*t27*/, r12, 6, 25, 9, 22, costab13, costab19, r10, r11
-+
-+/* t46 = t26 + t27;
-+ t64 = MUL(t26 - t27, costab26);
-+ t38 = t10 + t11;
-+ t55 = MUL(t10 - t11, costab26); */
-+ butterfly2 r1/*t46*/, r3/*t64*/, r0/*t38*/, r2/*t55*/, costab26, r10, r11, lr
-+
-+/* t75 = t45 + t46; t96 = MUL(t45 - t46, costab12);
-+ t85 = t63 + t64; t108 = MUL(t63 - t64, costab12); */
-+
-+/* t71 = t37 + t38; t91 = MUL(t37 - t38, costab12);
-+ t80 = t54 + t55; t102 = MUL(t54 - t55, costab12); */
-+ butterfly4 r5/*t75*/, r1/*t96*/, r7/*t85*/, r3/*t108*/, r4/*t71*/, r0/*t91*/, r6/*t80*/, r2/*t102*/, costab12, r10, r11, lr
-+
-+/* Store away the computed butterflies:
-+ sp[16-23] = t85, t80, t75, t71, t108, t102, t96, t91 */
-+ sub r10, sp, -16*4
-+ stm r10, r0-r7
-+
-+/* t12 = in[2] + in[29]; t28 = MUL(in[2] - in[29], costab5);
-+ t13 = in[13] + in[18]; t29 = MUL(in[13] - in[18], costab27); */
-+ butterfly2_in r4/*t12*/, r5/*t28*/, r6/*t13*/, r7/*t29*/, r12, 2, 29, 13, 18, costab5, costab27, r10, r11
-+
-+/* t47 = t28 + t29;
-+ t65 = MUL(t28 - t29, costab10);
-+ t39 = t12 + t13;
-+ t56 = MUL(t12 - t13, costab10); */
-+ butterfly2 r5/*t47*/, r7/*t65*/, r4/*t39*/, r6/*t56*/, costab10, r10, r11, lr
-+
-+/* t14 = in[5] + in[26]; t30 = MUL(in[5] - in[26], costab11);
-+ t15 = in[10] + in[21]; t31 = MUL(in[10] - in[21], costab21);*/
-+ butterfly2_in r0/*t14*/, r1/*t30*/, r2/*t15*/, r3/*t31*/, r12, 5, 26, 10, 21, costab11, costab21, r10, r11
-+
-+/* t48 = t30 + t31;
-+ t66 = MUL(t30 - t31, costab22);
-+ t40 = t14 + t15;
-+ t57 = MUL(t14 - t15, costab22);*/
-+ butterfly2 r1/*t48*/, r3/*t66*/, r0/*t40*/, r2/*t57*/, costab22, r10, r11, lr
-+
-+/* t76 = t47 + t48; t97 = MUL(t47 - t48, costab20);
-+ t86 = t65 + t66; t109 = MUL(t65 - t66, costab20);*/
-+
-+/* t72 = t39 + t40; t92 = MUL(t39 - t40, costab20);
-+ t81 = t56 + t57; t103 = MUL(t56 - t57, costab20);*/
-+ butterfly4 r5/*t76*/, r1/*t97*/, r7/*t86*/, r3/*t109*/,r4/*t72*/, r0/*t92*/, r6/*t81*/, r2/*t103*/, costab20, r10, r11, lr
-+
-+/* Store away the computed butterflies:
-+ sp[24-31] = t86, t81, t76, t72, t109, t103, t97, t92 */
-+ sub r10, sp, -24*4
-+ stm r10, r0-r7
-+
-+/* We now have the following on the stack:
-+
-+ sp[0-7] = t83, t78, t73, t69, t106, t100, t94, t89
-+ sp[8-15] = t84, t79, t74, t70, t107, t101, t95, t90
-+ sp[16-23] = t85, t80, t75, t71, t108, t102, t96, t91
-+ sp[24-31] = t86, t81, t76, t72, t109, t103, t97, t92 */
-+
-+/* Load {r0...r7} = { t72, t76, t71, t75, t70, t74, t69, t73 } */
-+ ld.d r6, sp[2*4]
-+ ld.d r4, sp[10*4]
-+ ld.d r2, sp[18*4]
-+ ld.d r0, sp[26*4]
-+
-+
-+/* t113 = t69 + t70;
-+ t141 = MUL(t69 - t70, costab8);
-+
-+ t115 = t73 + t74;
-+ t144 = MUL(t73 - t74, costab8); */
-+ butterfly2 r6/*t113*/, r4/*t141*/, r7/*t115*/, r5/*t144*/, costab8, r10, r11, lr
-+
-+/* t114 = t71 + t72;
-+ t142 = MUL(t71 - t72, costab24);
-+
-+ t116 = t75 + t76;
-+ t145 = MUL(t75 - t76, costab24); */
-+ butterfly2 r2/*t114*/, r0/*t142*/, r3/*t116*/, r1/*t145*/, costab24, r10, r11, lr
-+
-+
-+/*
-+ t191 = t113 + t114;
-+ t192 = MUL(t113 - t114, costab16)
-+
-+ t32 = t115 + t116;
-+ t177 = MUL(t115 - t116, costab16) ;
-+
-+ t143 = t141 + t142;
-+ t190 = MUL(t141 - t142, costab16) ;
-+
-+ t146 = t144 + t145;
-+ t184 = MUL(t144 - t145, costab16) ; */
-+ butterfly4 r6/*t191*/, r2/*t192*/, r7/*t32*/, r3/*t177*/, r4/*t143*/, r0/*190*/, r5/*t146*/, r1/*t184*/, costab16, r10, r11, lr
-+
-+/* Store away the computed butterflies:
-+ sp[2-3] = t32, t191
-+ sp[10-11] = t146, t143
-+ sp[18-19] = t177, t192
-+ sp[26-27] = t184, t190 */
-+ st.d sp[2*4] , r6
-+ st.d sp[10*4], r4
-+ st.d sp[18*4], r2
-+ st.d sp[26*4], r0
-+
-+/* Load {r0...r7} = { t81, t86, t80, t85, t79, t84, t78, t83 } */
-+ ld.d r6, sp[0*4]
-+ ld.d r4, sp[8*4]
-+ ld.d r2, sp[16*4]
-+ ld.d r0, sp[24*4]
-+
-+
-+/* t118 = t78 + t79;
-+ t148 = MUL(t78 - t79, costab8);
-+
-+ t121 = t83 + t84;
-+ t152 = MUL(t83 - t84, costab8); */
-+ butterfly2 r6/*t118*/, r4/*t148*/, r7/*t121*/, r5/*t152*/, costab8, r10, r11, lr
-+
-+/* t119 = t80 + t81;
-+ t149 = MUL(t80 - t81, costab24);
-+
-+ t122 = t85 + t86;
-+ t153 = MUL(t85 - t86, costab24); */
-+ butterfly2 r2/*t119*/, r0/*t149*/, r3/*t122*/, r1/*t153*/, costab24, r10, r11, lr
-+
-+
-+
-+/* t58 = t118 + t119;
-+ t178 = MUL(t118 - t119, costab16) ;
-+
-+ t67 = t121 + t122;
-+ t179 = MUL(t121 - t122, costab16) ;
-+
-+ t150 = t148 + t149;
-+ t185 = MUL(t148 - t149, costab16) ;
-+
-+ t154 = t152 + t153;
-+ t186 = MUL(t152 - t153, costab16) ; */
-+ butterfly4 r6/*t58*/, r2/*t178*/, r7/*t67*/, r3/*t179*/, r4/*t150*/, r0/*185*/, r5/*t154*/, r1/*t186*/, costab16, r10, r11, lr
-+
-+/* Store away the computed butterflies:
-+ sp[0-1] = t67, t58
-+ sp[8-9] = t154, t150
-+ sp[16-17] = t179, t178
-+ sp[24-25] = t186, t185 */
-+ st.d sp[0*4] , r6
-+ st.d sp[8*4], r4
-+ st.d sp[16*4], r2
-+ st.d sp[24*4], r0
-+
-+/* Load {r0...r7} = { t92, t97, t91, t96, t90, t95, t89, t94 } */
-+ ld.d r6, sp[6*4]
-+ ld.d r4, sp[14*4]
-+ ld.d r2, sp[22*4]
-+ ld.d r0, sp[30*4]
-+
-+
-+/* t125 = t89 + t90;
-+ t157 = MUL(t89 - t90, costab8);
-+
-+ t128 = t94 + t95;
-+ t161 = MUL(t94 - t95, costab8); */
-+ butterfly2 r6/*t125*/, r4/*t157*/, r7/*t128*/, r5/*t161*/, costab8, r10, r11, lr
-+
-+/* t126 = t91 + t92;
-+ t158 = MUL(t91 - t92, costab24);
-+
-+ t129 = t96 + t97;
-+ t162 = MUL(t96 - t97, costab24); */
-+ butterfly2 r2/*t126*/, r0/*t158*/, r3/*t129*/, r1/*t162*/, costab24, r10, r11, lr
-+
-+
-+/*
-+ t93 = t125 + t126;
-+ t180 = MUL(t125 - t126, costab16) ;
-+
-+ t98 = t128 + t129;
-+ t181 = MUL(t128 - t129, costab16) ;
-+
-+ t159 = t157 + t158;
-+ t187 = MUL(t157 - t158, costab16) ;
-+
-+ t163 = t161 + t162;
-+ t188 = MUL(t161 - t162, costab16) ; */
-+ butterfly4 r6/*t93*/, r2/*t180*/, r7/*t98*/, r3/*t181*/, r4/*t159*/, r0/*187*/, r5/*t163*/, r1/*t188*/, costab16, r10, r11, lr
-+
-+
-+/* Store away the computed butterflies:
-+ sp[6-7] = t98, t93
-+ sp[14-15] = t163, t159
-+ sp[22-23] = t181, t180
-+ sp[30-31] = t188, t187 */
-+ st.d sp[6*4] , r6
-+ st.d sp[14*4], r4
-+ st.d sp[22*4], r2
-+ st.d sp[30*4], r0
-+
-+/* Load {r0...r7} = { t103, t109, t102, t108, t101, t107, t100, t106 } */
-+ ld.d r6, sp[4*4]
-+ ld.d r4, sp[12*4]
-+ ld.d r2, sp[20*4]
-+ ld.d r0, sp[28*4]
-+
-+
-+
-+/* t132 = t100 + t101;
-+ t166 = MUL(t100 - t101, costab8);
-+
-+ t136 = t106 + t107;
-+ t171 = MUL(t106 - t107, costab8); */
-+ butterfly2 r6/*t132*/, r4/*t166*/, r7/*t136*/, r5/*t171*/, costab8, r10, r11, lr
-+
-+/* t133 = t102 + t103;
-+ t167 = MUL(t102 - t103, costab24);
-+
-+ t137 = t108 + t109;
-+ t172 = MUL(t108 - t109, costab24);*/
-+ butterfly2 r2/*t133*/, r0/*t167*/, r3/*t137*/, r1/*t172*/, costab24, r10, r11, lr
-+
-+
-+/* t104 = t132 + t133;
-+ t182 = MUL(t132 - t133, costab16) ;
-+
-+ t110 = t136 + t137;
-+ t183 = MUL(t136 - t137, costab16) ;
-+
-+ t168 = t166 + t167;
-+ t189 = MUL(t166 - t167, costab16) ;
-+
-+ t173 = t171 + t172;
-+ t208 = MUL(t171 - t172, costab16) ; */
-+ butterfly4 r6/*t104*/, r2/*t182*/, r7/*t110*/, r3/*t183*/, r4/*t168*/, r0/*189*/, r5/*t173*/, r1/*t208*/, costab16, r10, r11, lr
-+
-+/* Store away the computed butterflies:
-+ sp[4-5] = t110, t104
-+ sp[12-13] = t173, t168
-+ sp[20-21] = t183, t182
-+ sp[28-29] = t208, t189 */
-+ st.d sp[4*4] , r6
-+ st.d sp[12*4], r4
-+ st.d sp[20*4], r2
-+ st.d sp[28*4], r0
-+
-+/* Now we have the following stack
-+
-+ sp[0-7] = t67, t58 , t32, t191, t110, t104, t98, t93
-+ sp[8-15] = t154, t150, t146, t143, t173, t168, t163, t159
-+ sp[16-23] = t179, t178, t177, t192, t183, t182, t181, t180
-+ sp[24-31] = t186, t185, t184, t190, t208, t189, t188, t187
-+*/
-+
-+ /* Get slot, lo and hi from stack */
-+ lddsp lr, sp[32*4 + 4] /*slot*/
-+ lddsp r12, sp[32*4 + 8] /*lo*/
-+ lddsp r11, sp[32*4 + 12] /*hi*/
-+
-+ add r12, r12, lr << 2
-+ add r11, r11, lr << 2
-+
-+
-+/* t49 = -(t67 * 2) + t32;
-+ hi[14][slot] = SHIFT(t32);
-+ t87 = -(t110 * 2) + t67;
-+ t138 = -(t173 * 2) + t110;
-+ t203 = -(t208 * 2) + t173; */
-+
-+ lddsp r0/*t67*/, sp[0]
-+ lddsp r1/*t32*/, sp[2*4]
-+ lddsp r2/*t110*/, sp[4*4]
-+ lddsp r3/*t173*/, sp[12*4]
-+ lddsp r5/*t208*/, sp[28*4]
-+
-+ sub r4/*t49*/, r1, r0 << 1
-+ scale r1
-+ sub r0/*t87*/, r0, r2 << 1
-+ st.w r11[14*SLOTS*4], r1
-+ sub r2/*t138*/, r2, r3 << 1
-+ sub r1/*t203*/, r3, r5 << 1
-+
-+/* Live: r0 = t87, r1= t203, r2= t138, r4 = t49
-+ Free: r3, r5, r6, r7, r8, r9, r10, lr */
-+
-+/* t68 = (t98 * 2) + t49;
-+ hi[12][slot] = SHIFT(-t49);
-+ t130 = -(t163 * 2) + t98;
-+ t201 = -(t188 * 2) + t163;
-+ t200 = -(t186 * 2) + t154;
-+ t111 = (t154 * 2) + t87;
-+ t77 = -(-(t87 * 2) - t68);
-+ t88 = (t146 * 2) + t77;
-+ t199 = -(t184 * 2) + t146;
-+ hi[ 8][slot] = SHIFT(-t77);
-+ hi[10][slot] = SHIFT(t68);*/
-+ lddsp r3/*t98*/, sp[6*4]
-+ lddsp r5/*t163*/, sp[14*4]
-+ lddsp r6/*t188*/, sp[30*4]
-+ lddsp r10/*t186*/, sp[24*4]
-+
-+ add r7/*t68*/, r4, r3 << 1
-+ neg r4
-+ scale r4
-+ lddsp r9/*t154*/, sp[8*4]
-+ sub r3/*t130*/, r3, r5 << 1
-+ st.w r11[12*SLOTS*4], r4
-+ sub r8/*t201*/, r5, r6 << 1
-+ sub r4/*t200*/, r9, r10 << 1
-+ lddsp lr/*t146*/, sp[10*4]
-+ lddsp r6/*t184*/, sp[26*4]
-+ add r10/*t111*/, r0, r9 << 1
-+ add r5/*t77*/,r7, r0 << 1
-+ add r0/*t88*/, r5, lr << 1
-+ sub r6/*t199*/, lr, r6 << 1
-+ neg r5
-+ scale r5
-+ scale r7
-+ st.w r11[8*SLOTS*4], r5
-+ st.w r11[10*SLOTS*4], r7
-+
-+/* Live: r0 = t88, r1= t203, r2= t138, r3 = t130, r4 = t200,
-+ r6 = 199, r8 = t201, r10 = t111
-+ Free: r5, r7, r9, lr */
-+
-+
-+/*
-+ t123 = -(-(t138 * 2) - t111);
-+ t174 = (t183 * 2) + t138;
-+ t99 = -(t111 * 2) + t88;
-+ hi[ 6][slot] = SHIFT(t88); */
-+ lddsp r5/*t183*/, sp[20*4]
-+
-+ add r7/*t123*/, r10, r2 << 1
-+ sub r10/*t99*/, r0, r10 << 1
-+ scale r0
-+ add r2/*t174*/, r2, r5 << 1
-+ st.w r11[6*SLOTS*4], r0
-+
-+/* Live: r1 = t203, r2 = t174, r3 = t130, r4 = t200,
-+ r6 = t199, r7 = t123, r8 = t201, r10 = t99
-+ Free: r0, r5, r9, lr */
-+
-+/* t112 = -(t130 * 2) + t99;
-+ t164 = (t181 * 2) + t130;
-+ hi[ 4][slot] = SHIFT(-t99); */
-+ lddsp r0/*t181*/, sp[22*4]
-+
-+ sub r5/*t112*/, r10, r3 << 1
-+ neg r10
-+ scale r10
-+ add r3/*164*/, r3, r0 << 1
-+ st.w r11[4*SLOTS*4], r10
-+
-+/* Live: r1 = t203, r2 = t174, r3 = t164, r4 = t200,
-+ r5 = t112, r6 = t199, r7 = t123, r8 = t201
-+ Free: r0, r9, r10, lr */
-+
-+
-+/* t117 = -(-(t123 * 2) - t112);
-+ t139 = (t179 * 2) + t123;
-+ hi[ 2][slot] = SHIFT(t112); */
-+ lddsp r0/*t179*/, sp[16*4]
-+
-+ add r9/*t117*/, r5, r7 << 1
-+ scale r5
-+ add r7/*t139*/, r7, r0 << 1
-+ st.w r11[2*SLOTS*4], r5
-+
-+/* Live: r1 = t203, r2 = t174, r3 = t164, r4 = t200,
-+ r6 = t199, r7 = t139, r8 = t201, r9 = t117
-+ Free: r0, r5, r10, lr */
-+
-+/* t155 = -(t174 * 2) + t139;
-+ t204 = -(-(t203 * 2) - t174);
-+ t124 = (t177 * 2) + t117;
-+ hi[ 0][slot] = SHIFT(-t117);
-+ t131 = -(t139 * 2) + t124;
-+ lo[ 1][slot] = SHIFT(t124);*/
-+ lddsp r0/*t177*/, sp[18*4]
-+
-+ sub r5/*t155*/, r7, r2 << 1
-+ add r2/*t204*/, r2, r1 << 1
-+ add r0/*t124*/, r9, r0 << 1
-+ neg r9
-+ scale r9
-+ sub r7/*t131*/, r0, r7 << 1
-+ scale r0
-+ st.w r11[0*SLOTS*4], r9
-+ st.w r12[1*SLOTS*4], r0
-+
-+/* Live: r2 = t204, r3 = t164, r4 = t200,
-+ r5 = t155, r6 = t199, r7 = t131, r8 = t201
-+ Free: r0, r1, r9, r10, lr */
-+
-+/* t140 = (t164 * 2) + t131;
-+ lo[ 3][slot] = SHIFT(-t131);
-+ t202 = -(-(t201 * 2) - t164); */
-+ add r0/*t140*/, r7, r3 << 1
-+ neg r7
-+ scale r7
-+ add r3/*t202*/, r3, r8 << 1
-+ st.w r12[3*SLOTS*4], r7
-+
-+/* Live: r0 = t140, r2 = t204, r3 = t202, r4 = t200,
-+ r5 = t155, r6 = t199
-+ Free: r1, r7, r8, r9, r10, lr */
-+
-+
-+/* t147 = -(-(t155 * 2) - t140);
-+ lo[ 5][slot] = SHIFT(t140);
-+ t175 = -(t200 * 2) + t155;
-+ t156 = -(t199 * 2) + t147;
-+ lo[ 7][slot] = SHIFT(-t147); */
-+ add r1/*t147*/, r0, r5 << 1
-+ scale r0
-+ sub r5/*t175*/, r5, r4 << 1
-+ sub r4/*156*/, r1, r6 << 1
-+ neg r1
-+ scale r1
-+ st.w r12[5*SLOTS*4], r0
-+ st.w r12[7*SLOTS*4], r1
-+
-+/* Live: r2 = t204, r3 = t202,
-+ r4 = t156, r5 = t175
-+ Free: r0, r1, r6, r7, r8, r9, r10, lr */
-+
-+
-+/* t205 = -(-(t204 * 2) - t175);
-+ t165 = -(t175 * 2) + t156;
-+ lo[ 9][slot] = SHIFT(t156);
-+ t176 = -(t202 * 2) + t165;
-+ lo[11][slot] = SHIFT(-t165);
-+ t206 = -(-(t205 * 2) - t176);
-+ lo[15][slot] = SHIFT(-t206)
-+ lo[13][slot] = SHIFT(t176) */
-+ add r0/*t205*/, r5, r2 << 1
-+ sub r1/*t165*/, r4, r5 << 1
-+ scale r4
-+ sub r3/*t176*/, r1, r3 << 1
-+ st.w r12[9*SLOTS*4], r4
-+ neg r1
-+ scale r1
-+ add r6/*t206*/, r3, r0 << 1
-+ neg r6
-+ scale r6
-+ scale r3
-+ st.w r12[11*SLOTS*4], r1
-+ st.w r12[15*SLOTS*4], r6
-+ st.w r12[13*SLOTS*4], r3
-+
-+/* t193 = -((t190 * 2) - t143)
-+ hi[ 7][slot] = SHIFT(t143);
-+ lo[ 8][slot] = SHIFT(-t193);
-+ t82 = -(t104 * 2) + t58;
-+ hi[13][slot] = SHIFT(t58);
-+ t134 = -(t168 * 2) + t104;
-+ t196 = -(t189 * 2) + t168; */
-+
-+ lddsp r0/*t190*/, sp[27*4]
-+ lddsp r1/*t143*/, sp[11*4]
-+ lddsp r2/*t104*/, sp[5*4]
-+ lddsp r3/*t58*/, sp[1*4]
-+ lddsp r4/*t168*/, sp[13*4]
-+ lddsp r5/*t189*/, sp[29*4]
-+ sub r0/*t193*/, r1, r0 << 1
-+ neg r0
-+ scale r1
-+ scale r0
-+ st.w r11[7*SLOTS*4], r1
-+ st.w r12[8*SLOTS*4], r0
-+ sub r0/*t82*/, r3, r2 << 1
-+ scale r3
-+ sub r2/*t134*/, r2, r4 << 1
-+ sub r4/*t196*/, r4, r5 << 1
-+ st.w r11[13*SLOTS*4], r3
-+
-+/* Live: r0 = t82, r2 = t134,
-+ r4 = t196
-+ Free: r1, r3, r5, r6, r7, r8, r9, r10, lr */
-+
-+
-+
-+/*
-+
-+ t207 = -(t185 * 2) + t150;
-+ t105 = (t150 * 2) + t82;
-+ hi[ 9][slot] = SHIFT(-t82);
-+ t120 = -(-(t134 * 2) - t105);
-+ hi[ 5][slot] = SHIFT(t105);
-+ t169 = (t182 * 2) + t134;
-+
-+ t135 = (t178 * 2) + t120;
-+ hi[ 1][slot] = SHIFT(-t120);
-+ t197 = -(-(t196 * 2) - t169);
-+ t151 = -(t169 * 2) + t135;
-+ lo[ 2][slot] = SHIFT(t135); */
-+ lddsp r1/*t185*/, sp[25*4]
-+ lddsp r3/*t150*/, sp[9*4]
-+ lddsp r5/*t182*/, sp[21*4]
-+ lddsp r8/*t178*/, sp[17*4]
-+
-+ sub r6/*t207*/, r3, r1 << 1
-+ add r3/*t105*/, r0, r3 << 1
-+ neg r0
-+ scale r0
-+ add r7/*t120*/, r3, r2 << 1
-+ scale r3
-+ st.w r11[9*SLOTS*4], r0
-+ st.w r11[5*SLOTS*4], r3
-+ add r2/*t169*/, r2, r5 << 1
-+ add r8/*t135*/, r7, r8 << 1
-+ neg r7
-+ scale r7
-+ add r4/*t197*/, r2, r4 << 1
-+ sub r2/*t151*/, r8, r2 << 1
-+ scale r8
-+ st.w r11[1*SLOTS*4], r7
-+ st.w r12[2*SLOTS*4], r8
-+
-+/* Live: r2 = t151, r4 = t197, r6 = t207
-+
-+ Free: r0, r1, r3, r5, r7, r8, r9, r10, lr */
-+
-+
-+
-+/* t170 = -(t207 * 2) + t151;
-+ lo[ 6][slot] = SHIFT(-t151);
-+
-+ t198 = -(-(t197 * 2) - t170);
-+ lo[10][slot] = SHIFT(t170);
-+ lo[14][slot] = SHIFT(-t198);
-+
-+ t127 = -(t159 * 2) + t93;
-+ hi[11][slot] = SHIFT(t93);
-+ t194 = -(t187 * 2) + t159; */
-+ lddsp r0/*t159*/, sp[15*4]
-+ lddsp r1/*t93*/, sp[7*4]
-+ lddsp r3/*t187*/, sp[31*4]
-+ sub r5/*t170*/, r2, r6 << 1
-+ neg r2
-+ scale r2
-+ add r4/*t198*/,r5, r4 << 1
-+ neg r4
-+ scale r5
-+ scale r4
-+ st.w r12[6*SLOTS*4], r2
-+ st.w r12[10*SLOTS*4], r5
-+ st.w r12[14*SLOTS*4], r4
-+ sub r7/*t127*/, r1, r0 << 1
-+ scale r1
-+ sub r0/*t194*/, r0, r3 << 1
-+ st.w r11[11*SLOTS*4], r1
-+
-+
-+/* Live: r0 = t194, r7 = t127
-+ Free: r1, r2, r3, r4, r6, r5, r8, r9, r10, lr */
-+
-+/* t160 = (t180 * 2) + t127;
-+ hi[ 3][slot] = SHIFT(-t127);
-+ t195 = -(-(t194 * 2) - t160);
-+ lo[ 4][slot] = SHIFT(t160);
-+ lo[12][slot] = SHIFT(-t195);
-+
-+ hi[15][slot] = SHIFT(t191);
-+ lo[ 0][slot] = SHIFT(t192); */
-+ lddsp r1/*t180*/, sp[23*4]
-+ lddsp r2/*t191*/, sp[3*4]
-+ lddsp r3/*t192*/, sp[19*4]
-+ add r4/*t160*/, r7, r1 << 1
-+ neg r7
-+ scale r7
-+ add r6/*t195*/, r4, r0 << 1
-+ scale r4
-+ neg r6
-+ scale r6
-+ st.w r11[3*SLOTS*4], r7
-+ st.w r12[4*SLOTS*4], r4
-+ st.w r12[12*SLOTS*4], r6
-+ scale r2
-+ scale r3
-+ st.w r11[15*SLOTS*4], r2
-+ st.w r12[0*SLOTS*4], r3
-+
-+ sub sp, -32*4
-+ ldm sp++,r0-r7, r9-r11, pc
-diff --git a/fixed.h b/fixed.h
-index 4b58abf..0a1350a 100644
---- a/fixed.h
-+++ b/fixed.h
-@@ -237,6 +237,46 @@ mad_fixed_t mad_f_mul_inline(mad_fixed_t x, mad_fixed_t y)
- # define MAD_F_SCALEBITS MAD_F_FRACBITS
- # endif
-
-+/* --- AVR32 ----------------------------------------------------------------- */
-+
-+# elif defined(FPM_AVR32)
-+
-+typedef signed short mad_coeff_t;
-+
-+struct DWstruct {int high, low;};
-+
-+typedef union {
-+ struct DWstruct s;
-+ long long ll;
-+} DWunion;
-+
-+# define MAD_F_MLX(hi, lo, x, y) \
-+ { register DWunion __res; \
-+ __res.ll = (long long)x * (long long)y; \
-+ /* asm ("muls.d\t%0, %1, %2" : "=r" (__res.ll) : "r" (x), "r" (y));*/ \
-+ hi = __res.s.high; \
-+ lo = __res.s.low; }
-+
-+# define MAD_F_MLA(hi, lo, x, y) \
-+ { register DWunion __res; \
-+ __res.s.high = hi; \
-+ __res.s.low = lo; \
-+ __res.ll += (long long)x * (long long)y; \
-+/* asm ("macs.d\t%0, %1, %2" : "+r" (__res.ll) : "r" (x), "r" (y));*/ \
-+ hi = __res.s.high; \
-+ lo = __res.s.low; }
-+
-+
-+# define MAD_F_MLN(hi, lo) \
-+ asm ("neg %0\n" \
-+ "acr %1\n" \
-+ "neg %1" \
-+ : "+r" (lo), "+r" (hi) \
-+ :: "cc")
-+
-+
-+# define MAD_F_SCALEBITS MAD_F_FRACBITS
-+
- /* --- ARM ----------------------------------------------------------------- */
-
- # elif defined(FPM_ARM)
-@@ -433,6 +473,8 @@ mad_fixed_t mad_f_mul_inline(mad_fixed_t x, mad_fixed_t y)
- *
- * Pre-rounding is required to stay within the limits of compliance.
- */
-+typedef signed int mad_coeff_t;
-+
- # if defined(OPT_SPEED)
- # define mad_f_mul(x, y) (((x) >> 12) * ((y) >> 16))
- # else
-diff --git a/imdct_avr32.S b/imdct_avr32.S
-new file mode 100644
-index 0000000..d0ee6b4
---- /dev/null
-+++ b/imdct_avr32.S
-@@ -0,0 +1,789 @@
-+/*
-+ Optimized 36-point Inverse Modified Cosine Transform (IMDCT)
-+ Copyright 2003-2006 Atmel Corporation.
-+
-+ Written by Ronny Pedersen, Atmel Norway
-+
-+ This program is free software; you can redistribute it and/or modify
-+ it under the terms of the GNU General Public License as published by
-+ the Free Software Foundation; either version 2 of the License, or
-+ (at your option) any later version.
-+
-+ This program is distributed in the hope that it will be useful,
-+ but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ GNU General Public License for more details.
-+
-+ You should have received a copy of the GNU General Public License
-+ along with this program; if not, write to the Free Software
-+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-+
-+#define MAD_F(x) ((x + (1 << 13)) >> 14)
-+
-+ .public imdct36_avr32
-+
-+/*
-+ void imdct36(mad_fixed_t const x[18], mad_fixed_t y[36])
-+ {
-+ mad_fixed_t tmp[18];
-+ int i;
-+*/
-+/* DCT-IV */
-+imdct36_avr32:
-+ pushm r0-r7,r11,lr
-+ sub sp, 4*18
-+/*
-+ {
-+ mad_fixed_t tmp2[18];
-+ int i;
-+
-+ /* scale[i] = 2 * cos(PI * (2 * i + 1) / (4 * 18)) */
-+/*
-+ static mad_fixed_t const scale[18] = {
-+ MAD_F(0x1ff833fa), MAD_F(0x1fb9ea93), MAD_F(0x1f3dd120),
-+ MAD_F(0x1e84d969), MAD_F(0x1d906bcf), MAD_F(0x1c62648b),
-+ MAD_F(0x1afd100f), MAD_F(0x1963268b), MAD_F(0x1797c6a4),
-+ MAD_F(0x159e6f5b), MAD_F(0x137af940), MAD_F(0x11318ef3),
-+ MAD_F(0x0ec6a507), MAD_F(0x0c3ef153), MAD_F(0x099f61c5),
-+ MAD_F(0x06ed12c5), MAD_F(0x042d4544), MAD_F(0x0165547c)
-+ };
-+*/
-+
-+ /* scaling */
-+
-+/*
-+ for (i = 0; i < 18; i += 3) {
-+ tmp2[i + 0] = mad_f_mul(x[i + 0], scale[i + 0]);
-+ tmp2[i + 1] = mad_f_mul(x[i + 1], scale[i + 1]);
-+ tmp2[i + 2] = mad_f_mul(x[i + 2], scale[i + 2]);
-+ }
-+*/
-+ /* even input butterfly */
-+
-+/*
-+ for (i = 0; i < 9; i += 3) {
-+ tmp3[i + 0] = tmp2[i + 0] + tmp2[18 - (i + 0) - 1];
-+ tmp3[i + 1] = tmp2[i + 1] + tmp2[18 - (i + 1) - 1];
-+ tmp3[i + 2] = tmp2[i + 2] + tmp2[18 - (i + 2) - 1];
-+ }
-+ for (i = 0; i < 9; i += 3) {
-+ tmp4[i + 0] = tmp2[i + 0] - tmp2[18 - (i + 0) - 1];
-+ tmp4[i + 1] = tmp2[i + 1] - tmp2[18 - (i + 1) - 1];
-+ tmp4[i + 2] = tmp2[i + 2] - tmp2[18 - (i + 2) - 1];
-+ }
-+*/
-+
-+ ld.d r8, r12[0] /*r8 = x[1], r9 = x[0]*/
-+ ld.d r0, pc[scale_dctIV - .] /*r0 = {scale[2], scale[3]}, r1 = { scale[0], scale[1] }*/
-+ ld.d r2, r12[2*4] /*r2 = x[3], r3 = x[2]*/
-+ ld.d r4, pc[scale_dctIV - . + 14*2] /*r4 = {scale[16], scale[17]}, r5 = { scale[14], scale[15] }*/
-+ mulsatrndwh.w r9/*tmp2[0]*/, r9, r1:t /*tmp2[0] = mad_f_mul(x[0], scale[0]) */
-+ ld.d r6, r12[16*4] /*r6 = x[17], r7 = x[16]*/
-+ mulsatrndwh.w r8/*tmp2[1]*/, r8, r1:b /*tmp2[1] = mad_f_mul(x[1], scale[1]) */
-+ mulsatrndwh.w r3/*tmp2[2]*/, r3, r0:t /*tmp2[2] = mad_f_mul(x[2], scale[2]) */
-+ mulsatrndwh.w r2/*tmp2[3]*/, r2, r0:b /*tmp2[3] = mad_f_mul(x[3], scale[3]) */
-+ ld.d r0, r12[14*4] /*r0 = x[15], r1 = x[14]*/
-+ mulsatrndwh.w r7/*tmp2[16]*/, r7, r4:t /*tmp2[16] = mad_f_mul(x[16], scale[16]) */
-+ mulsatrndwh.w r6/*tmp2[17]*/, r6, r4:b /*tmp2[17] = mad_f_mul(x[17], scale[17]) */
-+ mulsatrndwh.w r1/*tmp2[14]*/, r1, r5:t /*tmp2[14] = mad_f_mul(x[14], scale[14]) */
-+ mulsatrndwh.w r0/*tmp2[15]*/, r0, r5:b /*tmp2[15] = mad_f_mul(x[15], scale[15]) */
-+
-+ ld.d r4, r12[4*4] /*r4 = x[5], r5 = x[4]*/
-+
-+ sub lr/*tmp4[0]*/, r9, r6
-+ add r6/*tmp3[0]*/, r9, r6
-+ sub r10/*tmp4[1]*/, r8, r7
-+ add r7/*tmp3[1]*/, r8, r7
-+ sub r9/*tmp4[2]*/, r3, r0
-+ add r0/*tmp3[2]*/, r3, r0
-+ sub r8/*tmp4[3]*/, r2, r1
-+ add r1/*tmp3[3]*/, r2, r1
-+
-+ ld.d r2, pc[scale_dctIV - . + 4*2] /*r2 = {scale[6], scale[7]}, r3 = { scale[4], scale[5] }*/
-+
-+ stm --sp, r8-r10, lr /*sp[0] = tmp4[0],sp[1] = tmp4[1],
-+ sp[2] = tmp4[2],sp[3] = tmp4[3] */
-+
-+ /* Registers used: r0 = tmp3[2], r1 = tmp3[3], r6 = tmp3[0], r7 = tmp3[1], r12 = x
-+ Free registers: r2-r5, r8-r11, lr
-+ */
-+ ld.d r8, r12[6*4] /*r8 = x[7], r9 = x[6]*/
-+ ld.d r10, pc[scale_dctIV - . + 10*2] /*r10 = {scale[12], scale[13]}, r11 = { scale[10], scale[11] }*/
-+ mulsatrndwh.w r5/*tmp2[4]*/, r5, r3:t /*tmp2[4] = mad_f_mul(x[4], scale[4]) */
-+ mulsatrndwh.w r4/*tmp2[5]*/, r4, r3:b /*tmp2[5] = mad_f_mul(x[5], scale[5]) */
-+ mulsatrndwh.w r9/*tmp2[6]*/, r9, r2:t /*tmp2[6] = mad_f_mul(x[6], scale[6]) */
-+ mulsatrndwh.w r8/*tmp2[7]*/, r8, r2:b /*tmp2[7] = mad_f_mul(x[7], scale[7]) */
-+
-+ ld.d r2, r12[12*4] /*r2 = x[13], r3 = x[12]*/
-+ ld.w lr, r12[11*4] /*lr = x[11] */
-+ mulsatrndwh.w r3/*tmp2[12]*/, r3, r10:t /*tmp2[12] = mad_f_mul(x[12], scale[12]) */
-+ mulsatrndwh.w r2/*tmp2[13]*/, r2, r10:b /*tmp2[13] = mad_f_mul(x[13], scale[13]) */
-+ ld.w r10, r12[10*4] /*r10 = x[10] */
-+ mulsatrndwh.w lr/*tmp2[11]*/, lr, r11:b /*tmp2[11] = mad_f_mul(x[11], scale[11]) */
-+ mulsatrndwh.w r10/*tmp2[10]*/, r10, r11:t /*tmp2[10] = mad_f_mul(x[10], scale[10]) */
-+
-+ sub r11/*tmp4[4]*/, r5, r2
-+ add r2/*tmp3[4]*/, r5, r2
-+ sub r5/*tmp4[5]*/, r4, r3
-+ add r3/*tmp3[5]*/, r4, r3
-+ sub r4/*tmp4[6]*/, r9, lr
-+ add lr/*tmp3[6]*/, r9, lr
-+ sub r9/*tmp4[7]*/, r8, r10
-+ add r10/*tmp3[7]*/, r8, r10
-+ lddpc r8, scale_dctIV + 8*2 /*r8 = {scale[8], scale[9]} */
-+
-+ stm --sp, r4, r5, r9, r11 /*sp[0] = tmp4[4],sp[1] = tmp4[7],
-+ sp[2] = tmp4[5],sp[3] = tmp4[6] */
-+ ld.d r4, r12[8*4] /*r4 = x[9], r5 = x[8]*/
-+ mulsatrndwh.w r5/*tmp2[8]*/, r5, r8:t /*tmp2[8] = mad_f_mul(x[8], scale[8]) */
-+ mulsatrndwh.w r4/*tmp2[9]*/, r4, r8:b /*tmp2[9] = mad_f_mul(x[9], scale[9]) */
-+ sub r9/*tmp4[8]*/, r5, r4
-+ add r5/*tmp3[8]*/, r5, r4
-+
-+ st.w --sp, r9 /* sp[0] = tmp4[8] */
-+
-+ /* Registers used:
-+
-+ r0=tmp3[2], r1=tmp3[3], r2=tmp3[4], r3=tmp3[5], r5=tmp3[8], r6 = tmp3[0],
-+ r7 = tmp3[1], r10=tmp3[7], lr=tmp3[6]
-+ Free registers:
-+ r4, r8, r9, r11, r12
-+ */
-+
-+
-+ /* SDCT-II */
-+/*
-+
-+ {
-+ mad_fixed_t tmp3[9];
-+ int i;
-+*/
-+ /* scale[i] = 2 * cos(PI * (2 * i + 1) / (2 * 18)) */
-+/*
-+ static mad_fixed_t const scale[9] = {
-+ MAD_F(0x1fe0d3b4), MAD_F(0x1ee8dd47), MAD_F(0x1d007930),
-+ MAD_F(0x1a367e59), MAD_F(0x16a09e66), MAD_F(0x125abcf8),
-+ MAD_F(0x0d8616bc), MAD_F(0x08483ee1), MAD_F(0x02c9fad7)
-+ };
-+*/
-+ /* divide the 18-point SDCT-II into two 9-point SDCT-IIs */
-+
-+
-+ /* fastdct */
-+
-+/*
-+ {
-+ mad_fixed_t a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12;
-+ mad_fixed_t a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25;
-+ mad_fixed_t m0, m1, m2, m3, m4, m5, m6, m7;
-+*/
-+// enum {
-+// c0 = MAD_F(0x1f838b8d), /* 2 * cos( 1 * PI / 18) */
-+// c1 = MAD_F(0x1bb67ae8), /* 2 * cos( 3 * PI / 18) */
-+// c2 = MAD_F(0x18836fa3), /* 2 * cos( 4 * PI / 18) */
-+// c3 = MAD_F(0x1491b752), /* 2 * cos( 5 * PI / 18) */
-+// c4 = MAD_F(0x0af1d43a), /* 2 * cos( 7 * PI / 18) */
-+// c5 = MAD_F(0x058e86a0), /* 2 * cos( 8 * PI / 18) */
-+// c6 = -MAD_F(0x1e11f642) /* 2 * cos(16 * PI / 18) */
-+// };
-+
-+/*
-+ a2 = tmp3[6] + tmp3[2];
-+ a6 = tmp3[8] + tmp3[0];
-+ a11 = a2 - a6;
-+ m5 = mad_f_mul(a11, -c6) ;
-+ a4 = tmp3[1] + tmp3[7];
-+
-+ a18 = tmp3[4] + a4;
-+ a19 = -2 * tmp3[4] + a4;
-+
-+ a0 = tmp3[3] + tmp3[5];
-+
-+*/
-+ add r11/*a4*/, r7, r10
-+ add r12/*a18*/, r2, r11
-+ sub r11/*a19*/, r11, r2<<1
-+
-+ add r4/*a2*/, lr, r0
-+ add r8/*a6*/, r5, r6
-+ sub r9/*a11*/, r4, r8
-+
-+ st.d --sp, r0 /* sp[0] = tmp3[3], sp1[1] = tmp3[2]*/
-+
-+ mov r2, MAD_F(0x1e11f642)
-+ mulsatrndwh.w r9/*m5*/, r9, r2:b
-+
-+ add r2/*a0*/, r1, r3
-+
-+ /* Registers used:
-+
-+ r2=a0, r3=tmp3[5], r4=a2, r5=tmp3[8], r6 = tmp3[0],
-+ r7 = tmp3[1], r8=a6, r10=tmp3[7], r9=m5, r11=a19, r12=a18,lr=tmp3[6]
-+ Free registers:
-+ r0, r1
-+ */
-+
-+/*
-+ a8 = a0 + a2;
-+ a12 = a8 + a6;
-+ a10 = a0 - a6;
-+ a9 = a0 - a2;
-+ m7 = mad_f_mul(a9, -c2) ;
-+ m6 = mad_f_mul(a10, -c5) ;
-+*/
-+
-+ add r0/*a8*/, r2, r4
-+ add r0/*a12*/, r8
-+ rsub r8/*a10*/, r2
-+ sub r2/*a9*/, r4
-+ mov r1, -MAD_F(0x18836fa3)
-+ mulsatrndwh.w r2/*m7*/, r2, r1:b
-+ mov r1, -MAD_F(0x058e86a0)
-+ mulsatrndwh.w r8/*m6*/, r8, r1:b
-+
-+ /* Registers used:
-+
-+ r0=a12, r2=m7, r3=tmp3[5], r5=tmp3[8], r6 = tmp3[0],
-+ r7 = tmp3[1], r8=m6, r10=tmp3[7], r9=m5, r11=a19, r12=a18,lr=tmp3[6]
-+ Free registers:
-+ r1, r4
-+ */
-+
-+
-+/*
-+ a21 = -a19 - (m5 << 1);
-+ tmp[ 8] = a21 - (m6 << 1);
-+
-+ a20 = a19 - (m5 << 1);
-+ tmp[ 4] = (m7 << 1) + a20;
-+ a22 = -a19 + (m6 << 1);
-+ tmp[16] = a22 + (m7 << 1);
-+ tmp[ 0] = a18 + a12;
-+ tmp[12] = a12 - 2 * a18;
-+*/
-+ add r1/*a21*/, r11, r9 << 1
-+ neg r1
-+ sub r1/*tmp[8]*/, r1, r8 << 1
-+ stdsp sp[4*11/*tmp3[..] on the stack*/ + 8*4], r1
-+ sub r4/*a20*/, r11, r9 << 1
-+ add r4/*tmp[4]*/, r4, r2 << 1
-+ stdsp sp[4*11/*tmp3[..] on the stack*/ + 4*4], r4
-+ neg r11
-+ add r1/*a22*/, r11, r8 << 1
-+ add r1/*tmp[16]*/, r1, r2 << 1
-+ stdsp sp[4*11/*tmp3[..] on the stack*/ + 16*4], r1
-+ add r4, r12, r0
-+ sub r1, r0, r12 << 1
-+ stdsp sp[4*11/*tmp3[..] on the stack*/ + 0*4], r4
-+ stdsp sp[4*11/*tmp3[..] on the stack*/ + 12*4], r1
-+
-+ ld.d r0, sp++
-+
-+ /* Registers used:
-+
-+ r0 = tmp3[2], r1 = tmp3[3], r3=tmp3[5], r5=tmp3[8], r6 = tmp3[0],
-+ r7 = tmp3[1], r10=tmp3[7], r11=a19, lr=tmp3[6]
-+ Free registers:
-+ r2,r4,r8,r9,r12
-+ */
-+
-+/*
-+ a5 = tmp3[1] - tmp3[7];
-+ a7 = tmp3[8] - tmp3[0];
-+ a3 = tmp3[6] - tmp3[2];
-+ a1 = tmp3[3] - tmp3[5];
-+ a13 = a1 - a3;
-+ a14 = a13 + a7;
-+ m3 = mad_f_mul(a14, -c1) ;
-+ m4 = mad_f_mul(a5, -c1) ;
-+ tmp[ 6] = m3 << 1;
-+*/
-+ sub r7/*a5*/, r10
-+ sub r2/*a7*/, r5, r6
-+ sub r4/*a3*/, lr, r0
-+ sub r8/*a1*/, r1, r3
-+ sub r9/*a13*/, r8, r4
-+ add r12/*a14*/, r9, r2
-+ mov r0, -MAD_F(0x1bb67ae8)
-+ mulsatrndwh.w r12/*m3*/, r12, r0:b
-+ mulsatrndwh.w r7/*m4*/, r7, r0:b
-+ lsl r12, 1
-+ stdsp sp[4*9/*tmp3[..] on the stack*/ + 6*4], r12
-+
-+ /* Registers used:
-+ r2 = a7, r4 = a3, r7 = m4, r8 = a1, r12 = m3
-+
-+ Free registers:
-+ r0, r1, r3, r5, r6, r10, r9, r11, lr
-+ */
-+
-+
-+/*
-+ a15 = a3 + a7;
-+ m2 = mad_f_mul(a15, -c4) ;
-+ a17 = a1 + a3;
-+ m0 = mad_f_mul(a17, -c3) ;
-+ a23 = (m4 << 1) + (m2 << 1);
-+ tmp[14] = a23 + (m0 << 1); */
-+ add r0/*a15*/, r4, r2
-+ mov r1, -MAD_F(0x0af1d43a)
-+ mulsatrndwh.w r0/*m2*/, r0, r1:b
-+ mov r3, -MAD_F(0x1491b752)
-+ add r5/*a17*/, r8, r4
-+ mulsatrndwh.w r5/*m0*/, r5, r3:b
-+ lsl r7, 1
-+ add r6/*a23*/, r7, r0 << 1
-+ add r6/*tmp[14]*/, r6, r5 << 1
-+ stdsp sp[4*9/*tmp3[..] on the stack*/ + 14*4], r6
-+
-+ /* Registers used:
-+ r0 = m2, r2 = a7, r5 = m0, r7 = m4, r8 = a1
-+
-+ Free registers:
-+ r1, r3, r4, r6, r10, r9, r11, lr
-+ */
-+
-+/*
-+ a16 = a1 - a7;
-+ m1 = mad_f_mul(a16, -c0) ;
-+ a24 = (m4 << 1) - (m2 << 1);
-+ tmp[10] = a24 - (m1 << 1);
-+
-+ a25 = (m4 << 1) + (m1 << 1);
-+ tmp[ 2] = (m0 << 1) - a25;
-+*/
-+ sub r3/*a16*/, r8, r2
-+ mov r4, -MAD_F(0x1f838b8d)
-+ mulsatrndwh.w r3/*m1*/, r3, r4:b
-+ sub r1/*a24*/, r7, r0 << 1
-+ sub r1/*tmp[10]*/, r1, r3 << 1
-+ stdsp sp[4*9/*tmp3[..] on the stack*/ + 10*4], r1
-+ add r7/*a25*/, r7, r3 << 1
-+ sub r7, r7, r5 << 1
-+ neg r7
-+ stdsp sp[4*9/*tmp3[..] on the stack*/ + 2*4], r7
-+
-+
-+
-+
-+ /* output to every other slot for convenience */
-+
-+ /*} */
-+ /* End fastdct */
-+
-+ /* odd input butterfly and scaling */
-+
-+
-+ /* On the stack:
-+ sp[0] = tmp4[8], sp[1] = tmp4[4],sp[2] = tmp4[7], sp[3] = tmp4[5],sp[4] = tmp4[6]
-+ sp[5] = tmp4[0], sp[6] = tmp4[1],sp[7] = tmp4[2],sp[8] = tmp4[3]
-+ */
-+
-+ /*
-+ tmp3[0] = mad_f_mul(tmp4[0], scale[0]);
-+ tmp3[1] = mad_f_mul(tmp4[1], scale[1]) << 1;
-+ tmp3[2] = mad_f_mul(tmp4[2], scale[2]);
-+ tmp3[3] = mad_f_mul(tmp4[3], scale[3]) << 1;
-+ tmp3[4] = mad_f_mul(tmp4[4], scale[4]);
-+ tmp3[5] = mad_f_mul(tmp4[5], scale[5]);
-+ tmp3[6] = mad_f_mul(tmp4[6], scale[6]) << 1;
-+ tmp3[7] = mad_f_mul(tmp4[7], scale[7]);
-+ tmp3[8] = mad_f_mul(tmp4[8], scale[8]) << 1;
-+ */
-+ /* Registers used:
-+ r1 = tmp4[3], r2 = tmp4[2], r3 = tmp4[1], r4 = tmp4[0], r7 = tmp4[6]
-+ r10 = tmp4[5], r11 = tmp4[7], r12 = tmp4[4], lr = tmp4[8]
-+
-+ Free registers:
-+ r0, r5, r6, r8, r9
-+ */
-+ ld.d r8, pc[ scale_sdctII - . + 4*2] /* r8 = { scale[6], scale[7] }, r9 = { scale[4], scale[5]} */
-+ ldm sp++, r1, r2, r3, r4, r7, r10, r11, r12, lr
-+ mov r5, MAD_F(0x02c9fad7) /* r3 = scale[8] */
-+ mulsatrndwh.w r5/*tmp3[8]*/, lr, r5:b
-+ mulsatrndwh.w lr/*tmp3[6]*/, r7, r8:t
-+ ld.d r6, pc[ scale_sdctII - . + 0*2] /* r6 = { scale[2], scale[3] }, r7 = { scale[0], scale[1]} */
-+ lsl lr, 1
-+ lsl r5, 1
-+ mulsatrndwh.w r0/*tmp3[2]*/, r2, r6:t
-+ mulsatrndwh.w r1/*tmp3[3]*/, r1, r6:b
-+ mulsatrndwh.w r6/*tmp3[0]*/, r4, r7:t
-+ mulsatrndwh.w r7/*tmp3[1]*/, r3, r7:b
-+ mulsatrndwh.w r3/*tmp3[5]*/, r10, r9:b
-+ mulsatrndwh.w r2/*tmp3[4]*/, r12, r9:t
-+ mulsatrndwh.w r9/*tmp3[7]*/, r11, r8:b
-+ lsl r1, 1
-+ lsl r7, 1
-+
-+
-+ /* fastdct */
-+
-+/*
-+ {
-+ mad_fixed_t a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12;
-+ mad_fixed_t a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25;
-+ mad_fixed_t m0, m1, m2, m3, m4, m5, m6, m7;
-+*/
-+// enum {
-+// c0 = MAD_F(0x1f838b8d), /* 2 * cos( 1 * PI / 18) */
-+// c1 = MAD_F(0x1bb67ae8), /* 2 * cos( 3 * PI / 18) */
-+// c2 = MAD_F(0x18836fa3), /* 2 * cos( 4 * PI / 18) */
-+// c3 = MAD_F(0x1491b752), /* 2 * cos( 5 * PI / 18) */
-+// c4 = MAD_F(0x0af1d43a), /* 2 * cos( 7 * PI / 18) */
-+// c5 = MAD_F(0x058e86a0), /* 2 * cos( 8 * PI / 18) */
-+// c6 = -MAD_F(0x1e11f642) /* 2 * cos(16 * PI / 18) */
-+// };
-+
-+ /* Registers used:
-+
-+ r0=tmp3[2], r1=tmp3[3], r2=tmp3[4], r3=tmp3[5], r5=tmp3[8], r6 = tmp3[0],
-+ r7 = tmp3[1], r9=tmp3[7], lr=tmp3[6]
-+ Free registers:
-+ r4, r8, r10, r11, r12
-+ */
-+
-+/*
-+ a2 = tmp3[6] + (tmp3[2] << 1);
-+ a6 = tmp3[8] + (tmp3[0] << 1);
-+ a11 = a2 - a6;
-+ m5 = mad_f_mul(a11, c6) ;
-+ a4 = tmp3[1] + (tmp3[7] << 1);
-+
-+ a18 = (tmp3[4] << 1) + a4;
-+ a19 = -2 * (tmp3[4] << 1) + a4;
-+
-+ a0 = tmp3[3] + (tmp3[5] << 1);
-+
-+*/
-+ add r11/*a4*/, r7, r9 << 1
-+ add r12/*a18*/, r11, r2 << 1
-+ sub r11/*a19*/, r11, r2 << 2
-+
-+ add r4/*a2*/, lr, r0 << 1
-+ add r8/*a6*/, r5, r6 << 1
-+ sub r10/*a11*/, r4, r8
-+
-+ st.d --sp, r0 /* sp[0] = tmp3[3], sp1[1] = tmp3[2]*/
-+
-+ mov r2, -MAD_F(0x1e11f642)
-+ mulsatrndwh.w r10/*m5*/, r10, r2:b
-+
-+ add r2/*a0*/, r1, r3 << 1
-+
-+ /* Registers used:
-+
-+ r2=a0, r3=tmp3[5], r4=a2, r5=tmp3[8], r6 = tmp3[0],
-+ r7 = tmp3[1], r8=a6, r9=tmp3[7], r10=m5, r11=a19, r12=a18,lr=tmp3[6]
-+ Free registers:
-+ r0, r1
-+ */
-+
-+/*
-+ a8 = a0 + a2;
-+ a12 = a8 + a6;
-+ a10 = a0 - a6;
-+ a9 = a0 - a2;
-+ m7 = mad_f_mul(a9, -c2) ;
-+ m6 = mad_f_mul(a10, -c5) ;
-+*/
-+
-+ add r0/*a8*/, r2, r4
-+ add r0/*a12*/, r8
-+ rsub r8/*a10*/, r2
-+ sub r2/*a9*/, r4
-+ mov r1, -MAD_F(0x18836fa3)
-+ mulsatrndwh.w r2/*m7*/, r2, r1:b
-+ mov r1, -MAD_F(0x058e86a0)
-+ mulsatrndwh.w r8/*m6*/, r8, r1:b
-+
-+ /* Registers used:
-+
-+ r0=a12, r2=m7, r3=tmp3[5], r5=tmp3[8], r6 = tmp3[0],
-+ r7 = tmp3[1], r8=m6, r9=tmp3[7], r10=m5, r11=a19, r12=a18,lr=tmp3[6]
-+ Free registers:
-+ r1, r4
-+ */
-+
-+
-+/*
-+ a21 = -a19 + (m5 << 1);
-+ tmp[ 9] = a21 - (m6 << 1);
-+
-+ a20 = -(-a19 - (m5 << 1));
-+ tmp[ 5] = (m7 << 1) + a20;
-+ a22 = -a19 + (m6 << 1);
-+ tmp[17] = a22 + (m7 << 1);
-+ tmp[ 1] = a18 + a12;
-+ tmp[13] = a12 - 2 * a18;
-+*/
-+ sub r1/*a21*/, r11, r10 << 1
-+ neg r1
-+ sub r1/*tmp[9]*/, r1, r8 << 1
-+ stdsp sp[4*2/*tmp3[..] on the stack*/ + 9*4], r1
-+ add r4/*a20*/, r11, r10 << 1
-+ add r4/*tmp[5]*/, r4, r2 << 1
-+ stdsp sp[4*2/*tmp3[..] on the stack*/ + 5*4], r4
-+ neg r11
-+ add r1/*a22*/, r11, r8 << 1
-+ add r1/*tmp[17]*/, r1, r2 << 1
-+ stdsp sp[4*2/*tmp3[..] on the stack*/ + 17*4], r1
-+ add r4, r12, r0
-+ sub r1, r0, r12 << 1
-+ stdsp sp[4*2/*tmp3[..] on the stack*/ + 1*4], r4
-+ stdsp sp[4*2/*tmp3[..] on the stack*/ + 13*4], r1
-+
-+ ld.d r0, sp++
-+
-+ /* Registers used:
-+
-+ r0 = tmp3[2], r1 = tmp3[3], r3=tmp3[5], r5=tmp3[8], r6 = tmp3[0],
-+ r7 = tmp3[1], r9=tmp3[7], r11=a19, lr=tmp3[6]
-+ Free registers:
-+ r2,r4,r8,r10,r12
-+ */
-+
-+/*
-+ a5 = tmp3[1] - (tmp3[7] << 1);
-+ a7 = tmp3[8] - (tmp3[0] << 1);
-+ a3 = tmp3[6] - (tmp3[2] << 1);
-+ a1 = tmp3[3] - (tmp3[5] << 1);
-+ a13 = a1 - a3;
-+ a14 = a13 + a7;
-+ m3 = mad_f_mul(a14, -c1) ;
-+ m4 = mad_f_mul(a5, -c1) ;
-+ tmp[ 7] = m3 << 1;
-+*/
-+ sub r7/*a5*/, r7, r9 << 1
-+ sub r2/*a7*/, r5, r6 << 1
-+ sub r4/*a3*/, lr, r0 << 1
-+ sub r8/*a1*/, r1, r3 << 1
-+ sub r10/*a13*/, r8, r4
-+ add r12/*a14*/, r10, r2
-+ mov r0, -MAD_F(0x1bb67ae8)
-+ mulsatrndwh.w r12/*m3*/, r12, r0:b
-+ mulsatrndwh.w r7/*m4*/, r7, r0:b
-+ lsl r12, 1
-+ stdsp sp[7*4], r12
-+
-+ /* Registers used:
-+ r2 = a7, r4 = a3, r7 = m4, r8 = a1, r12 = m3
-+
-+ Free registers:
-+ r0, r1, r3, r5, r6, r9, r10, r11, lr
-+ */
-+
-+
-+/*
-+ a15 = a3 + a7;
-+ m2 = mad_f_mul(a15, -c4) ;
-+ a17 = a1 + a3;
-+ m0 = mad_f_mul(a17, -c3) ;
-+ a23 = (m4 << 1) + (m2 << 1);
-+ tmp[15] = a23 + (m0 << 1); */
-+ add r0/*a15*/, r4, r2
-+ mov r1, -MAD_F(0x0af1d43a)
-+ mulsatrndwh.w r0/*m2*/, r0, r1:b
-+ mov r3, -MAD_F(0x1491b752)
-+ add r5/*a17*/, r8, r4
-+ mulsatrndwh.w r5/*m0*/, r5, r3:b
-+ lsl r7, 1
-+ add r6/*a23*/, r7, r0 << 1
-+ add r6/*tmp[15]*/, r6, r5 << 1
-+ stdsp sp[15*4], r6
-+
-+ /* Registers used:
-+ r0 = m2, r2 = a7, r5 = m0, r7 = m4, r8 = a1
-+
-+ Free registers:
-+ r1, r3, r4, r6, r9, r10, r11, lr
-+ */
-+
-+/*
-+ a16 = a1 - a7;
-+ m1 = mad_f_mul(a16, -c0) ;
-+ a24 = (m4 << 1) - (m2 << 1);
-+ tmp[11] = a24 - (m1 << 1);
-+
-+ a25 = (m4 << 1) + (m1 << 1);
-+ tmp[ 3] = (m0 << 1) - a25;
-+*/
-+ sub r3/*a16*/, r8, r2
-+ mov r4, -MAD_F(0x1f838b8d)
-+ mulsatrndwh.w r3/*m1*/, r3, r4:b
-+ sub r1/*a24*/, r7, r0 << 1
-+ sub r1/*tmp[11]*/, r1, r3 << 1
-+ stdsp sp[11*4], r1
-+ add r7/*a25*/, r7, r3 << 1
-+ sub r7, r7, r5 << 1
-+ neg r7
-+ lddsp r12, sp[4*18+4] /* Get y from stack */
-+ stdsp sp[3*4], r7
-+
-+
-+ /* output to every other slot for convenience */
-+
-+ /* End fastdct */
-+
-+ /* output accumulation */
-+
-+/* for (i = 3; i < 18; i += 8) {
-+ tmp[i + 0] -= tmp[(i + 0) - 2];
-+ tmp[i + 2] -= tmp[(i + 2) - 2];
-+ tmp[i + 4] -= tmp[(i + 4) - 2];
-+ tmp[i + 6] -= tmp[(i + 6) - 2];
-+ }
-+ }
-+*/
-+
-+/* End SDCT-II */
-+
-+
-+
-+ /* scale reduction and output accumulation */
-+
-+/*
-+ for (i = 1; i < 17; i += 4) {
-+ tmp[i + 0] = tmp[i + 0] - tmp[(i + 0) - 1];
-+ tmp[i + 1] = tmp[i + 1] - tmp[(i + 1) - 1];
-+ tmp[i + 2] = tmp[i + 2] - tmp[(i + 2) - 1];
-+ tmp[i + 3] = tmp[i + 3] - tmp[(i + 3) - 1];
-+ }
-+ tmp[17] = tmp[17] - tmp[16];
-+ }
-+*/
-+/* End DCT-IV */
-+
-+
-+ /* convert 18-point DCT-IV to 36-point IMDCT */
-+
-+/*
-+ for (i = 0; i < 9; i += 3) {
-+ y[i + 0] = tmp[9 + (i + 0)];
-+ y[i + 1] = tmp[9 + (i + 1)];
-+ y[i + 2] = tmp[9 + (i + 2)];
-+ }
-+ for (i = 9; i < 27; i += 3) {
-+ y[i + 0] = -tmp[36 - (9 + (i + 0)) - 1];
-+ y[i + 1] = -tmp[36 - (9 + (i + 1)) - 1];
-+ y[i + 2] = -tmp[36 - (9 + (i + 2)) - 1];
-+ }
-+ for (i = 27; i < 36; i += 3) {
-+ y[i + 0] = -tmp[(i + 0) - 27];
-+ y[i + 1] = -tmp[(i + 1) - 27];
-+ y[i + 2] = -tmp[(i + 2) - 27];
-+ }
-+ }
-+*/
-+
-+ /* Registers used:
-+ r0 = tmp[8], r1 = tmp[7], r2 = tmp[6], r3 = tmp[5], r4 = tmp[4]
-+ r5 = tmp[3], r6 = tmp[2], r7 = tmp[1], r8 = tmp[0], r12 = y
-+
-+ Free registers:
-+ r9, r10, r11, lr
-+ */
-+
-+ ldm sp++, r0-r8 /* Get tmp[0]-tmp[8] from stack */
-+ sub r5, r7 /* tmp[3] -= tmp[1]*/
-+ sub r3, r5 /* tmp[5] -= tmp[3]*/
-+ sub r1, r3 /* tmp[7] -= tmp[5]*/
-+
-+ sub r7, r8 /* tmp[1] -= tmp[0]*/
-+ sub r6, r7 /* tmp[2] -= tmp[1]*/
-+ sub r5, r6 /* tmp[3] -= tmp[2]*/
-+ neg r8
-+ st.w r12[26*4], r8 /* y[26] = -tmp[0] */
-+ st.w r12[27*4], r8 /* y[27] = -tmp[0] */
-+ neg r7
-+ neg r6
-+ st.w r12[25*4], r7 /* y[25] = -tmp[1] */
-+ st.w r12[24*4], r6 /* y[24] = -tmp[2] */
-+ st.d r12[28*4], r6 /* y[28] = -tmp[1], y[29] = -tmp[2]*/
-+
-+ sub r4, r5 /* tmp[4] -= tmp[3]*/
-+ sub r3, r4 /* tmp[5] -= tmp[4]*/
-+ neg r5
-+ neg r4
-+ st.w r12[23*4], r5 /* y[23] = -tmp[3] */
-+ st.w r12[22*4], r4 /* y[22] = -tmp[4] */
-+ st.d r12[30*4], r4 /* y[30] = -tmp[3], y[31] = -tmp[4]*/
-+
-+ ldm sp++, r4-r11,lr /* Get tmp[9]-tmp[17] from stack */
-+
-+ sub r2, r3 /* tmp[6] -= tmp[5]*/
-+
-+ sub lr, r1 /* tmp[9] -= tmp[7]*/
-+ sub r10, lr /* tmp[11] -= tmp[9]*/
-+ sub r8, r10 /* tmp[13] -= tmp[11]*/
-+ sub r6, r8 /* tmp[15] -= tmp[13]*/
-+ sub r4, r6 /* tmp[17] -= tmp[15]*/
-+
-+ sub r1, r2 /* tmp[7] -= tmp[6]*/
-+ sub r0, r1 /* tmp[8] -= tmp[7]*/
-+ neg r3
-+ neg r2
-+ st.w r12[21*4], r3 /* y[21] = -tmp[5] */
-+ st.w r12[20*4], r2 /* y[20] = -tmp[6] */
-+ st.d r12[32*4], r2 /* y[32] = -tmp[5], y[33] = -tmp[6]*/
-+
-+ sub lr, r0 /* tmp[9] -= tmp[8]*/
-+ sub r11, lr /* tmp[10] -= tmp[9]*/
-+ neg r1
-+ neg r0
-+ st.w r12[19*4], r1 /* y[19] = -tmp[7] */
-+ st.w r12[18*4], r0 /* y[18] = -tmp[8] */
-+ st.d r12[34*4], r0 /* y[34] = -tmp[7], y[35] = -tmp[8]*/
-+
-+ sub r10, r11 /* tmp[11] -= tmp[10]*/
-+ sub r9, r10 /* tmp[12] -= tmp[11]*/
-+
-+ st.w r12[0*4], lr /* y[0] = tmp[9]*/
-+ neg lr
-+ st.w r12[17*4], lr /* y[17] = -tmp[9]*/
-+ st.d r12[1*4], r10 /* y[1] = tmp[10], y[2] = tmp[11] */
-+ neg r11
-+ neg r10
-+ st.w r12[16*4], r11 /* y[16] = -tmp[10] */
-+ st.w r12[15*4], r10 /* y[15] = -tmp[11] */
-+
-+
-+ sub r8, r9 /* tmp[13] -= tmp[12]*/
-+ sub r7, r8 /* tmp[14] -= tmp[13]*/
-+ st.d r12[3*4], r8 /* y[3] = tmp[12], y[4] = tmp[13] */
-+ neg r9
-+ neg r8
-+ st.w r12[14*4], r9 /* y[14] = -tmp[12] */
-+ st.w r12[13*4], r8 /* y[13] = -tmp[13] */
-+
-+ sub r6, r7 /* tmp[15] -= tmp[14]*/
-+ sub r5, r6 /* tmp[16] -= tmp[15]*/
-+ sub r4, r5 /* tmp[17] -= tmp[16]*/
-+
-+ st.d r12[5*4], r6 /* y[5] = tmp[14], y[6] = tmp[15] */
-+ neg r7
-+ neg r6
-+ st.w r12[12*4], r7 /* y[12] = -tmp[14] */
-+ st.w r12[11*4], r6 /* y[11] = -tmp[15] */
-+
-+ st.d r12[7*4], r4 /* y[7] = tmp[16], y[8] = tmp[17] */
-+ neg r5
-+ neg r4
-+ st.w r12[10*4], r5 /* y[10] = -tmp[16] */
-+ st.w r12[9*4], r4 /* y[9] = -tmp[17] */
-+
-+ popm r0-r7,r11,pc
-+
-+ .align 2
-+scale_dctIV:
-+ .short MAD_F(0x1ff833fa), MAD_F(0x1fb9ea93), MAD_F(0x1f3dd120)
-+ .short MAD_F(0x1e84d969), MAD_F(0x1d906bcf), MAD_F(0x1c62648b)
-+ .short MAD_F(0x1afd100f), MAD_F(0x1963268b), MAD_F(0x1797c6a4)
-+ .short MAD_F(0x159e6f5b), MAD_F(0x137af940), MAD_F(0x11318ef3)
-+ .short MAD_F(0x0ec6a507), MAD_F(0x0c3ef153), MAD_F(0x099f61c5)
-+ .short MAD_F(0x06ed12c5), MAD_F(0x042d4544), MAD_F(0x0165547c)
-+
-+ .align 2
-+scale_sdctII:
-+ .short MAD_F(0x1fe0d3b4), MAD_F(0x1ee8dd47), MAD_F(0x1d007930)
-+ .short MAD_F(0x1a367e59), MAD_F(0x16a09e66), MAD_F(0x125abcf8)
-+ .short MAD_F(0x0d8616bc), MAD_F(0x08483ee1), MAD_F(0x02c9fad7)
-diff --git a/layer3.c b/layer3.c
-index 4e5d3fa..dffdab3 100644
---- a/layer3.c
-+++ b/layer3.c
-@@ -378,6 +378,11 @@ mad_fixed_t const ca[8] = {
- -MAD_F(0x003a2847) /* -0.014198569 */, -MAD_F(0x000f27b4) /* -0.003699975 */
- };
-
-+#ifdef FPM_AVR32
-+# undef MAD_F
-+# define MAD_F(x) ((x + (1 << 12)) >> 13)
-+#endif
-+
- /*
- * IMDCT coefficients for short blocks
- * derived from section 2.4.3.4.10.2 of ISO/IEC 11172-3
-@@ -386,7 +391,7 @@ mad_fixed_t const ca[8] = {
- * imdct_s[i /odd][k] = cos((PI / 24) * (2 * (6 + (i-1)/2) + 7) * (2 * k + 1))
- */
- static
--mad_fixed_t const imdct_s[6][6] = {
-+mad_coeff_t const imdct_s[6][6] = {
- # include "imdct_s.dat"
- };
-
-@@ -398,7 +403,7 @@ mad_fixed_t const imdct_s[6][6] = {
- * window_l[i] = sin((PI / 36) * (i + 1/2))
- */
- static
--mad_fixed_t const window_l[36] = {
-+mad_coeff_t const window_l[36] = {
- MAD_F(0x00b2aa3e) /* 0.043619387 */, MAD_F(0x0216a2a2) /* 0.130526192 */,
- MAD_F(0x03768962) /* 0.216439614 */, MAD_F(0x04cfb0e2) /* 0.300705800 */,
- MAD_F(0x061f78aa) /* 0.382683432 */, MAD_F(0x07635284) /* 0.461748613 */,
-@@ -429,7 +434,7 @@ mad_fixed_t const window_l[36] = {
- * window_s[i] = sin((PI / 12) * (i + 1/2))
- */
- static
--mad_fixed_t const window_s[12] = {
-+mad_coeff_t const window_s[12] = {
- MAD_F(0x0216a2a2) /* 0.130526192 */, MAD_F(0x061f78aa) /* 0.382683432 */,
- MAD_F(0x09bd7ca0) /* 0.608761429 */, MAD_F(0x0cb19346) /* 0.793353340 */,
- MAD_F(0x0ec835e8) /* 0.923879533 */, MAD_F(0x0fdcf549) /* 0.991444861 */,
-@@ -438,6 +443,11 @@ mad_fixed_t const window_s[12] = {
- MAD_F(0x061f78aa) /* 0.382683432 */, MAD_F(0x0216a2a2) /* 0.130526192 */,
- };
-
-+#ifdef FPM_AVR32
-+# undef MAD_F
-+# define MAD_F(x) ((mad_fixed_t) (x##L))
-+#endif
-+
- /*
- * coefficients for intensity stereo processing
- * derived from section 2.4.3.4.9.3 of ISO/IEC 11172-3
-@@ -879,6 +889,42 @@ void III_exponents(struct channel const *channel,
- * NAME: III_requantize()
- * DESCRIPTION: requantize one (positive) value
- */
-+
-+#if 0
-+/*static*/
-+mad_fixed_t III_requantize(unsigned int value, signed int exp)
-+{
-+ register mad_fixed_t tmp2, tmp3;
-+ long long tmp_d;
-+
-+ asm ("asr\t%0, %1, 2\n"
-+ "ld.w\t%2, %4[%5 << 2]\n"
-+ "sub\t%1, %1, %0 << 2\n"
-+ "asr\t%3, %2, 7\n"
-+ "andl\t%2, 0x7f, COH\n"
-+ "add\t%0, %2\n"
-+ "lsl\t%m0,%3,%0\n"
-+ "neg\t%0\n"
-+ "asr\t%3,%3,%0\n"
-+ "add\t%2, %6, %1 << 2\n"
-+ "ld.w\t%2, %2[12]\n"
-+ "cp.w\t%0, 0\n"
-+ "movlt\t%3, %m0\n"
-+ "muls.d\t%0, %3, %2\n"
-+ "cp.w\t%1, 0\n"
-+ "breq\t0f\n"
-+ "lsr\t%0, %0, 28\n"
-+ "or\t%3, %0, %m0 << 4\n"
-+ "0:\n"
-+ : "=&r"(tmp_d), "+r"(exp), "=&r"(tmp2), "=&r"(tmp3)
-+ : "r"(&rq_table), "r"(value), "r"(root_table));
-+
-+
-+ return tmp3;
-+}
-+
-+#else
-+
- static
- mad_fixed_t III_requantize(unsigned int value, signed int exp)
- {
-@@ -918,6 +964,7 @@ mad_fixed_t III_requantize(unsigned int value, signed int exp)
-
- return frac ? mad_f_mul(requantized, root_table[3 + frac]) : requantized;
- }
-+#endif
-
- /* we must take care that sz >= bits and sz < sizeof(long) lest bits == 0 */
- # define MASK(cache, sz, bits) \
-@@ -2054,27 +2101,42 @@ void imdct36(mad_fixed_t const X[18], mad_fixed_t x[36])
- }
- # endif
-
-+
-+#ifdef FPM_AVR32
-+# undef mad_f_mul
-+# define mad_f_mul(x, y) __builtin_mulsatrndwh_w(x, y)
-+#endif
-+
- /*
- * NAME: III_imdct_l()
- * DESCRIPTION: perform IMDCT and windowing for long blocks
- */
- static
--void III_imdct_l(mad_fixed_t const X[18], mad_fixed_t z[36],
-+void III_imdct_l(mad_fixed_t /*const*/ X[18], mad_fixed_t z[36],
- unsigned int block_type)
- {
- unsigned int i;
-+ mad_fixed_t *z_ptr;
-+ mad_coeff_t *w_ptr;
-
- /* IMDCT */
-
-+#ifdef FPM_AVR32
-+ imdct36_avr32(X, z);
-+#else
- imdct36(X, z);
-+#endif
-
- /* windowing */
-
-+ z_ptr = &z[0];
-+ w_ptr = &window_l[0];
-+
- switch (block_type) {
- case 0: /* normal window */
- # if defined(ASO_INTERLEAVE1)
- {
-- register mad_fixed_t tmp1, tmp2;
-+ register mad_coeff_t tmp1, tmp2;
-
- tmp1 = window_l[0];
- tmp2 = window_l[1];
-@@ -2091,15 +2153,16 @@ void III_imdct_l(mad_fixed_t const X[18], mad_fixed_t z[36],
- }
- # elif defined(ASO_INTERLEAVE2)
- {
-- register mad_fixed_t tmp1, tmp2;
-+ register mad_fixed_t tmp1;
-+ register mad_coeff_t tmp2;
-
-- tmp1 = z[0];
-- tmp2 = window_l[0];
-+ tmp1 = *z_ptr;
-+ tmp2 = *w_ptr++;
-
- for (i = 0; i < 35; ++i) {
-- z[i] = mad_f_mul(tmp1, tmp2);
-- tmp1 = z[i + 1];
-- tmp2 = window_l[i + 1];
-+ *z_ptr++ = mad_f_mul(tmp1, tmp2);
-+ tmp1 = *z_ptr;
-+ tmp2 = *w_ptr++;
- }
-
- z[35] = mad_f_mul(tmp1, tmp2);
-@@ -2118,23 +2181,28 @@ void III_imdct_l(mad_fixed_t const X[18], mad_fixed_t z[36],
-
- case 1: /* start block */
- for (i = 0; i < 18; i += 3) {
-- z[i + 0] = mad_f_mul(z[i + 0], window_l[i + 0]);
-- z[i + 1] = mad_f_mul(z[i + 1], window_l[i + 1]);
-- z[i + 2] = mad_f_mul(z[i + 2], window_l[i + 2]);
-+ *(z_ptr++) = mad_f_mul(*z_ptr, *w_ptr++);
-+ *(z_ptr++) = mad_f_mul(*z_ptr, *w_ptr++);
-+ *(z_ptr++) = mad_f_mul(*z_ptr, *w_ptr++);
- }
-+ z_ptr += 6;
-+ w_ptr = &window_s[6];
- /* (i = 18; i < 24; ++i) z[i] unchanged */
-- for (i = 24; i < 30; ++i) z[i] = mad_f_mul(z[i], window_s[i - 18]);
-- for (i = 30; i < 36; ++i) z[i] = 0;
-+ for (i = 24; i < 30; ++i) *z_ptr++ = mad_f_mul(*z_ptr, *w_ptr++);
-+ for (i = 30; i < 36; ++i) *z_ptr++ = 0;
- break;
-
- case 3: /* stop block */
-- for (i = 0; i < 6; ++i) z[i] = 0;
-- for (i = 6; i < 12; ++i) z[i] = mad_f_mul(z[i], window_s[i - 6]);
-+ w_ptr = &window_s[0];
-+ for (i = 0; i < 6; ++i) *z_ptr++ = 0;
-+ for (i = 6; i < 12; ++i) *z_ptr++ = mad_f_mul(*z_ptr, *w_ptr++);
- /* (i = 12; i < 18; ++i) z[i] unchanged */
-+ w_ptr = &window_l[18];
-+ z_ptr += 6;
- for (i = 18; i < 36; i += 3) {
-- z[i + 0] = mad_f_mul(z[i + 0], window_l[i + 0]);
-- z[i + 1] = mad_f_mul(z[i + 1], window_l[i + 1]);
-- z[i + 2] = mad_f_mul(z[i + 2], window_l[i + 2]);
-+ *z_ptr++ = mad_f_mul(*z_ptr, *w_ptr++ );
-+ *z_ptr++ = mad_f_mul(*z_ptr, *w_ptr++);
-+ *z_ptr++ = mad_f_mul(*z_ptr, *w_ptr++);
- }
- break;
- }
-@@ -2146,10 +2214,10 @@ void III_imdct_l(mad_fixed_t const X[18], mad_fixed_t z[36],
- * DESCRIPTION: perform IMDCT and windowing for short blocks
- */
- static
--void III_imdct_s(mad_fixed_t const X[18], mad_fixed_t z[36])
-+void III_imdct_s(mad_fixed_t /*const*/ X[18], mad_fixed_t z[36])
- {
- mad_fixed_t y[36], *yptr;
-- mad_fixed_t const *wptr;
-+ mad_coeff_t const *wptr;
- int w, i;
- register mad_fixed64hi_t hi;
- register mad_fixed64lo_t lo;
-@@ -2159,11 +2227,56 @@ void III_imdct_s(mad_fixed_t const X[18], mad_fixed_t z[36])
- yptr = &y[0];
-
- for (w = 0; w < 3; ++w) {
-- register mad_fixed_t const (*s)[6];
-+ register mad_coeff_t const (*s)[6];
-
- s = imdct_s;
-
- for (i = 0; i < 3; ++i) {
-+#ifdef FPM_AVR32
-+ register long long int acc, tmp1, tmp2, tmp3, tmp4;
-+ asm volatile ("ld.d\t%0, %5++\n"
-+ "ld.d\t%1, %6[0]\n"
-+ "ld.d\t%2, %6[2*4]\n"
-+ "ld.d\t%3, %6[4*4]\n"
-+ "mulwh.d\t%4, %m1, %m0:t\n"
-+ "macwh.d\t%4, %1, %m0:b\n"
-+ "ld.w\t%m0, %5++\n"
-+ "macwh.d\t%4, %m2, %0:t\n"
-+ "macwh.d\t%4, %2, %0:b\n"
-+ "macwh.d\t%4, %m3, %m0:t\n"
-+ "macwh.d\t%4, %3, %m0:b\n"
-+ "ld.d\t%0, %5++\n"
-+ "rol\t%4\n"
-+ "rol\t%m4\n"
-+ : "=&r"(tmp1), "=&r"(tmp2), "=&r"(tmp3), "=&r"(tmp4),
-+ "=&r"(acc), "+r"(s)
-+ : "r"(X));
-+
-+ asm volatile ("st.w\t%1[0], %m0\n"
-+ "neg\t%m0\n"
-+ "st.w\t%2[5*4], %m0\n"
-+ : "+r"(acc)
-+ : "r"(&yptr[i]), "r"(&yptr[-i]));
-+
-+ asm volatile ("mulwh.d\t%4, %m1, %m0:t\n"
-+ "macwh.d\t%4, %1, %m0:b\n"
-+ "ld.w\t%m0, %5++\n"
-+ "macwh.d\t%4, %m2, %0:t\n"
-+ "macwh.d\t%4, %2, %0:b\n"
-+ "macwh.d\t%4, %m3, %m0:t\n"
-+ "macwh.d\t%4, %3, %m0:b\n"
-+ "rol\t%4\n"
-+ "rol\t%m4\n"
-+ : "+r"(tmp1), "+r"(tmp2), "+r"(tmp3), "+r"(tmp4),
-+ "=&r"(acc), "+r"(s)
-+ : "r"(X));
-+
-+ asm volatile ( "st.w\t%1[6*4], %m0\n"
-+ "st.w\t%2[11*4], %m0\n"
-+ :: "r"(acc), "r"(&yptr[i]), "r"(&yptr[-i]));
-+
-+
-+#else
- MAD_F_ML0(hi, lo, X[0], (*s)[0]);
- MAD_F_MLA(hi, lo, X[1], (*s)[1]);
- MAD_F_MLA(hi, lo, X[2], (*s)[2]);
-@@ -2187,6 +2300,7 @@ void III_imdct_s(mad_fixed_t const X[18], mad_fixed_t z[36])
- yptr[11 - i] = yptr[i + 6];
-
- ++s;
-+#endif
- }
-
- yptr += 12;
-@@ -2198,6 +2312,196 @@ void III_imdct_s(mad_fixed_t const X[18], mad_fixed_t z[36])
- yptr = &y[0];
- wptr = &window_s[0];
-
-+#ifdef FPM_AVR32
-+ /* z[0] = 0;
-+ z[1] = 0;
-+ z[2] = 0;
-+ z[3] = 0;
-+ z[4] = 0;
-+ z[5] = 0;
-+ z[30] = 0;
-+ z[31] = 0;
-+ z[32] = 0;
-+ z[33] = 0;
-+ z[34] = 0;
-+ z[35] = 0;
-+ */
-+ {
-+ register long long int tmp, tmp2, tmp3, w0123, w4567, w891011;
-+ asm volatile ("mov\t%m0, 0\n"
-+ "mov\t%0, %m0\n"
-+ "st.d\t%1[0], %0\n"
-+ "st.d\t%1[2*4], %0\n"
-+ "st.d\t%1[4*4], %0\n"
-+ "st.d\t%1[30*4], %0\n"
-+ "st.d\t%1[32*4], %0\n"
-+ "st.d\t%1[34*4], %0\n"
-+ : "=&r"(tmp) : "r"(z));
-+
-+
-+
-+ /*
-+ z[6] = mad_f_mul(yptr [0], wptr[0]);
-+ z[7] = mad_f_mul(yptr [1], wptr[1]);
-+ z[8] = mad_f_mul(yptr [2], wptr[2]);
-+ z[9] = mad_f_mul(yptr [3], wptr[3]);
-+ z[10] = mad_f_mul(yptr[4], wptr[4]);
-+ z[11] = mad_f_mul(yptr[5], wptr[5]);
-+ z[24] = mad_f_mul(yptr [30], wptr[6]);
-+ z[25] = mad_f_mul(yptr [31], wptr[7]);
-+ z[26] = mad_f_mul(yptr [32], wptr[8]);
-+ z[27] = mad_f_mul(yptr [33], wptr[9]);
-+ z[28] = mad_f_mul(yptr[34], wptr[10]);
-+ z[29] = mad_f_mul(yptr[35], wptr[11]);
-+ */
-+
-+
-+ asm volatile ("ld.d\t%0, %5[0*4]\n"
-+ "ld.d\t%3, %6[0*4]\n"
-+ "ld.d\t%1, %5[2*4]\n"
-+ "ld.d\t%2, %5[4*4]\n"
-+ "mulsatrndwh.w\t%m3, %m3, %m0:t\n"
-+ "mulsatrndwh.w\t%3, %3, %m0:b\n"
-+ "ld.d\t%4, %6[2*4]\n"
-+ "st.d\t%7[6*4], %3\n"
-+
-+ "mulsatrndwh.w\t%m4, %m4, %0:t\n"
-+ "mulsatrndwh.w\t%4, %4, %0:b\n"
-+ "ld.d\t%3, %6[4*4]\n"
-+ "st.d\t%7[8*4], %4\n"
-+
-+ "mulsatrndwh.w\t%m3, %m3, %m1:t\n"
-+ "mulsatrndwh.w\t%3, %3, %m1:b\n"
-+ "ld.d\t%4, %6[30*4]\n"
-+ "st.d\t%7[10*4], %3\n"
-+
-+ "mulsatrndwh.w\t%m4, %m4, %1:t\n"
-+ "mulsatrndwh.w\t%4, %4, %1:b\n"
-+ "ld.d\t%3, %6[32*4]\n"
-+ "st.d\t%7[24*4], %4\n"
-+
-+ "mulsatrndwh.w\t%m3, %m3, %m2:t\n"
-+ "mulsatrndwh.w\t%3, %3, %m2:b\n"
-+ "ld.d\t%4, %6[34*4]\n"
-+ "st.d\t%7[26*4], %3\n"
-+
-+ "mulsatrndwh.w\t%m4, %m4, %2:t\n"
-+ "mulsatrndwh.w\t%4, %4, %2:b\n"
-+ "st.d\t%7[28*4], %4\n"
-+
-+ : "=&r"(w0123), "=&r"(w4567), "=&r"(w891011), "=&r"(tmp), "=&r"(tmp2)
-+ : "r"(wptr), "r"(yptr), "r"(z));
-+ /*
-+ MAD_F_ML0(hi, lo, yptr[6], wptr[6]);
-+ MAD_F_MLA(hi, lo, yptr[12], wptr[0]);
-+ z[12] = MAD_F_MLZ(hi, lo);
-+ MAD_F_ML0(hi, lo, yptr[7], wptr[7]);
-+ MAD_F_MLA(hi, lo, yptr[13], wptr[1]);
-+ z[13] = MAD_F_MLZ(hi, lo);
-+ MAD_F_ML0(hi, lo, yptr[8], wptr[8]);
-+ MAD_F_MLA(hi, lo, yptr[14], wptr[2]);
-+ z[14] = MAD_F_MLZ(hi, lo);
-+ MAD_F_ML0(hi, lo, yptr[9], wptr[9]);
-+ MAD_F_MLA(hi, lo, yptr[15], wptr[3]);
-+ z[15] = MAD_F_MLZ(hi, lo);
-+ MAD_F_ML0(hi, lo, yptr[10], wptr[10]);
-+ MAD_F_MLA(hi, lo, yptr[16], wptr[4]);
-+ z[16] = MAD_F_MLZ(hi, lo);
-+ MAD_F_ML0(hi, lo, yptr[11], wptr[11]);
-+ MAD_F_MLA(hi, lo, yptr[17], wptr[5]);
-+ z[17] = MAD_F_MLZ(hi, lo);
-+
-+ MAD_F_ML0(hi, lo, yptr[18], wptr[6]);
-+ MAD_F_MLA(hi, lo, yptr[24], wptr[0]);
-+ z[18] = MAD_F_MLZ(hi, lo);
-+ MAD_F_ML0(hi, lo, yptr[19], wptr[7]);
-+ MAD_F_MLA(hi, lo, yptr[25], wptr[1]);
-+ z[19] = MAD_F_MLZ(hi, lo);
-+ MAD_F_ML0(hi, lo, yptr[20], wptr[8]);
-+ MAD_F_MLA(hi, lo, yptr[26], wptr[2]);
-+ z[20] = MAD_F_MLZ(hi, lo);
-+ MAD_F_ML0(hi, lo, yptr[21], wptr[9]);
-+ MAD_F_MLA(hi, lo, yptr[27], wptr[3]);
-+ z[21] = MAD_F_MLZ(hi, lo);
-+ MAD_F_ML0(hi, lo, yptr[22], wptr[10]);
-+ MAD_F_MLA(hi, lo, yptr[28], wptr[4]);
-+ z[22] = MAD_F_MLZ(hi, lo);
-+ MAD_F_ML0(hi, lo, yptr[23], wptr[11]);
-+ MAD_F_MLA(hi, lo, yptr[29], wptr[5]);
-+ z[23] = MAD_F_MLZ(hi, lo);*/
-+
-+
-+ asm volatile ("ld.d\t%0, %3[6*4]\n"
-+ "ld.d\t%1, %3[12*4]\n"
-+ "mulwh.d\t%2, %m0, %5:t\n"
-+ "macwh.d\t%2, %m1, %m4:t\n"
-+ "mulwh.d\t%0, %0, %5:b\n"
-+ "macwh.d\t%0, %1, %m4:b\n"
-+ "lsl\t%m2, 1\n"
-+ "lsl\t%2, %m0, 1\n"
-+ "st.d\t%6[12*4], %2\n"
-+
-+ "ld.d\t%0, %3[18*4]\n"
-+ "ld.d\t%1, %3[24*4]\n"
-+ "mulwh.d\t%2, %m0, %5:t\n"
-+ "macwh.d\t%2, %m1, %m4:t\n"
-+ "mulwh.d\t%0, %0, %5:b\n"
-+ "macwh.d\t%0, %1, %m4:b\n"
-+ "lsl\t%m2, 1\n"
-+ "lsl\t%2, %m0, 1\n"
-+ "st.d\t%6[18*4], %2\n"
-+
-+ : "=&r"(tmp), "=&r"(tmp2), "=&r"(tmp3)
-+ : "r"(yptr), "r"(w0123), "r"(w4567), "r"(z));
-+
-+ asm volatile ("ld.d\t%0, %3[8*4]\n"
-+ "ld.d\t%1, %3[14*4]\n"
-+ "mulwh.d\t%2, %m0, %m5:t\n"
-+ "macwh.d\t%2, %m1, %4:t\n"
-+ "mulwh.d\t%0, %0, %m5:b\n"
-+ "macwh.d\t%0, %1, %4:b\n"
-+ "lsl\t%m2, 1\n"
-+ "lsl\t%2, %m0, 1\n"
-+ "st.d\t%6[14*4], %2\n"
-+
-+ "ld.d\t%0, %3[20*4]\n"
-+ "ld.d\t%1, %3[26*4]\n"
-+ "mulwh.d\t%2, %m0, %m5:t\n"
-+ "macwh.d\t%2, %m1, %4:t\n"
-+ "mulwh.d\t%0, %0, %m5:b\n"
-+ "macwh.d\t%0, %1, %4:b\n"
-+ "lsl\t%m2, 1\n"
-+ "lsl\t%2, %m0, 1\n"
-+ "st.d\t%6[20*4], %2\n"
-+
-+ : "=&r"(tmp), "=&r"(tmp2), "=&r"(tmp3)
-+ : "r"(yptr), "r"(w0123), "r"(w891011), "r"(z));
-+
-+ asm volatile ("ld.d\t%0, %3[10*4]\n"
-+ "ld.d\t%1, %3[16*4]\n"
-+ "mulwh.d\t%2, %m0, %5:t\n"
-+ "macwh.d\t%2, %m1, %m4:t\n"
-+ "mulwh.d\t%0, %0, %5:b\n"
-+ "macwh.d\t%0, %1, %m4:b\n"
-+ "lsl\t%m2, 1\n"
-+ "lsl\t%2, %m0, 1\n"
-+ "st.d\t%6[16*4], %2\n"
-+
-+ "ld.d\t%0, %3[22*4]\n"
-+ "ld.d\t%1, %3[28*4]\n"
-+ "mulwh.d\t%2, %m0, %5:t\n"
-+ "macwh.d\t%2, %m1, %m4:t\n"
-+ "mulwh.d\t%0, %0, %5:b\n"
-+ "macwh.d\t%0, %1, %m4:b\n"
-+ "lsl\t%m2, 1\n"
-+ "lsl\t%2, %m0, 1\n"
-+ "st.d\t%6[22*4], %2\n"
-+
-+ : "=&r"(tmp), "=&r"(tmp2), "=&r"(tmp3)
-+ : "r"(yptr), "r"(w4567), "r"(w891011), "r"(z));
-+
-+ }
-+#else
- for (i = 0; i < 6; ++i) {
- z[i + 0] = 0;
- z[i + 6] = mad_f_mul(yptr[ 0 + 0], wptr[0]);
-@@ -2218,8 +2522,15 @@ void III_imdct_s(mad_fixed_t const X[18], mad_fixed_t z[36])
- ++yptr;
- ++wptr;
- }
-+#endif
- }
-
-+#ifdef FPM_AVR32
-+# undef mad_f_mul
-+# define mad_f_mul(x, y) ((((x) + (1L << 11)) >> 12) * \
-+ (((y) + (1L << 15)) >> 16))
-+#endif
-+
- /*
- * NAME: III_overlap()
- * DESCRIPTION: perform overlap-add of windowed IMDCT outputs
-diff --git a/synth.c b/synth.c
-index 1d28d43..f42d49b 100644
---- a/synth.c
-+++ b/synth.c
-@@ -29,20 +29,6 @@
- # include "frame.h"
- # include "synth.h"
-
--/*
-- * NAME: synth->init()
-- * DESCRIPTION: initialize synth struct
-- */
--void mad_synth_init(struct mad_synth *synth)
--{
-- mad_synth_mute(synth);
--
-- synth->phase = 0;
--
-- synth->pcm.samplerate = 0;
-- synth->pcm.channels = 0;
-- synth->pcm.length = 0;
--}
-
- /*
- * NAME: synth->mute()
-@@ -88,6 +74,10 @@ void mad_synth_mute(struct mad_synth *synth)
-
- /* FPM_DEFAULT without OPT_SSO will actually lose accuracy and performance */
-
-+# if defined(FPM_AVR32)
-+# define OPT_SSO
-+# endif
-+
- # if defined(FPM_DEFAULT) && !defined(OPT_SSO)
- # define OPT_SSO
- # endif
-@@ -522,9 +512,15 @@ void dct32(mad_fixed_t const in[32], unsigned int slot,
- # endif
- # define ML0(hi, lo, x, y) ((lo) = (x) * (y))
- # define MLA(hi, lo, x, y) ((lo) += (x) * (y))
--# define MLN(hi, lo) ((lo) = -(lo))
--# define MLZ(hi, lo) ((void) (hi), (mad_fixed_t) (lo))
--# define SHIFT(x) ((x) >> 2)
-+# if defined(FPM_AVR32)
-+# define MLN(hi, lo) MAD_F_MLN((hi), (lo))
-+# define MLZ(hi, lo) (hi)
-+# define SHIFT(x) ((x) << 2)
-+# else
-+# define MLN(hi, lo) ((lo) = -(lo))
-+# define MLZ(hi, lo) ((void) (hi), (mad_fixed_t) (lo))
-+# define SHIFT(x) ((x) >> 2)
-+# endif
- # define PRESHIFT(x) ((MAD_F(x) + (1L << 13)) >> 14)
- # else
- # define ML0(hi, lo, x, y) MAD_F_ML0((hi), (lo), (x), (y))
-@@ -541,11 +537,54 @@ void dct32(mad_fixed_t const in[32], unsigned int slot,
- # endif
- # endif
-
-+/*
-+ * NAME: synth->init()
-+ * DESCRIPTION: initialize synth struct
-+ */
-+
-+#ifdef FPM_AVR32
-+short Dmod[17][33];
-+#endif
-+
- static
-+#ifdef FPM_AVR32
-+short const D[17][32] = {
-+#else
- mad_fixed_t const D[17][32] = {
-+#endif
- # include "D.dat"
- };
-
-+void mad_synth_init(struct mad_synth *synth)
-+{
-+
-+ mad_synth_mute(synth);
-+
-+ synth->phase = 0;
-+
-+ synth->pcm.samplerate = 0;
-+ synth->pcm.channels = 0;
-+ synth->pcm.length = 0;
-+
-+#ifdef FPM_AVR32
-+ {
-+ int i, j;
-+ for ( i = 0; i < 17; i++ ){
-+ for ( j = 0; j < 32; j++ ){
-+ if ( j & 1 ){
-+ Dmod[i][17 + (j >> 1)]= D[i][j];
-+ } else {
-+ Dmod[i][(j >> 1)]= D[i][j];
-+ }
-+ }
-+
-+ Dmod[i][16]= Dmod[i][16+8];
-+ }
-+ }
-+#endif
-+
-+}
-+
- # if defined(ASO_SYNTH)
- void synth_full(struct mad_synth *, struct mad_frame const *,
- unsigned int, unsigned int);
-@@ -560,9 +599,13 @@ void synth_full(struct mad_synth *synth, struct mad_frame const *frame,
- {
- unsigned int phase, ch, s, sb, pe, po;
- mad_fixed_t *pcm1, *pcm2, (*filter)[2][2][16][8];
-- mad_fixed_t const (*sbsample)[36][32];
-+ mad_fixed_t /*const*/ (*sbsample)[36][32];
- register mad_fixed_t (*fe)[8], (*fx)[8], (*fo)[8];
-+#ifdef FPM_AVR32
-+ register short const (*Dptr)[32], *ptr;
-+#else
- register mad_fixed_t const (*Dptr)[32], *ptr;
-+#endif
- register mad_fixed64hi_t hi;
- register mad_fixed64lo_t lo;
-
-@@ -573,6 +616,20 @@ void synth_full(struct mad_synth *synth, struct mad_frame const *frame,
- pcm1 = synth->pcm.samples[ch];
-
- for (s = 0; s < ns; ++s) {
-+# ifdef FPM_AVR32
-+/*
-+ int i;
-+ for ( i = 0; i < 32; i++ ){
-+ (*sbsample)[s][i] = ((*sbsample)[s][i] + (1 << 13)) & 0xFFFFC000;
-+ }
-+*/
-+ dct32_avr32((*sbsample)[s], phase >> 1,
-+ (*filter)[0][phase & 1], (*filter)[1][phase & 1]);
-+ /* printf("dct32: %d\n", GET_CYCLES);*/
-+ pcm1 = synth_avr32(phase, (mad_fixed_t *)filter, \
-+ pcm1, (short *)&Dmod[0]);
-+ /* printf("synth_window: %d\n", GET_CYCLES);*/
-+# else
- dct32((*sbsample)[s], phase >> 1,
- (*filter)[0][phase & 1], (*filter)[1][phase & 1]);
-
-@@ -679,6 +736,7 @@ void synth_full(struct mad_synth *synth, struct mad_frame const *frame,
- MLA(hi, lo, (*fo)[7], ptr[ 2]);
-
- *pcm1 = SHIFT(-MLZ(hi, lo));
-+# endif
- pcm1 += 16;
-
- phase = (phase + 1) % 16;
-diff --git a/synth_avr32.S b/synth_avr32.S
-new file mode 100644
-index 0000000..701077b
---- /dev/null
-+++ b/synth_avr32.S
-@@ -0,0 +1,394 @@
-+/*
-+ Optimized function for speeding up synthesis filter
-+ in MPEG Audio Decoding.
-+ Copyright 2003-2006 Atmel Corporation.
-+
-+ Written by Ronny Pedersen and Lars Even Alm?s, Atmel Norway
-+
-+ This program is free software; you can redistribute it and/or modify
-+ it under the terms of the GNU General Public License as published by
-+ the Free Software Foundation; either version 2 of the License, or
-+ (at your option) any later version.
-+
-+ This program is distributed in the hope that it will be useful,
-+ but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ GNU General Public License for more details.
-+
-+ You should have received a copy of the GNU General Public License
-+ along with this program; if not, write to the Free Software
-+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-+
-+
-+/* *****************
-+ Defining macros
-+ ***************** */
-+
-+ .macro window_1 f, ptr, acc, ptr_offset, mul, tmp1_lo, tmp1_hi, tmp2_lo, tmp2_hi, tmp3_lo, tmp3_hi
-+ ld.d \tmp1_lo, \f[0*4] /* tmp1 = { f[0], f[1] } */
-+ ld.w \tmp2_lo, \ptr[0*2+\ptr_offset*2] /* tmp2_lo = { ptr[0], ptr[1] }*/
-+ ld.d \tmp3_lo, \f[6*4] /* tmp3 = { f[6], f[7] } */
-+ ld.w \tmp2_hi, \ptr[6*2+\ptr_offset*2] /* tmp2_hi = { ptr[6], ptr[7] }*/
-+ .if \mul
-+ mulwh.d \acc, \tmp1_hi, \tmp2_lo:t /* f[0] * ptr[0]*/
-+ .else
-+ macwh.d \acc, \tmp1_hi, \tmp2_lo:t /* f[0] * ptr[0]*/
-+ .endif
-+ macwh.d \acc, \tmp3_lo, \tmp2_lo:b /* f[7] * ptr[1]*/
-+ ld.w \tmp2_lo, \ptr[2*2+\ptr_offset*2] /* tmp2_lo = { ptr[2], ptr[3] }*/
-+ macwh.d \acc, \tmp1_lo, \tmp2_hi:b /* f[1] * ptr[7]*/
-+ ld.d \tmp1_lo, \f[2*4] /* tmp1 = { f[2], f[3] } */
-+
-+ macwh.d \acc, \tmp3_hi, \tmp2_lo:t /* f[6] * ptr[2]*/
-+ macwh.d \acc, \tmp1_hi, \tmp2_hi:t /* f[2] * ptr[6]*/
-+ ld.d \tmp3_lo, \f[4*4] /* tmp3 = { f[4], f[5] } */
-+ ld.w \tmp2_hi, \ptr[4*2+\ptr_offset*2] /* tmp2_hi = { ptr[4], ptr[5] }*/
-+ macwh.d \acc, \tmp3_lo, \tmp2_lo:b /* f[5] * ptr[3]*/
-+
-+ macwh.d \acc, \tmp1_lo, \tmp2_hi:b /* f[3] * ptr[5]*/
-+ macwh.d \acc, \tmp3_hi, \tmp2_hi:t /* f[4] * ptr[4]*/
-+ .endm
-+
-+ .macro window_2 f, ptr, acc, ptr_offset, mul, tmp1_lo, tmp1_hi, tmp2_lo, tmp2_hi, tmp3_lo, tmp3_hi
-+ ld.d \tmp1_lo, \f[0*4] /* tmp1 = { f[0], f[1] } */
-+ ld.w \tmp2_lo, \ptr[7*2+\ptr_offset*2] /* tmp2_lo = { ptr[7], ptr[8] }*/
-+ ld.d \tmp3_lo, \f[2*4] /* tmp3 = { f[2], f[3] } */
-+ ld.w \tmp2_hi, \ptr[9*2+\ptr_offset*2] /* tmp2_hi = { ptr[9], ptr[10] }*/
-+ .if \mul
-+ mulwh.d \acc, \tmp1_hi, \tmp2_lo:t /* f[0] * ptr[7]*/
-+ .else
-+ macwh.d \acc, \tmp1_hi, \tmp2_lo:t /* f[0] * ptr[7]*/
-+ .endif
-+ macwh.d \acc, \tmp1_lo, \tmp2_lo:b /* f[1] * ptr[8]*/
-+
-+ ld.d \tmp1_lo, \f[4*4] /* tmp1 = { f[4], f[5] } */
-+ ld.w \tmp2_lo, \ptr[11*2+\ptr_offset*2] /* tmp2_lo = { ptr[11], ptr[12] }*/
-+
-+ macwh.d \acc, \tmp3_hi, \tmp2_hi:t /* f[2] * ptr[9]*/
-+ macwh.d \acc, \tmp3_lo, \tmp2_hi:b /* f[3] * ptr[10]*/
-+
-+ ld.d \tmp3_lo, \f[6*4] /* tmp3 = { f[6], f[7] } */
-+ ld.w \tmp2_hi, \ptr[13*2+\ptr_offset*2] /* tmp2_hi = { ptr[13], ptr[14] }*/
-+
-+ macwh.d \acc, \tmp1_hi, \tmp2_lo:t /* f[4] * ptr[11]*/
-+ macwh.d \acc, \tmp1_lo, \tmp2_lo:b /* f[5] * ptr[12]*/
-+ macwh.d \acc, \tmp3_hi, \tmp2_hi:t /* f[6] * ptr[13]*/
-+ macwh.d \acc, \tmp3_lo, \tmp2_hi:b /* f[7] * ptr[14]*/
-+ .endm
-+
-+ .macro scale res, d_lo, d_hi
-+ lsl \d_hi, 2
-+ .endm
-+
-+/* **********************
-+ Starting main function
-+ ********************** */
-+
-+/* Function synth_avr32 is called from synth.c with arguments:
-+ phase, filter, *pcm1, &D[0] */
-+
-+ .global synth_avr32
-+synth_avr32:
-+ pushm r0-r7, lr
-+ sub sp, 8
-+
-+ /* R12 = phase, R11 = filter, R10 = pcm1, r9 = D*/
-+ bld r12, 0
-+ brcc synth_even
-+
-+ /* Filter for odd phases */
-+
-+ /* fe = &(*filter)[0][1][0];
-+ fx = &(*filter)[0][0][0];
-+ fo = &(*filter)[1][0][0]; */
-+ sub lr /*fe*/, r11, -16*8*4
-+ sub r8 /*fo*/, r11, -16*8*4*2
-+
-+ /* pe = phase >> 1; */
-+ lsr r12, 1
-+ stdsp sp[4], r12
-+ /* ptr = (short const *)Dmod + pe; */
-+ add r12, r9, r12 << 1
-+
-+ /* ML0(hi, lo, (*fx)[0], ptr[0 + 17]);
-+ MLA(hi, lo, (*fx)[1], ptr[7 + 17]);
-+ MLA(hi, lo, (*fx)[2], ptr[6 + 17]);
-+ MLA(hi, lo, (*fx)[3], ptr[5 + 17]);
-+ MLA(hi, lo, (*fx)[4], ptr[4 + 17]);
-+ MLA(hi, lo, (*fx)[5], ptr[3 + 17]);
-+ MLA(hi, lo, (*fx)[6], ptr[2 + 17]);
-+ MLA(hi, lo, (*fx)[7], ptr[1 + 17]); */
-+ window_1 r11/*fx*/,r12/*ptr*/,r0/*acc*/,17/*off*/,1/*mul*/,r2,r3,r4,r5,r6,r7
-+
-+ /* MLN(hi, lo); */
-+ neg r0
-+ acr r1
-+ neg r1
-+
-+ /* MLA(hi, lo, (*fe)[0], ptr[0]);
-+ MLA(hi, lo, (*fe)[1], ptr[7]);
-+ MLA(hi, lo, (*fe)[2], ptr[6]);
-+ MLA(hi, lo, (*fe)[3], ptr[5]);
-+ MLA(hi, lo, (*fe)[4], ptr[4]);
-+ MLA(hi, lo, (*fe)[5], ptr[3]);
-+ MLA(hi, lo, (*fe)[6], ptr[2]);
-+ MLA(hi, lo, (*fe)[7], ptr[1]); */
-+ window_1 lr/*fe*/,r12/*ptr*/,r0/*acc*/,0/*off*/,0/*mac*/,r2,r3,r4,r5,r6,r7
-+
-+ /* *pcm1++ = SHIFT(MLZ(hi, lo));
-+
-+ pcm2 = pcm1 + 31; */
-+ scale r1, r0, r1
-+ st.w r10/*pcm_1*/++, r1
-+ sub r11/*pcm2*/, r10, -4*31
-+
-+ /* for (sb = 1; sb < 16; ++sb) { */
-+ mov r2, 15
-+ stdsp sp[0], r2
-+odd_loop:
-+ /* ++fe;
-+ ptr += 33; */
-+ sub lr /*fe*/, -8*4
-+ sub r12, -33*2
-+
-+ /* ML0(hi, lo, (*fo)[0], ptr[0 + 17]);
-+ MLA(hi, lo, (*fo)[1], ptr[7 + 17]);
-+ MLA(hi, lo, (*fo)[2], ptr[6 + 17]);
-+ MLA(hi, lo, (*fo)[3], ptr[5 + 17]);
-+ MLA(hi, lo, (*fo)[4], ptr[4 + 17]);
-+ MLA(hi, lo, (*fo)[5], ptr[3 + 17]);
-+ MLA(hi, lo, (*fo)[6], ptr[2 + 17]);
-+ MLA(hi, lo, (*fo)[7], ptr[1 + 17]); */
-+ window_1 r8/*fo*/,r12/*ptr*/,r0/*acc*/,17/*off*/,1/*mul*/,r2,r3,r4,r5,r6,r7
-+ /* MLN(hi, lo); */
-+
-+ neg r0
-+ acr r1
-+ neg r1
-+
-+ /* MLA(hi, lo, (*fe)[7], ptr[1]);
-+ MLA(hi, lo, (*fe)[6], ptr[2]);
-+ MLA(hi, lo, (*fe)[5], ptr[3]);
-+ MLA(hi, lo, (*fe)[4], ptr[4]);
-+ MLA(hi, lo, (*fe)[3], ptr[5]);
-+ MLA(hi, lo, (*fe)[2], ptr[6]);
-+ MLA(hi, lo, (*fe)[1], ptr[7]);
-+ MLA(hi, lo, (*fe)[0], ptr[0]); */
-+ window_1 lr/*fe*/,r12/*ptr*/,r0/*acc*/,0/*off*/,0/*mac*/,r2,r3,r4,r5,r6,r7
-+
-+ /* ptr -= 2*pe; */
-+ lddsp r2, sp[4]
-+
-+ /* *pcm1++ = SHIFT(MLZ(hi, lo)); */
-+
-+ scale r1, r0, r1
-+ sub r12/*ptr*/, r12, r2/*pe*/<< 2
-+ st.w r10/*pcm_1*/++, r1
-+
-+
-+ /* ML0(hi, lo, (*fe)[0], ptr[7 + 17]);
-+ MLA(hi, lo, (*fe)[1], ptr[8 + 17]);
-+ MLA(hi, lo, (*fe)[2], ptr[9 + 17]);
-+ MLA(hi, lo, (*fe)[3], ptr[10 + 17]);
-+ MLA(hi, lo, (*fe)[4], ptr[11 + 17]);
-+ MLA(hi, lo, (*fe)[5], ptr[12 + 17]);
-+ MLA(hi, lo, (*fe)[6], ptr[13 + 17]);
-+ MLA(hi, lo, (*fe)[7], ptr[14 + 17]); */
-+ window_2 lr/*fe*/,r12/*ptr*/,r0/*acc*/,17/*off*/,1/*mul*/,r2,r3,r4,r5,r6,r7
-+ /* MLA(hi, lo, (*fo)[7], ptr[14]);
-+ MLA(hi, lo, (*fo)[6], ptr[13]);
-+ MLA(hi, lo, (*fo)[5], ptr[12]);
-+ MLA(hi, lo, (*fo)[4], ptr[11]);
-+ MLA(hi, lo, (*fo)[3], ptr[10]);
-+ MLA(hi, lo, (*fo)[2], ptr[9]);
-+ MLA(hi, lo, (*fo)[1], ptr[8]);
-+ MLA(hi, lo, (*fo)[0], ptr[7]); */
-+ window_2 r8/*fo*/,r12/*ptr*/,r0/*acc*/,0/*off*/,0/*mac*/,r2,r3,r4,r5,r6,r7
-+
-+
-+ /* *pcm2-- = SHIFT(MLZ(hi, lo)); */
-+ lddsp r3, sp[4]
-+ lddsp r2, sp[0]
-+ scale r1, r0, r1
-+ st.w --r11/*pcm_2*/, r1
-+
-+ /* ptr += 2*pe; */
-+ add r12/*ptr*/, r12, r3/*pe*/<< 2
-+
-+ /* ++fo;
-+ } */
-+ sub r8/*fo*/, -8*4
-+
-+ sub r2, 1
-+ stdsp sp[0], r2
-+ brne odd_loop
-+
-+ /* ptr += 33; */
-+ sub r12/*ptr*/, -33*2
-+
-+ /* ML0(hi, lo, (*fo)[0], ptr[0 + 17]);
-+ MLA(hi, lo, (*fo)[1], ptr[7 + 17]);
-+ MLA(hi, lo, (*fo)[2], ptr[6 + 17]);
-+ MLA(hi, lo, (*fo)[3], ptr[5 + 17]);
-+ MLA(hi, lo, (*fo)[4], ptr[4 + 17]);
-+ MLA(hi, lo, (*fo)[5], ptr[3 + 17]);
-+ MLA(hi, lo, (*fo)[6], ptr[2 + 17]);
-+ MLA(hi, lo, (*fo)[7], ptr[1 + 17]); */
-+ window_1 r8/*fo*/,r12/*ptr*/,r0/*acc*/,17/*off*/,1/*mul*/,r2,r3,r4,r5,r6,r7
-+
-+ rjmp synth_end
-+synth_even:
-+ /* Filter for even phases */
-+
-+ /* fe = &(*filter)[0][0][0];
-+ fx = &(*filter)[0][1][0];
-+ fo = &(*filter)[1][1][0]; */
-+ sub lr /*fx*/, r11, -16*8*4
-+ sub r8 /*fo*/, r11, -(16*8*4*2 + 16*8*4)
-+
-+ /* po = ((phase - 1) & 0xF) >> 1; */
-+ sub r12, 1
-+ andl r12, 0xe, COH
-+ stdsp sp[4], r12
-+ /* ptr = (short const *)Dmod + po; */
-+ add r12, r9, r12
-+
-+ /* ML0(hi, lo, (*fx)[0], ptr[0 + 17]);
-+ MLA(hi, lo, (*fx)[1], ptr[7 + 17]);
-+ MLA(hi, lo, (*fx)[2], ptr[6 + 17]);
-+ MLA(hi, lo, (*fx)[3], ptr[5 + 17]);
-+ MLA(hi, lo, (*fx)[4], ptr[4 + 17]);
-+ MLA(hi, lo, (*fx)[5], ptr[3 + 17]);
-+ MLA(hi, lo, (*fx)[6], ptr[2 + 17]);
-+ MLA(hi, lo, (*fx)[7], ptr[1 + 17]); */
-+ window_1 lr/*fx*/,r12/*ptr*/,r0/*acc*/,17/*off*/,1/*mul*/,r2,r3,r4,r5,r6,r7
-+
-+ /* MLN(hi, lo); */
-+ neg r0
-+ acr r1
-+ neg r1
-+
-+ /* MLA(hi, lo, (*fe)[0], ptr[0 + 1]);
-+ MLA(hi, lo, (*fe)[1], ptr[7 + 1]);
-+ MLA(hi, lo, (*fe)[2], ptr[6 + 1]);
-+ MLA(hi, lo, (*fe)[3], ptr[5 + 1]);
-+ MLA(hi, lo, (*fe)[4], ptr[4 + 1]);
-+ MLA(hi, lo, (*fe)[5], ptr[3 + 1]);
-+ MLA(hi, lo, (*fe)[6], ptr[2 + 1]);
-+ MLA(hi, lo, (*fe)[7], ptr[1 + 1]); */
-+ window_1 r11/*fe*/,r12/*ptr*/,r0/*acc*/,1/*off*/,0/*mac*/,r2,r3,r4,r5,r6,r7
-+
-+ /* *pcm1++ = SHIFT(MLZ(hi, lo));
-+
-+ pcm2 = pcm1 + 31; */
-+ scale r1, r0, r1
-+ st.w r10/*pcm_1*/++, r1
-+ sub lr/*pcm2*/, r10, -4*31
-+
-+ /* for (sb = 1; sb < 16; ++sb) { */
-+ mov r2, 15
-+ stdsp sp[0], r2
-+even_loop:
-+ /* ++fe;
-+ ptr += 33; */
-+ sub r11 /*fe*/, -8*4
-+ sub r12, -33*2
-+
-+ /* ML0(hi, lo, (*fo)[0], ptr[0 + 17]);
-+ MLA(hi, lo, (*fo)[1], ptr[7 + 17]);
-+ MLA(hi, lo, (*fo)[2], ptr[6 + 17]);
-+ MLA(hi, lo, (*fo)[3], ptr[5 + 17]);
-+ MLA(hi, lo, (*fo)[4], ptr[4 + 17]);
-+ MLA(hi, lo, (*fo)[5], ptr[3 + 17]);
-+ MLA(hi, lo, (*fo)[6], ptr[2 + 17]);
-+ MLA(hi, lo, (*fo)[7], ptr[1 + 17]); */
-+ window_1 r8/*fo*/,r12/*ptr*/,r0/*acc*/,17/*off*/,1/*mul*/,r2,r3,r4,r5,r6,r7
-+ /* MLN(hi, lo); */
-+ neg r0
-+ acr r1
-+ neg r1
-+
-+ /* MLA(hi, lo, (*fe)[7], ptr[1 + 1]);
-+ MLA(hi, lo, (*fe)[6], ptr[2 + 1]);
-+ MLA(hi, lo, (*fe)[5], ptr[3 + 1]);
-+ MLA(hi, lo, (*fe)[4], ptr[4 + 1]);
-+ MLA(hi, lo, (*fe)[3], ptr[5 + 1]);
-+ MLA(hi, lo, (*fe)[2], ptr[6 + 1]);
-+ MLA(hi, lo, (*fe)[1], ptr[7 + 1]);
-+ MLA(hi, lo, (*fe)[0], ptr[0 + 1]); */
-+ window_1 r11/*fe*/,r12/*ptr*/,r0/*acc*/,1/*off*/,0/*mac*/,r2,r3,r4,r5,r6,r7
-+
-+ /* *pcm1++ = SHIFT(MLZ(hi, lo)); */
-+ lddsp r2, sp[4]
-+ scale r1, r0, r1
-+ /* ptr -= 2*po; */
-+ sub r12/*ptr*/, r12, r2/*po*/<< 1
-+ st.w r10/*pcm_1*/++, r1
-+
-+
-+ /* ML0(hi, lo, (*fe)[0], ptr[7 + 17 - 1]);
-+ MLA(hi, lo, (*fe)[1], ptr[8 + 17 - 1]);
-+ MLA(hi, lo, (*fe)[2], ptr[9 + 17 - 1]);
-+ MLA(hi, lo, (*fe)[3], ptr[10 + 17 - 1]);
-+ MLA(hi, lo, (*fe)[4], ptr[11 + 17 - 1]);
-+ MLA(hi, lo, (*fe)[5], ptr[12 + 17 - 1]);
-+ MLA(hi, lo, (*fe)[6], ptr[13 + 17 - 1]);
-+ MLA(hi, lo, (*fe)[7], ptr[14 + 17 - 1]); */
-+ window_2 r11/*fe*/,r12/*ptr*/,r0/*acc*/,16/*off*/,1/*mul*/,r2,r3,r4,r5,r6,r7
-+ /* MLA(hi, lo, (*fo)[7], ptr[14]);
-+ MLA(hi, lo, (*fo)[6], ptr[13]);
-+ MLA(hi, lo, (*fo)[5], ptr[12]);
-+ MLA(hi, lo, (*fo)[4], ptr[11]);
-+ MLA(hi, lo, (*fo)[3], ptr[10]);
-+ MLA(hi, lo, (*fo)[2], ptr[9]);
-+ MLA(hi, lo, (*fo)[1], ptr[8]);
-+ MLA(hi, lo, (*fo)[0], ptr[7]); */
-+ window_2 r8/*fo*/,r12/*ptr*/,r0/*acc*/,0/*off*/,0/*mac*/,r2,r3,r4,r5,r6,r7
-+
-+
-+ /* *pcm2-- = SHIFT(MLZ(hi, lo)); */
-+ lddsp r3, sp[4]
-+ lddsp r2, sp[0]
-+ scale r1, r0, r1
-+ st.w --lr/*pcm_2*/, r1
-+
-+ /* ptr += 2*po; */
-+ add r12/*ptr*/, r12, r3/*po*/<< 1
-+
-+ /* ++fo;
-+ } */
-+ sub r8/*fo*/, -8*4
-+
-+ sub r2, 1
-+ stdsp sp[0], r2
-+ brne even_loop
-+
-+ /* ptr += 33; */
-+ sub r12/*ptr*/, -33*2
-+
-+ /* ML0(hi, lo, (*fo)[0], ptr[0 + 17]);
-+ MLA(hi, lo, (*fo)[1], ptr[7 + 17]);
-+ MLA(hi, lo, (*fo)[2], ptr[6 + 17]);
-+ MLA(hi, lo, (*fo)[3], ptr[5 + 17]);
-+ MLA(hi, lo, (*fo)[4], ptr[4 + 17]);
-+ MLA(hi, lo, (*fo)[5], ptr[3 + 17]);
-+ MLA(hi, lo, (*fo)[6], ptr[2 + 17]);
-+ MLA(hi, lo, (*fo)[7], ptr[1 + 17]); */
-+ window_1 r8/*fo*/,r12/*ptr*/,r0/*acc*/,17/*off*/,1/*mul*/,r2,r3,r4,r5,r6,r7
-+
-+
-+
-+synth_end:
-+ /* *pcm1 = SHIFT(-MLZ(hi, lo)); */
-+ scale r1, r0, r1
-+ neg r1
-+ st.w r10/*pcm_1*/, r1
-+
-+ mov r12, r10
-+ sub sp, -8
-+ popm r0-r7, pc
-+
-+
-+
-+
-+
diff --git a/package/libmad/Config.in b/package/libmad/Config.in
index 80ed853..d0edc49 100644
--- a/package/libmad/Config.in
+++ b/package/libmad/Config.in
@@ -1,6 +1,5 @@
config BR2_PACKAGE_LIBMAD
bool "libmad"
- select BR2_PACKAGE_LIBMAD_ASO if BR2_avr32
help
High-quality MPEG audio decoder. All computations are performed
with fixed-point integer arithmetic, making it ideal for systems
diff --git a/package/libmicrohttpd/libmicrohttpd.mk b/package/libmicrohttpd/libmicrohttpd.mk
index 0575b74..3c05b57 100644
--- a/package/libmicrohttpd/libmicrohttpd.mk
+++ b/package/libmicrohttpd/libmicrohttpd.mk
@@ -21,9 +21,4 @@ LIBMICROHTTPD_LICENSE = LGPLv2.1+ or eCos
LIBMICROHTTPD_CONF_OPTS += --disable-https
endif
-ifeq ($(BR2_avr32),y)
-# no epoll_create1
-LIBMICROHTTPD_CONF_OPTS += --disable-epoll
-endif
-
$(eval $(autotools-package))
diff --git a/package/libsecret/Config.in b/package/libsecret/Config.in
index 9a21d2e..70f1fe7 100644
--- a/package/libsecret/Config.in
+++ b/package/libsecret/Config.in
@@ -4,8 +4,6 @@ config BR2_PACKAGE_LIBSECRET
depends on BR2_USE_WCHAR # gettext dep in libglib2
depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2
depends on BR2_USE_MMU # libglib2
- # Triggers an internal compiler error on AVR32
- depends on !BR2_avr32
help
libsecret is a library for storing and retrieving passwords and other
secrets. It communicates with the "Secret Service" using DBus.
@@ -15,6 +13,5 @@ config BR2_PACKAGE_LIBSECRET
https://wiki.gnome.org/Libsecret
comment "libsecret needs a toolchain w/ wchar, threads"
- depends on !BR2_avr32
depends on BR2_USE_MMU
depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS
diff --git a/package/libsigsegv/0001-Add-stack-direction-for-the-AVR32-architecture.patch b/package/libsigsegv/0001-Add-stack-direction-for-the-AVR32-architecture.patch
deleted file mode 100644
index ba388c6..0000000
--- a/package/libsigsegv/0001-Add-stack-direction-for-the-AVR32-architecture.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 60d329bb2b20a67323152501969ff1db6a43e467 Mon Sep 17 00:00:00 2001
-From: Simon Dawson <spdawson@gmail.com>
-Date: Mon, 29 Dec 2014 13:53:51 +0100
-Subject: [PATCH 1/5] Add stack direction for the AVR32 architecture
-
-The libsigsegv configure step fails to correctly figure out the direction of
-stack growth for avr32. This leads to a zero STACK_DIRECTION definition, and
-build failures such as the following.
-
- http://autobuild.buildroot.net/results/a3fe938f9376533b4777d79deb7a2ee83ed5ce33
-
-Signed-off-by: Simon Dawson <spdawson@gmail.com>
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
----
- m4/stack-direction.m4 | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/m4/stack-direction.m4 b/m4/stack-direction.m4
-index 00e0445..39c1a28 100644
---- a/m4/stack-direction.m4
-+++ b/m4/stack-direction.m4
-@@ -16,7 +16,7 @@ AC_DEFUN([SV_STACK_DIRECTION],
- alpha* | \
- arc | \
- arm* | strongarm* | xscale* | \
-- avr | \
-+ avr | avr32 | \
- c1 | c2 | c32 | c34 | c38 | \
- clipper | \
- cris | \
---
-2.1.0
-
diff --git a/package/libusb/libusb.mk b/package/libusb/libusb.mk
index 33a7157..d24a634 100644
--- a/package/libusb/libusb.mk
+++ b/package/libusb/libusb.mk
@@ -17,10 +17,6 @@ LIBUSB_INSTALL_STAGING = YES
HOST_LIBUSB_CONF_OPTS = --disable-udev
HOST_LIBUSB_DEPENDENCIES = host-pkgconf
-ifeq ($(BR2_avr32),y)
-LIBUSB_CONF_OPTS += --disable-timerfd
-endif
-
ifeq ($(BR2_PACKAGE_HAS_UDEV),y)
LIBUSB_DEPENDENCIES += udev
else
diff --git a/package/lua-ev/Config.in b/package/lua-ev/Config.in
index 74b5dc7..4b3f8ed 100644
--- a/package/lua-ev/Config.in
+++ b/package/lua-ev/Config.in
@@ -2,7 +2,7 @@ config BR2_PACKAGE_LUA_EV
bool "lua-ev"
depends on BR2_PACKAGE_HAS_LUAINTERPRETER
select BR2_PACKAGE_LIBEV
- depends on !(BR2_avr32 || BR2_bfin) # libev
+ depends on !BR2_bfin # libev
help
Get access to the libev library from Lua.
diff --git a/package/lxc/Config.in b/package/lxc/Config.in
index cf715ab..7bae87d 100644
--- a/package/lxc/Config.in
+++ b/package/lxc/Config.in
@@ -5,7 +5,6 @@ config BR2_PACKAGE_LXC
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_LARGEFILE
depends on BR2_USE_MMU # fork()
- depends on !BR2_avr32 # no timerfd
# the toolchain doesn't support setns syscall
depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII201305
depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII201405
@@ -19,7 +18,6 @@ config BR2_PACKAGE_LXC
comment "lxc needs a toolchain w/ IPv6, threads, largefile, headers >= 3.0"
depends on BR2_USE_MMU
- depends on !BR2_avr32 # no timerfd
depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII201305
depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII201405
depends on !BR2_INET_IPV6 || !BR2_TOOLCHAIN_HAS_THREADS \
diff --git a/package/mpd/Config.in b/package/mpd/Config.in
index bab0b22..287ccf3 100644
--- a/package/mpd/Config.in
+++ b/package/mpd/Config.in
@@ -5,8 +5,8 @@ menuconfig BR2_PACKAGE_MPD
depends on BR2_USE_WCHAR # libglib2, flac
depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2
depends on BR2_USE_MMU # libglib2
- # avr32, sparc & CS powerpc gcc are too old
- depends on !(BR2_avr32 || BR2_sparc)
+ # sparc & CS powerpc gcc are too old
+ depends on !BR2_sparc
depends on !(BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC201103 || BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC201009)
select BR2_PACKAGE_BOOST
select BR2_PACKAGE_LIBGLIB2
@@ -311,6 +311,6 @@ endif
comment "mpd needs a toolchain w/ C++, threads, wchar"
depends on BR2_USE_MMU
- depends on !(BR2_avr32 || BR2_sparc)
+ depends on !BR2_sparc
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \
!BR2_TOOLCHAIN_HAS_THREADS || !BR2_LARGEFILE
diff --git a/package/mtr/Config.in b/package/mtr/Config.in
index 4e529d6..f3060a1 100644
--- a/package/mtr/Config.in
+++ b/package/mtr/Config.in
@@ -2,7 +2,6 @@ config BR2_PACKAGE_MTR
bool "mtr"
# res_mkquery() only available in 0.9.33+
depends on !BR2_UCLIBC_VERSION_0_9_31
- depends on !BR2_avr32
help
mtr combines the functionality of the 'traceroute' and 'ping'
programs in a single network diagnostic tool.
diff --git a/package/mysql/Config.in b/package/mysql/Config.in
index 9c5d6ed..f5549ef 100644
--- a/package/mysql/Config.in
+++ b/package/mysql/Config.in
@@ -4,7 +4,6 @@ config BR2_PACKAGE_MYSQL
depends on BR2_USE_MMU # fork()
depends on BR2_TOOLCHAIN_HAS_THREADS
# Toolchain is not up to the task
- depends on !BR2_avr32
select BR2_PACKAGE_NCURSES
select BR2_PACKAGE_READLINE
help
diff --git a/package/network-manager/Config.in b/package/network-manager/Config.in
index a3e6e33..8b3ad71 100644
--- a/package/network-manager/Config.in
+++ b/package/network-manager/Config.in
@@ -1,6 +1,5 @@
config BR2_PACKAGE_NETWORK_MANAGER
bool "networkmanager"
- depends on !BR2_avr32 # udev
depends on BR2_INET_IPV6
depends on BR2_LARGEFILE # acl
depends on BR2_USE_WCHAR # libglib2 and gnutls
@@ -54,7 +53,6 @@ config BR2_PACKAGE_NETWORK_MANAGER_PPPD
endif
comment "NetworkManager needs udev /dev management and a toolchain w/ IPv6, largefile, wchar, threads, headers >= 3.7"
- depends on !BR2_avr32
depends on BR2_USE_MMU
depends on !BR2_INET_IPV6 || !BR2_LARGEFILE || !BR2_USE_WCHAR || \
!BR2_TOOLCHAIN_HAS_THREADS || \
diff --git a/package/ofono/Config.in b/package/ofono/Config.in
index 00df251..b26b5e7 100644
--- a/package/ofono/Config.in
+++ b/package/ofono/Config.in
@@ -3,7 +3,6 @@ config BR2_PACKAGE_OFONO
depends on BR2_USE_WCHAR # gettext, libglib2
depends on BR2_TOOLCHAIN_HAS_THREADS # dbus, libglib2
depends on BR2_USE_MMU # dbus, libglib2
- depends on !BR2_avr32 # libcap-ng
select BR2_PACKAGE_LIBCAP_NG
select BR2_PACKAGE_DBUS
select BR2_PACKAGE_LIBGLIB2
@@ -16,6 +15,5 @@ config BR2_PACKAGE_OFONO
http://ofono.org/
comment "ofono needs a toolchain w/ wchar, threads"
- depends on !BR2_avr32
depends on BR2_USE_MMU
depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS
diff --git a/package/opencv/Config.in b/package/opencv/Config.in
index c444d65..6a8ac6a 100644
--- a/package/opencv/Config.in
+++ b/package/opencv/Config.in
@@ -189,7 +189,6 @@ config BR2_PACKAGE_OPENCV_WITH_PNG
config BR2_PACKAGE_OPENCV_WITH_QT
bool "qt backend support"
depends on BR2_INSTALL_LIBSTDCPP
- depends on !BR2_avr32 # qt
depends on BR2_USE_MMU # qt
depends on BR2_PACKAGE_OPENCV_LIB_HIGHGUI
select BR2_PACKAGE_QT
diff --git a/package/openobex/Config.in b/package/openobex/Config.in
index 367caa6..c56692d 100644
--- a/package/openobex/Config.in
+++ b/package/openobex/Config.in
@@ -11,7 +11,6 @@ if BR2_PACKAGE_OPENOBEX
config BR2_PACKAGE_OPENOBEX_BLUEZ
bool "enable bluez support"
- depends on !BR2_avr32
depends on !BR2_STATIC_LIBS # bluez_utils
depends on BR2_USE_WCHAR # libglib2
depends on BR2_TOOLCHAIN_HAS_THREADS # dbus, alsa-lib, libglib2
@@ -19,7 +18,7 @@ config BR2_PACKAGE_OPENOBEX_BLUEZ
select BR2_PACKAGE_BLUEZ_UTILS
comment "bluez support needs a toolchain w/ wchar, threads, dynamic library"
- depends on !BR2_avr32 && BR2_USE_MMU
+ depends on BR2_USE_MMU
depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS
config BR2_PACKAGE_OPENOBEX_LIBUSB
diff --git a/package/openpgm/Config.in b/package/openpgm/Config.in
index dc66367..3a26212 100644
--- a/package/openpgm/Config.in
+++ b/package/openpgm/Config.in
@@ -1,7 +1,6 @@
config BR2_PACKAGE_OPENPGM
bool "openpgm"
# The following toolchains lack required compiler intrinsics
- depends on !BR2_avr32
depends on !BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2013R1
depends on !BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2012R2
depends on BR2_TOOLCHAIN_HAS_THREADS
@@ -18,4 +17,3 @@ config BR2_PACKAGE_OPENPGM
comment "openpgm needs a toolchain w/ wchar, threads, IPv6"
depends on !(BR2_TOOLCHAIN_HAS_THREADS && BR2_INET_IPV6 && BR2_USE_WCHAR)
- depends on !BR2_avr32
diff --git a/package/oprofile/oprofile.mk b/package/oprofile/oprofile.mk
index 1322d9d..5876307 100644
--- a/package/oprofile/oprofile.mk
+++ b/package/oprofile/oprofile.mk
@@ -19,11 +19,6 @@ OPROFILE_BINARIES = \
utils/op-check-perfevents libabi/opimport \
pe_counting/ocount
-# No perf_events support in kernel for avr32
-ifneq ($(BR2_avr32),y)
-OPROFILE_BINARIES += pe_profiling/operf
-endif
-
ifeq ($(BR2_i386),y)
OPROFILE_ARCH = i386
endif
diff --git a/package/php/Config.ext b/package/php/Config.ext
index 2b1e615..daf16c7 100644
--- a/package/php/Config.ext
+++ b/package/php/Config.ext
@@ -106,7 +106,6 @@ config BR2_PACKAGE_PHP_EXT_MYSQL
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_USE_MMU # mysql
depends on BR2_TOOLCHAIN_HAS_THREADS # mysql
- depends on !BR2_avr32 # mysql
select BR2_PACKAGE_MYSQL
help
MySQL support
@@ -116,7 +115,6 @@ config BR2_PACKAGE_PHP_EXT_MYSQLI
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_USE_MMU # mysql
depends on BR2_TOOLCHAIN_HAS_THREADS # mysql
- depends on !BR2_avr32 # mysql
select BR2_PACKAGE_MYSQL
select BR2_PACKAGE_PHP_EXT_MYSQL
help
@@ -134,7 +132,6 @@ config BR2_PACKAGE_PHP_EXT_PDO_MYSQL
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_USE_MMU # mysql
depends on BR2_TOOLCHAIN_HAS_THREADS # mysql
- depends on !BR2_avr32 # mysql
select BR2_PACKAGE_MYSQL
help
PDO driver for MySQL
@@ -142,7 +139,6 @@ config BR2_PACKAGE_PHP_EXT_PDO_MYSQL
comment "MySQL drivers need a toolchain w/ C++, threads"
depends on BR2_USE_MMU
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS
- depends on !BR2_avr32
config BR2_PACKAGE_PHP_EXT_PDO_POSTGRESQL
bool "PostgreSQL"
diff --git a/package/pinentry/Config.in b/package/pinentry/Config.in
index 350327a..edf3316 100644
--- a/package/pinentry/Config.in
+++ b/package/pinentry/Config.in
@@ -37,7 +37,6 @@ comment "pinentry-gtk2 needs X and a toolchain w/ wchar, threads, C++"
config BR2_PACKAGE_PINENTRY_QT4
bool "pinentry-qt4"
- depends on !BR2_avr32 # lacks TLS
depends on BR2_USE_MMU # fork
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_TOOLCHAIN_HAS_THREADS
@@ -47,7 +46,6 @@ config BR2_PACKAGE_PINENTRY_QT4
The pinentry-qt4 tool
comment "pinentry-qt4 needs a toolchain w/ C++, threads"
- depends on !BR2_avr32
depends on BR2_USE_MMU
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS
diff --git a/package/poco/Config.in b/package/poco/Config.in
index 8384b42..155f098 100644
--- a/package/poco/Config.in
+++ b/package/poco/Config.in
@@ -4,7 +4,7 @@ config BR2_PACKAGE_POCO
depends on BR2_USE_WCHAR
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on !(BR2_arc || BR2_bfin || BR2_microblaze || BR2_mipsel \
- || BR2_xtensa || BR2_avr32)
+ || BR2_xtensa)
select BR2_PACKAGE_ZLIB
select BR2_PACKAGE_PCRE
help
@@ -55,7 +55,6 @@ config BR2_PACKAGE_POCO_DATA_SQLITE
config BR2_PACKAGE_POCO_DATA_MYSQL
bool "mysql"
depends on BR2_USE_MMU # mysql
- depends on !BR2_avr32 # mysql
select BR2_PACKAGE_POCO_DATA
select BR2_PACKAGE_MYSQL
@@ -65,4 +64,4 @@ comment "poco needs a toolchain w/ wchar, threads, C++"
depends on !BR2_USE_WCHAR || !BR2_INSTALL_LIBSTDCPP \
|| !BR2_TOOLCHAIN_HAS_THREADS
depends on !(BR2_arc || BR2_bfin || BR2_microblaze || BR2_mipsel \
- || BR2_xtensa || BR2_avr32)
+ || BR2_xtensa)
diff --git a/package/python/012-support-library-path-old-compilers.patch b/package/python/012-support-library-path-old-compilers.patch
deleted file mode 100644
index 9803821..0000000
--- a/package/python/012-support-library-path-old-compilers.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-python: do not rely only on LIBRARY_PATH for old compilers
-
-The cross-compilation improvements integrated in Python rely on the
-compiler exposing a line starting with LIBRARY_PATH when called with
--E -v. This is used by Python setup.py to find the installation
-locations of libraries.
-
-However, this LIBRARY_PATH line is not shown by very old compilers,
-such as the gcc 4.2.x compiler used on the AVR32 architecture. This
-causes libraries installed in the sysroot, such as libffi, to not be
-detected by the setup.py script.
-
-To fix this problem, this patch adds addtional logic to setup.py,
-which consists in deriving the library paths from the sysroot
-location, if no LIBRARY_PATH field was found.
-
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-
-Index: b/setup.py
-===================================================================
---- a/setup.py
-+++ b/setup.py
-@@ -418,6 +418,7 @@
- in_incdirs = False
- inc_dirs = []
- lib_dirs = []
-+ compiler_has_library_path = False
- try:
- if ret >> 8 == 0:
- with open(tmpfile) as fp:
-@@ -429,6 +430,7 @@
- elif line.startswith("End of search list"):
- in_incdirs = False
- elif is_gcc and line.startswith("LIBRARY_PATH"):
-+ compiler_has_library_path = True
- for d in line.strip().split("=")[1].split(":"):
- d = os.path.normpath(d)
- if '/gcc/' not in d:
-@@ -440,6 +442,15 @@
- finally:
- os.unlink(tmpfile)
-
-+ if not compiler_has_library_path:
-+ ret = os.system("%s -print-file-name=libc.a | sed -r -e 's:(usr/)?lib(32|64)?/([^/]*/)?libc\.a::' >%s" % (gcc, tmpfile))
-+ with open(tmpfile) as fp:
-+ line = fp.readline().strip()
-+ add_dir_to_list(self.compiler.library_dirs,
-+ os.path.join(line, "usr", "lib"))
-+ add_dir_to_list(self.compiler.library_dirs,
-+ os.path.join(line, "lib"))
-+
- def detect_modules(self):
- # Ensure that /usr/local is always used
- if not cross_compiling:
diff --git a/package/python3/011-support-library-path-old-compilers.patch b/package/python3/011-support-library-path-old-compilers.patch
deleted file mode 100644
index 296e9fe..0000000
--- a/package/python3/011-support-library-path-old-compilers.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-python3: do not rely only on LIBRARY_PATH for old compilers
-
-The cross-compilation improvements integrated in Python rely on the
-compiler exposing a line starting with LIBRARY_PATH when called with
--E -v. This is used by Python setup.py to find the installation
-locations of libraries.
-
-However, this LIBRARY_PATH line is not shown by very old compilers,
-such as the gcc 4.2.x compiler used on the AVR32 architecture. This
-causes libraries installed in the sysroot, such as libffi, to not be
-detected by the setup.py script.
-
-To fix this problem, this patch adds addtional logic to setup.py,
-which consists in deriving the library paths from the sysroot
-location, if no LIBRARY_PATH field was found.
-
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-
-Index: b/setup.py
-===================================================================
---- a/setup.py
-+++ b/setup.py
-@@ -427,6 +427,7 @@
- in_incdirs = False
- inc_dirs = []
- lib_dirs = []
-+ compiler_has_library_path = False
- try:
- if ret >> 8 == 0:
- with open(tmpfile) as fp:
-@@ -438,6 +439,7 @@
- elif line.startswith("End of search list"):
- in_incdirs = False
- elif is_gcc and line.startswith("LIBRARY_PATH"):
-+ compiler_has_library_path = True
- for d in line.strip().split("=")[1].split(":"):
- d = os.path.normpath(d)
- if '/gcc/' not in d:
-@@ -449,6 +451,15 @@
- finally:
- os.unlink(tmpfile)
-
-+ if not compiler_has_library_path:
-+ ret = os.system("%s -print-file-name=libc.a | sed -r -e 's:(usr/)?lib(32|64)?/([^/]*/)?libc\.a::' >%s" % (gcc, tmpfile))
-+ with open(tmpfile) as fp:
-+ line = fp.readline().strip()
-+ add_dir_to_list(self.compiler.library_dirs,
-+ os.path.join(line, "usr", "lib"))
-+ add_dir_to_list(self.compiler.library_dirs,
-+ os.path.join(line, "lib"))
-+
- def detect_modules(self):
- # Ensure that /usr/local is always used, but the local build
- # directories (i.e. '.' and 'Include') must be first. See issue
diff --git a/package/qemu/qemu.mk b/package/qemu/qemu.mk
index 581f4ee..1202df7 100644
--- a/package/qemu/qemu.mk
+++ b/package/qemu/qemu.mk
@@ -22,7 +22,6 @@ HOST_QEMU_DEPENDENCIES = host-pkgconf host-python host-zlib host-libglib2 host-p
# ------- ----
# arm arm
# armeb armeb
-# avr32 not supported
# bfin not supported
# i386 i386
# i486 i386
diff --git a/package/qt/Config.in b/package/qt/Config.in
index 990014e..a40b6b5 100644
--- a/package/qt/Config.in
+++ b/package/qt/Config.in
@@ -1,11 +1,9 @@
comment "qt needs a toolchain w/ C++, threads"
- depends on !BR2_avr32
depends on BR2_USE_MMU
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS
menuconfig BR2_PACKAGE_QT
bool "Qt"
- depends on !BR2_avr32 # lacks TLS
depends on BR2_USE_MMU # fork
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_TOOLCHAIN_HAS_THREADS
diff --git a/package/qt/qt.mk b/package/qt/qt.mk
index 9ea676c..3fb557f 100644
--- a/package/qt/qt.mk
+++ b/package/qt/qt.mk
@@ -225,8 +225,6 @@ endif
ifeq ($(BR2_arm)$(BR2_armeb),y)
QT_EMB_PLATFORM = arm
-else ifeq ($(BR2_avr32),y)
-QT_EMB_PLATFORM = avr32
else ifeq ($(BR2_i386),y)
QT_EMB_PLATFORM = x86
else ifeq ($(BR2_x86_64),y)
diff --git a/package/qt5/Config.in b/package/qt5/Config.in
index fd8bde5..9d316b1 100644
--- a/package/qt5/Config.in
+++ b/package/qt5/Config.in
@@ -13,12 +13,10 @@ config BR2_PACKAGE_QT5_JSCORE_AVAILABLE
comment "Qt5 needs a toolchain w/ wchar, IPv6, NPTL, C++"
depends on !BR2_PACKAGE_QT
- depends on !BR2_avr32
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || !BR2_INET_IPV6 || !BR2_TOOLCHAIN_HAS_THREADS_NPTL
menuconfig BR2_PACKAGE_QT5
bool "Qt5"
- depends on !BR2_avr32
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_USE_WCHAR
depends on BR2_INET_IPV6
diff --git a/package/qt5/qt5base/Config.in b/package/qt5/qt5base/Config.in
index d57dd8e..99e249f 100644
--- a/package/qt5/qt5base/Config.in
+++ b/package/qt5/qt5base/Config.in
@@ -53,7 +53,6 @@ config BR2_PACKAGE_QT5BASE_MYSQL
select BR2_PACKAGE_NCURSES
select BR2_PACKAGE_READLINE
depends on BR2_USE_MMU # mysql
- depends on !BR2_avr32 # mysql
help
Build MySQL plugin
If unsure, say n.
diff --git a/package/qt5/qt5connectivity/Config.in b/package/qt5/qt5connectivity/Config.in
index ca1deab..d529ea7 100644
--- a/package/qt5/qt5connectivity/Config.in
+++ b/package/qt5/qt5connectivity/Config.in
@@ -4,7 +4,6 @@ config BR2_PACKAGE_QT5CONNECTIVITY
select BR2_PACKAGE_QT5BASE
select BR2_PACKAGE_QT5BASE_CONCURRENT
select BR2_PACKAGE_QT5BASE_DBUS
- depends on !BR2_avr32 # bluez_utils
depends on !BR2_STATIC_LIBS # bluez_utils
depends on BR2_USE_WCHAR # bluez_utils
depends on BR2_TOOLCHAIN_HAS_THREADS # bluez_utils
@@ -18,5 +17,5 @@ config BR2_PACKAGE_QT5CONNECTIVITY
http://qt.io
comment "qt5connectivity needs a toolchain w/ wchar, threads, dynamic library"
- depends on !BR2_avr32 && BR2_USE_MMU
+ depends on BR2_USE_MMU
depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS
diff --git a/package/radvd/Config.in b/package/radvd/Config.in
index e74777c..1c60240 100644
--- a/package/radvd/Config.in
+++ b/package/radvd/Config.in
@@ -3,7 +3,6 @@ config BR2_PACKAGE_RADVD
depends on BR2_USE_MMU # fork()
depends on BR2_INET_IPV6
# uClibc too old, does not define ARPHRD_IEEE802154
- depends on !BR2_avr32
select BR2_PACKAGE_FLEX
help
IPv6 Router Advertisement Daemon.
@@ -13,4 +12,3 @@ config BR2_PACKAGE_RADVD
comment "radvd needs a toolchain w/ IPv6"
depends on BR2_USE_MMU
depends on !BR2_INET_IPV6
- depends on !BR2_avr32
diff --git a/package/samba/Config.in b/package/samba/Config.in
index e2cac9e..9d04851 100644
--- a/package/samba/Config.in
+++ b/package/samba/Config.in
@@ -2,7 +2,6 @@ config BR2_PACKAGE_SAMBA
bool "samba"
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_USE_MMU # fork()
- depends on !BR2_avr32 # binary too large, relocations don't fit
depends on !BR2_nios2 # binary too large, relocations don't fit
select BR2_PACKAGE_POPT
help
@@ -16,7 +15,6 @@ config BR2_PACKAGE_SAMBA
so choose only the components you need.
comment "samba needs a toolchain w/ threads"
- depends on !BR2_avr32
depends on BR2_USE_MMU
depends on !BR2_TOOLCHAIN_HAS_THREADS
diff --git a/package/samba4/Config.in b/package/samba4/Config.in
index 60e0f55..b841f42 100644
--- a/package/samba4/Config.in
+++ b/package/samba4/Config.in
@@ -6,7 +6,6 @@ config BR2_PACKAGE_SAMBA4
depends on BR2_USE_WCHAR # e2fsprogs
depends on BR2_LARGEFILE
depends on BR2_TOOLCHAIN_HAS_THREADS # talloc python threads
- depends on !BR2_avr32 # bad toolchain
depends on !BR2_nios2 # binary too large, relocations don't fit
select BR2_PACKAGE_E2FSPROGS
select BR2_PACKAGE_POPT
diff --git a/package/sconeserver/Config.in b/package/sconeserver/Config.in
index 9d70086..c7d602f 100644
--- a/package/sconeserver/Config.in
+++ b/package/sconeserver/Config.in
@@ -35,7 +35,6 @@ config BR2_PACKAGE_SCONESERVER_HTTP_SCONESITE_IMAGE
config BR2_PACKAGE_SCONESERVER_MYSQL
bool "mysql"
depends on BR2_USE_MMU # mysql
- depends on !BR2_avr32 # mysql
select BR2_PACKAGE_MYSQL
help
MySQL module for Sconeserver
@@ -45,14 +44,13 @@ config BR2_PACKAGE_SCONESERVER_BLUETOOTH
depends on BR2_USE_WCHAR # bluez->libglib2
depends on BR2_USE_MMU # bluez->dbus
depends on BR2_TOOLCHAIN_HAS_THREADS # bluez->dbus, bluez->libglib2
- depends on !BR2_avr32 # bluez_utils
depends on !BR2_STATIC_LIBS # bluez_utils
select BR2_PACKAGE_BLUEZ_UTILS
help
Bluetooth module for Sconeserver
comment "bluetooth support needs a toolchain w/ wchar, threads, dynamic library"
- depends on !BR2_avr32 && BR2_USE_MMU
+ depends on BR2_USE_MMU
depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS
config BR2_PACKAGE_SCONESERVER_RSS
diff --git a/package/snowball-init/Config.in b/package/snowball-init/Config.in
index 03d4752..6c94731 100644
--- a/package/snowball-init/Config.in
+++ b/package/snowball-init/Config.in
@@ -2,7 +2,6 @@ config BR2_PACKAGE_SNOWBALL_INIT
bool "snowball-init"
# Runtime dependency, needed by snowball startup script
select BR2_PACKAGE_BLUEZ_UTILS
- depends on !BR2_avr32
depends on !BR2_STATIC_LIBS # bluez_utils
depends on BR2_USE_WCHAR # libglib2
depends on BR2_TOOLCHAIN_HAS_THREADS # dbus, alsa-lib, libglib2
@@ -14,5 +13,5 @@ config BR2_PACKAGE_SNOWBALL_INIT
http://www.igloocommunity.org
comment "snowball-init needs a toolchain w/ wchar, threads, dynamic library"
- depends on !BR2_avr32 && BR2_USE_MMU
+ depends on BR2_USE_MMU
depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS
diff --git a/package/squid/Config.in b/package/squid/Config.in
index 9953b0d..a9300d8 100644
--- a/package/squid/Config.in
+++ b/package/squid/Config.in
@@ -1,6 +1,5 @@
comment "squid needs a toolchain w/ C++, IPv6, headers >= 3.0"
depends on BR2_USE_MMU
- depends on !BR2_avr32 # toolchain too old
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_INET_IPV6 \
|| !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0
diff --git a/package/trace-cmd/Config.in b/package/trace-cmd/Config.in
index 55f896f..f64d28d 100644
--- a/package/trace-cmd/Config.in
+++ b/package/trace-cmd/Config.in
@@ -2,7 +2,6 @@ config BR2_PACKAGE_TRACE_CMD
bool "trace-cmd"
depends on BR2_LARGEFILE
depends on BR2_TOOLCHAIN_HAS_THREADS
- depends on !BR2_avr32 # AVR32 does not have TLS support
depends on BR2_USE_MMU # fork()
depends on !BR2_STATIC_LIBS # dlopen()
help
diff --git a/package/tvheadend/Config.in b/package/tvheadend/Config.in
index 303a345..33dd484 100644
--- a/package/tvheadend/Config.in
+++ b/package/tvheadend/Config.in
@@ -6,12 +6,6 @@ config BR2_PACKAGE_TVHEADEND
depends on BR2_LARGEFILE && BR2_INET_IPV6
depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2
- # tvheadend requires an atomic_add operation. Either you have
- # a gcc >= 4.3 toolchain and it uses the gcc intrinsics, or it
- # has special code for x86, x86-64, PPC and ARM. So in the
- # context of Buildroot, the only really problematic
- # architecture is avr32, which uses gcc 4.2.
- depends on !BR2_avr32
select BR2_PACKAGE_DTV_SCAN_TABLES
select BR2_PACKAGE_FFMPEG_AVRESAMPLE if BR2_PACKAGE_FFMPEG
select BR2_PACKAGE_FFMPEG_SWSCALE if BR2_PACKAGE_FFMPEG
diff --git a/package/uboot-tools/uboot-tools.mk b/package/uboot-tools/uboot-tools.mk
index f02bb55..413207d 100644
--- a/package/uboot-tools/uboot-tools.mk
+++ b/package/uboot-tools/uboot-tools.mk
@@ -69,8 +69,8 @@ $(eval $(host-generic-package))
MKIMAGE = $(HOST_DIR)/usr/bin/mkimage
-# mkimage supports arm avr32 blackfin m68k microblaze mips mips64 nios2 powerpc ppc sh sparc sparc64 x86
-# KERNEL_ARCH can be arm64 arc arm avr32 blackfin m68k microblaze mips nios2 powerpc sh sparc i386 x86_64 xtensa
+# mkimage supports arm blackfin m68k microblaze mips mips64 nios2 powerpc ppc sh sparc sparc64 x86
+# KERNEL_ARCH can be arm64 arc arm blackfin m68k microblaze mips nios2 powerpc sh sparc i386 x86_64 xtensa
# For arm64, arc, xtensa we'll just keep KERNEL_ARCH
# For mips64, we'll just keep mips
# For i386 and x86_64, we need to convert
diff --git a/package/udisks/Config.in b/package/udisks/Config.in
index 3eb8bf0..a5da2bf 100644
--- a/package/udisks/Config.in
+++ b/package/udisks/Config.in
@@ -1,6 +1,5 @@
config BR2_PACKAGE_UDISKS
bool "udisks"
- depends on !BR2_avr32 # udev
depends on BR2_PACKAGE_HAS_UDEV
depends on BR2_TOOLCHAIN_HAS_THREADS # dbus-glib -> glib2
depends on BR2_USE_MMU # lvm2
@@ -36,12 +35,10 @@ config BR2_PACKAGE_UDISKS_LVM2
endif
comment "udisks needs udev /dev management"
- depends on !BR2_avr32
depends on BR2_USE_MMU
depends on !BR2_PACKAGE_HAS_UDEV
comment "udisks needs a toolchain w/ wchar, threads, dynamic library"
- depends on !BR2_avr32
depends on BR2_USE_MMU
depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \
BR2_STATIC_LIBS
diff --git a/package/ussp-push/Config.in b/package/ussp-push/Config.in
index c08acc9..c3f6b86 100644
--- a/package/ussp-push/Config.in
+++ b/package/ussp-push/Config.in
@@ -1,7 +1,6 @@
config BR2_PACKAGE_USSP_PUSH
bool "ussp-push"
depends on BR2_INET_IPV6
- depends on !BR2_avr32
depends on !BR2_STATIC_LIBS # bluez_utils
depends on BR2_USE_WCHAR # libglib2
depends on BR2_TOOLCHAIN_HAS_THREADS # dbus, alsa-lib, libglib2
@@ -16,5 +15,5 @@ config BR2_PACKAGE_USSP_PUSH
http://www.xmailserver.org/ussp-push.html
comment "ussp-push needs a toolchain w/ wchar, IPv6, threads, dynamic library"
- depends on !BR2_avr32 && BR2_USE_MMU
+ depends on BR2_USE_MMU
depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INET_IPV6 || BR2_STATIC_LIBS
diff --git a/package/util-linux/Config.in b/package/util-linux/Config.in
index 1b475d4..2fad0b3 100644
--- a/package/util-linux/Config.in
+++ b/package/util-linux/Config.in
@@ -93,7 +93,6 @@ config BR2_PACKAGE_UTIL_LINUX_EJECT
config BR2_PACKAGE_UTIL_LINUX_FALLOCATE
bool "fallocate"
- depends on !BR2_avr32 # fallocate not implemented
help
Preallocate space to a file
@@ -216,7 +215,6 @@ config BR2_PACKAGE_UTIL_LINUX_SCHEDUTILS
config BR2_PACKAGE_UTIL_LINUX_SETPRIV
bool "setpriv"
- depends on !BR2_avr32 # libcap-ng
select BR2_PACKAGE_LIBCAP_NG
help
Run a program with different Linux privilege settings
diff --git a/package/wayland/Config.in b/package/wayland/Config.in
index f58a283..857ba73 100644
--- a/package/wayland/Config.in
+++ b/package/wayland/Config.in
@@ -1,6 +1,5 @@
config BR2_PACKAGE_WAYLAND
bool "wayland"
- depends on !BR2_avr32 # no epoll_create1, timerfd_create or timerfd_settime
depends on !BR2_STATIC_LIBS # dlfcn.h
depends on BR2_TOOLCHAIN_HAS_THREADS
select BR2_PACKAGE_LIBFFI
@@ -13,5 +12,4 @@ config BR2_PACKAGE_WAYLAND
http://wayland.freedesktop.org/
comment "wayland needs a toolchain w/ threads, dynamic library"
- depends on !BR2_avr32
depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS
diff --git a/package/weston/Config.in b/package/weston/Config.in
index 49130b4..d7a2269 100644
--- a/package/weston/Config.in
+++ b/package/weston/Config.in
@@ -1,5 +1,4 @@
comment "weston needs udev and a toolchain w/ threads, dynamic library, headers >= 3.0"
- depends on !BR2_avr32
depends on BR2_ARCH_HAS_ATOMICS
depends on !BR2_PACKAGE_HAS_UDEV || !BR2_TOOLCHAIN_HAS_THREADS || \
!BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 || BR2_STATIC_LIBS
@@ -14,7 +13,6 @@ config BR2_PACKAGE_WESTON
select BR2_PACKAGE_JPEG
select BR2_PACKAGE_MTDEV
depends on BR2_PACKAGE_HAS_UDEV
- depends on !BR2_avr32 # wayland
depends on !BR2_STATIC_LIBS # wayland
depends on BR2_TOOLCHAIN_HAS_THREADS # wayland
depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0
diff --git a/package/wpa_supplicant/Config.in b/package/wpa_supplicant/Config.in
index 6ebd2fe..f32a867 100644
--- a/package/wpa_supplicant/Config.in
+++ b/package/wpa_supplicant/Config.in
@@ -1,7 +1,6 @@
config BR2_PACKAGE_WPA_SUPPLICANT
bool "wpa_supplicant"
depends on BR2_USE_MMU # fork()
- depends on !BR2_avr32 # no epoll_create1
help
WPA supplicant for secure wireless networks
diff --git a/package/x11r7/xserver_xorg-server/Config.in b/package/x11r7/xserver_xorg-server/Config.in
index 40e3d84..7918495 100644
--- a/package/x11r7/xserver_xorg-server/Config.in
+++ b/package/x11r7/xserver_xorg-server/Config.in
@@ -49,16 +49,12 @@ config BR2_PACKAGE_XSERVER_XORG_SERVER
select BR2_PACKAGE_XPROTO_XPROTO
select BR2_PACKAGE_XUTIL_UTIL_MACROS
select BR2_PACKAGE_XKEYBOARD_CONFIG
- depends on !BR2_avr32
depends on BR2_USE_MMU # fork()
help
X.Org X server
http://xorg.freedesktop.org
-comment "xorg-xserver is BROKEN on AVR32"
- depends on BR2_avr32 && BR2_USE_MMU
-
if BR2_PACKAGE_XSERVER_XORG_SERVER
choice
diff --git a/package/zeromq/Config.in b/package/zeromq/Config.in
index 778a503..a97ba8d 100644
--- a/package/zeromq/Config.in
+++ b/package/zeromq/Config.in
@@ -31,7 +31,6 @@ if BR2_PACKAGE_ZEROMQ
config BR2_PACKAGE_ZEROMQ_PGM
bool "PGM/EPGM support"
- depends on !BR2_avr32 # openpgm
depends on !BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2013R1 # openpgm
depends on !BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2012R2 # openpgm
select BR2_PACKAGE_OPENPGM
diff --git a/package/zmqpp/Config.in b/package/zmqpp/Config.in
index 2ccaf7e..88973db 100644
--- a/package/zmqpp/Config.in
+++ b/package/zmqpp/Config.in
@@ -1,6 +1,5 @@
config BR2_PACKAGE_ZMQPP
bool "zmqpp"
- depends on !BR2_avr32 # compiler needs c++0x support
depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC201103 # c++0x support
depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC201009 # c++0x support
depends on BR2_INSTALL_LIBSTDCPP
@@ -18,7 +17,6 @@ config BR2_PACKAGE_ZMQPP
http://github.com/benjamg/zmqpp
comment "zmqpp needs a toolchain w/ C++, IPv6, largefile, wchar, threads"
- depends on !BR2_avr32
depends on !(BR2_INSTALL_LIBSTDCPP && BR2_INET_IPV6 && BR2_LARGEFILE \
&& BR2_USE_WCHAR && BR2_TOOLCHAIN_HAS_THREADS)
--
1.9.1
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [Buildroot] [PATCH 04/12] linux: get rid of avr32 specifics
2015-02-13 22:34 [Buildroot] [PATCH 0/12] arch/avr32: say bye-bye! (branch yem/avr32) Yann E. MORIN
` (2 preceding siblings ...)
2015-02-13 22:34 ` [Buildroot] [PATCH 03/12] packages: all salute the passing of avr32 Yann E. MORIN
@ 2015-02-13 22:34 ` Yann E. MORIN
2015-02-13 22:34 ` [Buildroot] [PATCH 05/12] toolchain/buildroot: forget about avr32 Yann E. MORIN
` (7 subsequent siblings)
11 siblings, 0 replies; 15+ messages in thread
From: Yann E. MORIN @ 2015-02-13 22:34 UTC (permalink / raw)
To: buildroot
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
linux/Config.in | 2 +-
linux/linux.mk | 4 ----
2 files changed, 1 insertion(+), 5 deletions(-)
diff --git a/linux/Config.in b/linux/Config.in
index c981493..9873ea0 100644
--- a/linux/Config.in
+++ b/linux/Config.in
@@ -174,7 +174,7 @@ choice
config BR2_LINUX_KERNEL_UIMAGE
bool "uImage"
depends on BR2_arc || BR2_arm || BR2_armeb || BR2_bfin || \
- BR2_powerpc || BR2_avr32 || BR2_sh || BR2_sh64 || \
+ BR2_powerpc || BR2_sh || BR2_sh64 || \
BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el
select BR2_LINUX_KERNEL_UBOOT_IMAGE
diff --git a/linux/linux.mk b/linux/linux.mk
index 29f59e8..c9a7e9d 100644
--- a/linux/linux.mk
+++ b/linux/linux.mk
@@ -137,11 +137,7 @@ LINUX_IMAGE_PATH = $(LINUX_DIR)/$(LINUX_IMAGE_NAME)
else ifeq ($(BR2_LINUX_KERNEL_VMLINUZ),y)
LINUX_IMAGE_PATH = $(LINUX_DIR)/$(LINUX_IMAGE_NAME)
else
-ifeq ($(KERNEL_ARCH),avr32)
-LINUX_IMAGE_PATH = $(KERNEL_ARCH_PATH)/boot/images/$(LINUX_IMAGE_NAME)
-else
LINUX_IMAGE_PATH = $(KERNEL_ARCH_PATH)/boot/$(LINUX_IMAGE_NAME)
-endif
endif # BR2_LINUX_KERNEL_VMLINUX
define LINUX_DOWNLOAD_PATCHES
--
1.9.1
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [Buildroot] [PATCH 05/12] toolchain/buildroot: forget about avr32
2015-02-13 22:34 [Buildroot] [PATCH 0/12] arch/avr32: say bye-bye! (branch yem/avr32) Yann E. MORIN
` (3 preceding siblings ...)
2015-02-13 22:34 ` [Buildroot] [PATCH 04/12] linux: get rid of avr32 specifics Yann E. MORIN
@ 2015-02-13 22:34 ` Yann E. MORIN
2015-02-13 22:34 ` [Buildroot] [PATCH 06/12] toolchain/extrnal: avr32 is no more Yann E. MORIN
` (6 subsequent siblings)
11 siblings, 0 replies; 15+ messages in thread
From: Yann E. MORIN @ 2015-02-13 22:34 UTC (permalink / raw)
To: buildroot
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
toolchain/toolchain-buildroot/Config.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/toolchain/toolchain-buildroot/Config.in b/toolchain/toolchain-buildroot/Config.in
index 2955b2e..a69013f 100644
--- a/toolchain/toolchain-buildroot/Config.in
+++ b/toolchain/toolchain-buildroot/Config.in
@@ -29,7 +29,7 @@ config BR2_TOOLCHAIN_BUILDROOT_UCLIBC
bool "uClibc"
select BR2_TOOLCHAIN_USES_UCLIBC
depends on BR2_arcle || BR2_arceb || BR2_arm || BR2_armeb || \
- BR2_avr32 || BR2_bfin || BR2_i386 || BR2_m68k || \
+ BR2_bfin || BR2_i386 || BR2_m68k || \
BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el || \
BR2_powerpc || BR2_sh || BR2_sparc || BR2_xtensa || \
BR2_x86_64
--
1.9.1
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [Buildroot] [PATCH 06/12] toolchain/extrnal: avr32 is no more
2015-02-13 22:34 [Buildroot] [PATCH 0/12] arch/avr32: say bye-bye! (branch yem/avr32) Yann E. MORIN
` (4 preceding siblings ...)
2015-02-13 22:34 ` [Buildroot] [PATCH 05/12] toolchain/buildroot: forget about avr32 Yann E. MORIN
@ 2015-02-13 22:34 ` Yann E. MORIN
2015-02-13 22:34 ` [Buildroot] [PATCH 07/12] package/binutils: avr32 is gone Yann E. MORIN
` (5 subsequent siblings)
11 siblings, 0 replies; 15+ messages in thread
From: Yann E. MORIN @ 2015-02-13 22:34 UTC (permalink / raw)
To: buildroot
Slightly reword a comment to no longer mention avr32.
This part dealing with sysroot detection will have to be reworked, now
that we got rid of avr32: we can now require a fully sysroot-aware
toolchain, i.e. at least gcc-4.4.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
CC: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
toolchain/toolchain-external/toolchain-external.mk | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/toolchain/toolchain-external/toolchain-external.mk b/toolchain/toolchain-external/toolchain-external.mk
index 5a69eb8..999a354 100644
--- a/toolchain/toolchain-external/toolchain-external.mk
+++ b/toolchain/toolchain-external/toolchain-external.mk
@@ -97,8 +97,8 @@ LIB_EXTERNAL_LIBS += $(call qstrip,$(BR2_TOOLCHAIN_EXTRA_EXTERNAL_LIBS))
# mangling the path to find the base directory of the sysroot.
#
# Note that we do not use the -print-sysroot option, because it is
-# only available since gcc 4.4.x, and we still support 4.2.x (for
-# AVR32) and 4.3.x.
+# only available since gcc 4.4.x, and we only recently dropped support
+# for 4.2.x and 4.3.x.
#
# When doing this, we don't pass any option to gcc that could select a
# multilib variant (such as -march) as we want the "main" sysroot,
--
1.9.1
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [Buildroot] [PATCH 0/12] arch/avr32: say bye-bye! (branch yem/avr32)
@ 2015-02-13 22:34 Yann E. MORIN
2015-02-13 22:34 ` [Buildroot] [PATCH 01/12] arch: kill avr32 Yann E. MORIN
` (11 more replies)
0 siblings, 12 replies; 15+ messages in thread
From: Yann E. MORIN @ 2015-02-13 22:34 UTC (permalink / raw)
To: buildroot
Hello All!
As stated in c2444e9 (arch: avr32 should only get removed for the 2015.02
release), get rid of avr32.
There still remain a few (34!) occurences of avr32, though:
- fbv: the patch was seemingly made when testing for avr32, but is
suposedly valid for other BE archs;
- rubix: ditto;
- x11r7: innocuous hunk for avr32, that we do not get rid of, since
it is a patch from upstream;
- other packages get their sources from an avr32-related site,
presumably a mirror of the (now replaced?) avr32linux.org site;
- a few references here-and-there: CHANGES, GNU's config.{guess,sub},
uClibc's .config files.
Happy mourning! ;-]
Regards,
Yann E. MORIN.
The following changes since commit 414d7e97a7359be87ef3b622c409e4200a8991ff:
python3: fix invalid ncursesw header path (2015-02-12 22:28:17 +0100)
are available in the git repository at:
git://git.busybox.net/~ymorin/git/buildroot yem/avr32
for you to fetch changes up to 11ccc5cb61715123a995c19b9fc279a4ae2c78ad:
arch/avr32: decommission for real (2015-02-13 23:29:44 +0100)
----------------------------------------------------------------
Yann E. MORIN (12):
arch: kill avr32
configs: get rid of avr32 defconfigs
packages: all salute the passing of avr32
linux: get rid of avr32 specifics
toolchain/buildroot: forget about avr32
toolchain/extrnal: avr32 is no more
package/binutils: avr32 is gone
package/gcc: do not mourn avr32 for too long...
package/gdb: farewell avr32
package/uClibc: RIP, avr32
package/eudev: we won't miss you, avr32
arch/avr32: decommission for real
.defconfig | 1 -
arch/Config.in | 19 -
arch/Config.in.avr32 | 11 -
configs/atngw100_defconfig | 35 -
configs/atstk100x_defconfig | 26 -
linux/Config.in | 2 +-
linux/linux.mk | 4 -
package/aiccu/Config.in | 7 -
package/alsa-lib/0001-avr32-bad-inline.patch | 91 -
package/alsa-lib/alsa-lib.mk | 4 -
package/avrdude/Config.in | 2 -
package/bdwgc/Config.in | 2 +-
package/binutils/Config.in.host | 13 +-
package/binutils/binutils.mk | 8 -
package/blktrace/Config.in | 2 +-
package/bluez5_utils/Config.in | 1 -
package/bluez_utils/Config.in | 3 +-
package/btrfs-progs/Config.in | 2 -
package/collectd/Config.in | 1 -
package/connman/Config.in | 3 +-
package/cwiid/Config.in | 2 -
package/dovecot/Config.in | 2 -
package/dropwatch/dropwatch.mk | 4 +-
.../dvb-apps/0002-Fix-compiler-warning-flags.patch | 25 -
package/e2fsprogs/Config.in | 2 +-
package/ecryptfs-utils/Config.in | 4 +-
package/efl/expedite/Config.in | 2 -
package/efl/libecore/Config.in | 2 -
package/efl/libedbus/Config.in | 2 -
package/efl/libedje/Config.in | 2 -
package/efl/libelementary/Config.in | 2 -
package/efl/libethumb/Config.in | 2 -
package/efl/libevas/Config.in | 2 -
package/elfutils/Config.in | 4 -
package/enlightenment/Config.in | 2 -
package/eudev/Config.in | 3 -
package/fbv/0001-arch.patch.avr32 | 48 -
package/fio/Config.in | 6 +-
package/gadgetfs-test/Config.in | 2 +-
.../1001-gcc-4.2.x-inhibit-libc.patch | 49 -
...-fix-removal-of-redundant-cast-operations.patch | 16 -
...conditional-insn-which-clobbers-cc_status.patch | 150 -
...use-movh-to-move-immediates-into-register.patch | 31 -
.../990-fix-300-libstdc++-pic.patch | 20 -
package/gcc/Config.in.host | 26 +-
package/gcc/gcc.mk | 4 +-
package/gdb/Config.in | 4 +-
package/gdb/Config.in.host | 7 -
package/gdb/gdb.mk | 9 +-
package/gpsd/Config.in | 3 -
package/gstreamer/gstreamer/gstreamer.mk | 2 +-
package/gstreamer1/gst1-libav/Config.in | 1 -
package/gstreamer1/gst1-plugins-bad/Config.in | 1 -
package/gstreamer1/gstreamer1/gstreamer1.mk | 2 +-
package/iputils/Config.in | 3 -
package/keyutils/Config.in | 2 +-
package/libaio/0002-avr32-support.patch | 122 -
package/libaio/Config.in | 2 +-
package/libcap-ng/Config.in | 1 -
package/libcec/0001-no-psabi-warning.patch | 22 -
package/libev/Config.in | 2 +-
package/libglib2/libglib2.mk | 2 +-
package/libmad/0002-optimization.patch.avr32 | 2922 --------------------
package/libmad/Config.in | 1 -
package/libmicrohttpd/libmicrohttpd.mk | 5 -
package/libsecret/Config.in | 3 -
...tack-direction-for-the-AVR32-architecture.patch | 33 -
package/libusb/libusb.mk | 4 -
package/lua-ev/Config.in | 2 +-
package/lxc/Config.in | 2 -
package/mpd/Config.in | 6 +-
package/mtr/Config.in | 3 -
package/mysql/Config.in | 1 -
package/network-manager/Config.in | 2 -
package/ofono/Config.in | 2 -
package/opencv/Config.in | 1 -
package/openobex/Config.in | 3 +-
package/openpgm/Config.in | 2 -
package/oprofile/oprofile.mk | 5 -
package/php/Config.ext | 4 -
package/pinentry/Config.in | 2 -
package/poco/Config.in | 5 +-
.../012-support-library-path-old-compilers.patch | 54 -
.../011-support-library-path-old-compilers.patch | 54 -
package/qemu/qemu.mk | 1 -
package/qt/Config.in | 2 -
package/qt/qt.mk | 2 -
package/qt5/Config.in | 2 -
package/qt5/qt5base/Config.in | 1 -
package/qt5/qt5connectivity/Config.in | 3 +-
package/radvd/Config.in | 2 -
package/samba/Config.in | 2 -
package/samba4/Config.in | 1 -
package/sconeserver/Config.in | 4 +-
package/snowball-init/Config.in | 3 +-
package/squid/Config.in | 1 -
package/trace-cmd/Config.in | 1 -
package/tvheadend/Config.in | 6 -
package/uboot-tools/uboot-tools.mk | 4 +-
.../0.9.31.1/0001-add-bsd-endian-conversions.patch | 64 -
.../uclibc/0.9.31.1/0002-add-inotify-init1.patch | 64 -
.../uclibc/0.9.31.1/0003-add-sock-cloexec.patch | 43 -
.../uclibc/0.9.31.1/0004-export-strverscmp.patch | 30 -
.../0005-fix-daylight-saving-time-handling.patch | 36 -
.../0.9.31.1/0006-fix-error-locale-utf-8.patch | 17 -
.../0.9.31.1/0007-linuxthreads-errno-fix.patch | 98 -
.../0008-more-workarounds-GCC-PR32219.patch | 40 -
package/uclibc/0.9.31.1/0009-unshare.patch | 74 -
.../0.9.31.1/0010-workaround-GCC-PR32219.patch | 57 -
.../0.9.31.1/0011-startfiles-Make-targets.patch | 60 -
.../0.9.31.1/0012-netlinkaccess-header-types.patch | 35 -
...deps-add-__kernel_long-and-__kernel_ulong.patch | 21 -
...clude-__iconv_codesets-into-iconv-utility.patch | 79 -
...deps-add-__kernel_long-and-__kernel_ulong.patch | 20 +-
.../0005-Patch-from-OpenWRT-for-avr32.patch | 28 -
package/uclibc/Config.in | 12 +-
package/uclibc/uClibc-0.9.31.config | 258 --
package/uclibc/uclibc.mk | 27 +-
package/udisks/Config.in | 3 -
package/ussp-push/Config.in | 3 +-
package/util-linux/Config.in | 2 -
package/wayland/Config.in | 2 -
package/weston/Config.in | 2 -
package/wpa_supplicant/Config.in | 1 -
package/x11r7/xserver_xorg-server/Config.in | 4 -
package/zeromq/Config.in | 1 -
package/zmqpp/Config.in | 2 -
system/Config.in | 2 -
toolchain/toolchain-buildroot/Config.in | 2 +-
toolchain/toolchain-external/toolchain-external.mk | 4 +-
130 files changed, 57 insertions(+), 5021 deletions(-)
delete mode 100644 arch/Config.in.avr32
delete mode 100644 configs/atngw100_defconfig
delete mode 100644 configs/atstk100x_defconfig
delete mode 100644 package/alsa-lib/0001-avr32-bad-inline.patch
delete mode 100644 package/dvb-apps/0002-Fix-compiler-warning-flags.patch
delete mode 100644 package/fbv/0001-arch.patch.avr32
delete mode 100644 package/gcc/4.2.2-avr32-2.1.5/1001-gcc-4.2.x-inhibit-libc.patch
delete mode 100644 package/gcc/4.2.2-avr32-2.1.5/903-avr32-fix-removal-of-redundant-cast-operations.patch
delete mode 100644 package/gcc/4.2.2-avr32-2.1.5/904-avr32-fix-conditional-insn-which-clobbers-cc_status.patch
delete mode 100644 package/gcc/4.2.2-avr32-2.1.5/905-avr32-optimize-movsf2-use-movh-to-move-immediates-into-register.patch
delete mode 100644 package/gcc/4.2.2-avr32-2.1.5/990-fix-300-libstdc++-pic.patch
delete mode 100644 package/libaio/0002-avr32-support.patch
delete mode 100644 package/libcec/0001-no-psabi-warning.patch
delete mode 100644 package/libmad/0002-optimization.patch.avr32
delete mode 100644 package/libsigsegv/0001-Add-stack-direction-for-the-AVR32-architecture.patch
delete mode 100644 package/python/012-support-library-path-old-compilers.patch
delete mode 100644 package/python3/011-support-library-path-old-compilers.patch
delete mode 100644 package/uclibc/0.9.31.1/0001-add-bsd-endian-conversions.patch
delete mode 100644 package/uclibc/0.9.31.1/0002-add-inotify-init1.patch
delete mode 100644 package/uclibc/0.9.31.1/0003-add-sock-cloexec.patch
delete mode 100644 package/uclibc/0.9.31.1/0004-export-strverscmp.patch
delete mode 100644 package/uclibc/0.9.31.1/0005-fix-daylight-saving-time-handling.patch
delete mode 100644 package/uclibc/0.9.31.1/0006-fix-error-locale-utf-8.patch
delete mode 100644 package/uclibc/0.9.31.1/0007-linuxthreads-errno-fix.patch
delete mode 100644 package/uclibc/0.9.31.1/0008-more-workarounds-GCC-PR32219.patch
delete mode 100644 package/uclibc/0.9.31.1/0009-unshare.patch
delete mode 100644 package/uclibc/0.9.31.1/0010-workaround-GCC-PR32219.patch
delete mode 100644 package/uclibc/0.9.31.1/0011-startfiles-Make-targets.patch
delete mode 100644 package/uclibc/0.9.31.1/0012-netlinkaccess-header-types.patch
delete mode 100644 package/uclibc/0.9.31.1/0013-libc-sysdeps-add-__kernel_long-and-__kernel_ulong.patch
delete mode 100644 package/uclibc/0.9.31.1/0014-Do-not-include-__iconv_codesets-into-iconv-utility.patch
delete mode 100644 package/uclibc/0.9.33.2/0005-Patch-from-OpenWRT-for-avr32.patch
delete mode 100644 package/uclibc/uClibc-0.9.31.config
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Buildroot] [PATCH 07/12] package/binutils: avr32 is gone
2015-02-13 22:34 [Buildroot] [PATCH 0/12] arch/avr32: say bye-bye! (branch yem/avr32) Yann E. MORIN
` (5 preceding siblings ...)
2015-02-13 22:34 ` [Buildroot] [PATCH 06/12] toolchain/extrnal: avr32 is no more Yann E. MORIN
@ 2015-02-13 22:34 ` Yann E. MORIN
2015-02-13 22:34 ` [Buildroot] [PATCH 08/12] package/gcc: do not mourn avr32 for too long Yann E. MORIN
` (4 subsequent siblings)
11 siblings, 0 replies; 15+ messages in thread
From: Yann E. MORIN @ 2015-02-13 22:34 UTC (permalink / raw)
To: buildroot
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
package/binutils/Config.in.host | 13 ++++---------
package/binutils/binutils.mk | 8 --------
2 files changed, 4 insertions(+), 17 deletions(-)
diff --git a/package/binutils/Config.in.host b/package/binutils/Config.in.host
index 0739467..504e9ca 100644
--- a/package/binutils/Config.in.host
+++ b/package/binutils/Config.in.host
@@ -7,33 +7,28 @@ choice
help
Select the version of binutils you wish to use.
- config BR2_BINUTILS_VERSION_2_18_AVR32_1_0_1
- depends on BR2_avr32
- bool "binutils 2.18-avr32-1.0.1"
-
config BR2_BINUTILS_VERSION_2_22
- depends on !BR2_avr32 && !BR2_aarch64 && !BR2_microblaze && !BR2_powerpc64le
+ depends on !BR2_aarch64 && !BR2_microblaze && !BR2_powerpc64le
bool "binutils 2.22"
# bfin disabled for newer binutils due to
# https://sourceware.org/bugzilla/show_bug.cgi?id=17334
config BR2_BINUTILS_VERSION_2_23_2
- depends on !BR2_avr32 && !BR2_aarch64 && !BR2_bfin && !BR2_microblaze && !BR2_powerpc64le
+ depends on !BR2_aarch64 && !BR2_bfin && !BR2_microblaze && !BR2_powerpc64le
bool "binutils 2.23.2"
config BR2_BINUTILS_VERSION_2_24
- depends on !BR2_avr32 && !BR2_bfin
+ depends on !BR2_bfin
bool "binutils 2.24"
config BR2_BINUTILS_VERSION_2_25
- depends on !BR2_avr32 && !BR2_bfin
+ depends on !BR2_bfin
bool "binutils 2.25"
endchoice
config BR2_BINUTILS_VERSION
string
- default "2.18-avr32-1.0.1" if BR2_BINUTILS_VERSION_2_18_AVR32_1_0_1
default "arc-2014.12" if BR2_arc
default "2.22" if BR2_BINUTILS_VERSION_2_22
default "2.23.2" if BR2_BINUTILS_VERSION_2_23_2
diff --git a/package/binutils/binutils.mk b/package/binutils/binutils.mk
index c3b3c18..9e99253 100644
--- a/package/binutils/binutils.mk
+++ b/package/binutils/binutils.mk
@@ -8,17 +8,9 @@
# If not, we do like other packages
BINUTILS_VERSION = $(call qstrip,$(BR2_BINUTILS_VERSION))
ifeq ($(BINUTILS_VERSION),)
-ifeq ($(BR2_avr32),y)
-# avr32 uses a special version
-BINUTILS_VERSION = 2.18-avr32-1.0.1
-else
BINUTILS_VERSION = 2.22
endif
-endif
-ifeq ($(ARCH),avr32)
-BINUTILS_SITE = ftp://www.at91.com/pub/buildroot
-endif
ifeq ($(BR2_arc),y)
BINUTILS_SITE = $(call github,foss-for-synopsys-dwc-arc-processors,binutils-gdb,$(BINUTILS_VERSION))
BINUTILS_SOURCE = binutils-$(BINUTILS_VERSION).tar.gz
--
1.9.1
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [Buildroot] [PATCH 08/12] package/gcc: do not mourn avr32 for too long...
2015-02-13 22:34 [Buildroot] [PATCH 0/12] arch/avr32: say bye-bye! (branch yem/avr32) Yann E. MORIN
` (6 preceding siblings ...)
2015-02-13 22:34 ` [Buildroot] [PATCH 07/12] package/binutils: avr32 is gone Yann E. MORIN
@ 2015-02-13 22:34 ` Yann E. MORIN
2015-02-13 22:34 ` [Buildroot] [PATCH 09/12] package/gdb: farewell avr32 Yann E. MORIN
` (3 subsequent siblings)
11 siblings, 0 replies; 15+ messages in thread
From: Yann E. MORIN @ 2015-02-13 22:34 UTC (permalink / raw)
To: buildroot
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
.../1001-gcc-4.2.x-inhibit-libc.patch | 49 -------
...-fix-removal-of-redundant-cast-operations.patch | 16 ---
...conditional-insn-which-clobbers-cc_status.patch | 150 ---------------------
...use-movh-to-move-immediates-into-register.patch | 31 -----
.../990-fix-300-libstdc++-pic.patch | 20 ---
package/gcc/Config.in.host | 26 +---
package/gcc/gcc.mk | 4 +-
7 files changed, 8 insertions(+), 288 deletions(-)
delete mode 100644 package/gcc/4.2.2-avr32-2.1.5/1001-gcc-4.2.x-inhibit-libc.patch
delete mode 100644 package/gcc/4.2.2-avr32-2.1.5/903-avr32-fix-removal-of-redundant-cast-operations.patch
delete mode 100644 package/gcc/4.2.2-avr32-2.1.5/904-avr32-fix-conditional-insn-which-clobbers-cc_status.patch
delete mode 100644 package/gcc/4.2.2-avr32-2.1.5/905-avr32-optimize-movsf2-use-movh-to-move-immediates-into-register.patch
delete mode 100644 package/gcc/4.2.2-avr32-2.1.5/990-fix-300-libstdc++-pic.patch
diff --git a/package/gcc/4.2.2-avr32-2.1.5/1001-gcc-4.2.x-inhibit-libc.patch b/package/gcc/4.2.2-avr32-2.1.5/1001-gcc-4.2.x-inhibit-libc.patch
deleted file mode 100644
index 9a7c909..0000000
--- a/package/gcc/4.2.2-avr32-2.1.5/1001-gcc-4.2.x-inhibit-libc.patch
+++ /dev/null
@@ -1,49 +0,0 @@
---- gcc-4.2.4/gcc/unwind-sjlj.c.khem 2010-08-11 12:45:28.000000000 -0700
-+++ gcc-4.2.4/gcc/unwind-sjlj.c 2010-08-11 12:45:50.000000000 -0700
-@@ -28,6 +28,8 @@
- Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
- 02110-1301, USA. */
-
-+#ifndef inhibit_libc
-+
- #include "tconfig.h"
- #include "tsystem.h"
- #include "coretypes.h"
-@@ -326,3 +328,4 @@ uw_identify_context (struct _Unwind_Cont
- #include "unwind.inc"
-
- #endif /* USING_SJLJ_EXCEPTIONS */
-+#endif
---- gcc-4.2.4/gcc/unwind-dw2.c.khem 2010-08-11 12:42:45.000000000 -0700
-+++ gcc-4.2.4/gcc/unwind-dw2.c 2010-08-11 12:43:17.000000000 -0700
-@@ -28,6 +28,8 @@
- Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
- 02110-1301, USA. */
-
-+#ifndef inhibit_libc
-+
- #include "tconfig.h"
- #include "tsystem.h"
- #include "coretypes.h"
-@@ -1537,3 +1539,5 @@ alias (_Unwind_SetIP);
- #endif
-
- #endif /* !USING_SJLJ_EXCEPTIONS */
-+#endif
-+
---- gcc-4.2.4/gcc/unwind-dw2-fde-glibc.c.khem 2010-08-11 12:44:25.000000000 -0700
-+++ gcc-4.2.4/gcc/unwind-dw2-fde-glibc.c 2010-08-11 12:44:48.000000000 -0700
-@@ -29,6 +29,8 @@
- segment and dl_iterate_phdr to avoid register/deregister calls at
- DSO load/unload. */
-
-+#ifndef inhibit_libc
-+
- #ifndef _GNU_SOURCE
- #define _GNU_SOURCE 1
- #endif
-@@ -438,3 +440,4 @@ _Unwind_Find_FDE (void *pc, struct dwarf
- #if defined (USE_GAS_SYMVER) && defined (SHARED) && defined (USE_LIBUNWIND_EXCEPTIONS)
- alias (_Unwind_Find_FDE);
- #endif
-+#endif
diff --git a/package/gcc/4.2.2-avr32-2.1.5/903-avr32-fix-removal-of-redundant-cast-operations.patch b/package/gcc/4.2.2-avr32-2.1.5/903-avr32-fix-removal-of-redundant-cast-operations.patch
deleted file mode 100644
index 59ecbff..0000000
--- a/package/gcc/4.2.2-avr32-2.1.5/903-avr32-fix-removal-of-redundant-cast-operations.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-Index: trunk/gcc/config/avr32/avr32.c
-===================================================================
---- trunk/gcc/config/avr32/avr32.c (revision 43495)
-+++ trunk/gcc/config/avr32/avr32.c (revision 43496)
-@@ -6499,6 +6499,11 @@
- break;
- }
-
-+ /* Check if we have a call and the register is used as an argument. */
-+ if (CALL_P (scan)
-+ && find_reg_fusage (scan, USE, reg) )
-+ break;
-+
- if (!reg_mentioned_p (reg, PATTERN (scan)))
- continue;
-
diff --git a/package/gcc/4.2.2-avr32-2.1.5/904-avr32-fix-conditional-insn-which-clobbers-cc_status.patch b/package/gcc/4.2.2-avr32-2.1.5/904-avr32-fix-conditional-insn-which-clobbers-cc_status.patch
deleted file mode 100644
index 539c666..0000000
--- a/package/gcc/4.2.2-avr32-2.1.5/904-avr32-fix-conditional-insn-which-clobbers-cc_status.patch
+++ /dev/null
@@ -1,150 +0,0 @@
-Index: gcc-4.2.2/gcc/config/avr32/avr32.c
-===================================================================
---- gcc-4.2.2.orig/gcc/config/avr32/avr32.c 2008-09-19 14:29:20.000000000 +0200
-+++ gcc-4.2.2/gcc/config/avr32/avr32.c 2008-09-19 14:30:02.000000000 +0200
-@@ -1788,7 +1788,7 @@
- {
- if (TREE_CODE (*node) != FUNCTION_DECL)
- {
-- warning ("`%s' attribute only applies to functions",
-+ warning (OPT_Wattributes,"`%s' attribute only applies to functions",
- IDENTIFIER_POINTER (name));
- *no_add_attrs = true;
- }
-@@ -1802,7 +1802,7 @@
- {
- if (avr32_isr_value (args) == AVR32_FT_UNKNOWN)
- {
-- warning ("`%s' attribute ignored", IDENTIFIER_POINTER (name));
-+ warning (OPT_Wattributes,"`%s' attribute ignored", IDENTIFIER_POINTER (name));
- *no_add_attrs = true;
- }
- }
-@@ -1829,7 +1829,7 @@
- }
- else
- {
-- warning ("`%s' attribute ignored", IDENTIFIER_POINTER (name));
-+ warning (OPT_Wattributes,"`%s' attribute ignored", IDENTIFIER_POINTER (name));
- }
- }
- }
-@@ -1847,7 +1847,7 @@
- {
- if (TREE_CODE (*node) != FUNCTION_DECL)
- {
-- warning ("%qs attribute only applies to functions",
-+ warning (OPT_Wattributes,"%qs attribute only applies to functions",
- IDENTIFIER_POINTER (name));
- *no_add_attrs = true;
- }
-@@ -1866,13 +1866,13 @@
- {
- if (TREE_CODE (*node) == FUNCTION_TYPE || TREE_CODE (*node) == METHOD_TYPE)
- {
-- warning ("`%s' attribute not yet supported...",
-+ warning (OPT_Wattributes,"`%s' attribute not yet supported...",
- IDENTIFIER_POINTER (name));
- *no_add_attrs = true;
- return NULL_TREE;
- }
-
-- warning ("`%s' attribute only applies to functions",
-+ warning (OPT_Wattributes,"`%s' attribute only applies to functions",
- IDENTIFIER_POINTER (name));
- *no_add_attrs = true;
- return NULL_TREE;
-@@ -4215,51 +4215,6 @@
-
-
- void
--avr32_asm_output_ascii (FILE * stream, char *ptr, int len)
--{
-- int i, i_new = 0;
-- char *new_ptr = xmalloc (4 * len);
-- if (new_ptr == NULL)
-- internal_error ("Out of memory.");
--
-- for (i = 0; i < len; i++)
-- {
-- if (ptr[i] == '\n')
-- {
-- new_ptr[i_new++] = '\\';
-- new_ptr[i_new++] = '0';
-- new_ptr[i_new++] = '1';
-- new_ptr[i_new++] = '2';
-- }
-- else if (ptr[i] == '\"')
-- {
-- new_ptr[i_new++] = '\\';
-- new_ptr[i_new++] = '\"';
-- }
-- else if (ptr[i] == '\\')
-- {
-- new_ptr[i_new++] = '\\';
-- new_ptr[i_new++] = '\\';
-- }
-- else if (ptr[i] == '\0' && i + 1 < len)
-- {
-- new_ptr[i_new++] = '\\';
-- new_ptr[i_new++] = '0';
-- }
-- else
-- {
-- new_ptr[i_new++] = ptr[i];
-- }
-- }
--
-- /* Terminate new_ptr. */
-- new_ptr[i_new] = '\0';
-- fprintf (stream, "\t.ascii\t\"%s\"\n", new_ptr);
-- free (new_ptr);
--}
--
--
--void
- avr32_asm_output_label (FILE * stream, const char *name)
- {
- name = avr32_strip_name_encoding (name);
-@@ -4444,12 +4399,15 @@
- rtx cmp;
- rtx cmp_op0, cmp_op1;
- rtx cond;
-+ rtx dest;
-+
- if ( GET_CODE (exp) == COND_EXEC )
- {
- cmp_op0 = XEXP (COND_EXEC_TEST (exp), 0);
- cmp_op1 = XEXP (COND_EXEC_TEST (exp), 1);
- cond = COND_EXEC_TEST (exp);
-- }
-+ dest = SET_DEST (COND_EXEC_CODE (exp));
-+ }
- else
- {
- /* If then else conditional. compare operands are in operands
-@@ -4457,6 +4415,7 @@
- cmp_op0 = recog_data.operand[4];
- cmp_op1 = recog_data.operand[5];
- cond = recog_data.operand[1];
-+ dest = SET_DEST (exp);
- }
-
- if ( GET_CODE (cmp_op0) == AND )
-@@ -4466,7 +4425,15 @@
- cmp_op0,
- cmp_op1);
-
-- if (is_compare_redundant (cmp, cond) == NULL_RTX)
-+ /* Check if the conditional insns updates a register present
-+ in the comparison, if so then we must reset the cc_status. */
-+ if (REG_P (dest)
-+ && (reg_mentioned_p (dest, cmp_op0)
-+ || reg_mentioned_p (dest, cmp_op1)))
-+ {
-+ CC_STATUS_INIT;
-+ }
-+ else if (is_compare_redundant (cmp, cond) == NULL_RTX)
- {
- /* Reset the nonstandard flag */
- CC_STATUS_INIT;
diff --git a/package/gcc/4.2.2-avr32-2.1.5/905-avr32-optimize-movsf2-use-movh-to-move-immediates-into-register.patch b/package/gcc/4.2.2-avr32-2.1.5/905-avr32-optimize-movsf2-use-movh-to-move-immediates-into-register.patch
deleted file mode 100644
index 08d972d..0000000
--- a/package/gcc/4.2.2-avr32-2.1.5/905-avr32-optimize-movsf2-use-movh-to-move-immediates-into-register.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-Index: gcc-4.2.2/gcc/config/avr32/avr32.md
-===================================================================
---- gcc-4.2.2.orig/gcc/config/avr32/avr32.md 2008-09-19 14:23:34.000000000 +0200
-+++ gcc-4.2.2/gcc/config/avr32/avr32.md 2008-09-19 14:30:18.000000000 +0200
-@@ -803,14 +803,22 @@
- (define_insn "*movsf_internal"
- [(set (match_operand:SF 0 "nonimmediate_operand" "=r,r,r,r,m")
- (match_operand:SF 1 "general_operand" "r, G,F,m,r"))]
-- "TARGET_SOFT_FLOAT
-- && (register_operand (operands[0], SFmode)
-- || register_operand (operands[1], SFmode))"
-+ "(register_operand (operands[0], SFmode)
-+ || register_operand (operands[1], SFmode))"
- {
- switch (which_alternative) {
- case 0:
- case 1: return "mov\t%0, %1";
-- case 2: return "mov\t%0, lo(%1)\;orh\t%0, hi(%1)";
-+ case 2:
-+ {
-+ HOST_WIDE_INT target_float[2];
-+ real_to_target (target_float, CONST_DOUBLE_REAL_VALUE (operands[1]), SFmode);
-+ if ( TARGET_V2_INSNS
-+ && avr32_hi16_immediate_operand (GEN_INT (target_float[0]), VOIDmode) )
-+ return "movh\t%0, hi(%1)";
-+ else
-+ return "mov\t%0, lo(%1)\;orh\t%0, hi(%1)";
-+ }
- case 3:
- if ( (REG_P(XEXP(operands[1], 0))
- && REGNO(XEXP(operands[1], 0)) == SP_REGNUM)
diff --git a/package/gcc/4.2.2-avr32-2.1.5/990-fix-300-libstdc++-pic.patch b/package/gcc/4.2.2-avr32-2.1.5/990-fix-300-libstdc++-pic.patch
deleted file mode 100644
index a63b3ad..0000000
--- a/package/gcc/4.2.2-avr32-2.1.5/990-fix-300-libstdc++-pic.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-libstdc++-v3: fix the effects of pre-applied 300-libstdc++-pic.patch
-
-This version of GCC comes with a number of pre-applied patches, among which is
-300-libstdc++-pic.patch that makes a PIC version of libstdc++. The resulting
-Makefile.in incorrectly refers to object files that should be insde the library.
-
-Signed-off-by: Alexander Lukichev <alexander.lukichev@gmail.com>
-
-diff -uNrp host-gcc-final-4.2.2-avr32-2.1.5.orig/libstdc++-v3/src/Makefile.in host-gcc-final-4.2.2-avr32-2.1.5/libstdc++-v3/src/Makefile.in
---- host-gcc-final-4.2.2-avr32-2.1.5.orig/libstdc++-v3/src/Makefile.in 2008-07-04 00:18:42.000000000 +0300
-+++ host-gcc-final-4.2.2-avr32-2.1.5/libstdc++-v3/src/Makefile.in 2013-08-08 16:15:56.201258882 +0300
-@@ -804,7 +804,7 @@ install_debug:
-
- install-exec-local:
- ifeq ($(enable_shared),yes)
-- $(AR) cru libstdc++_pic.a *.o $(top_builddir)/libsupc++/*.o
-+ $(AR) cru libstdc++_pic.a .libs/*.o $(top_builddir)/libsupc++/*.o
- $(INSTALL_DATA) libstdc++_pic.a $(DESTDIR)$(toolexeclibdir)
- endif
-
diff --git a/package/gcc/Config.in.host b/package/gcc/Config.in.host
index 24004c4..567f66a 100644
--- a/package/gcc/Config.in.host
+++ b/package/gcc/Config.in.host
@@ -8,7 +8,6 @@ config BR2_GCC_SUPPORTS_GRAPHITE
choice
prompt "GCC compiler Version"
- default BR2_GCC_VERSION_4_2_2_AVR32_2_1_5 if BR2_avr32
default BR2_GCC_VERSION_4_8_ARC if BR2_arc
default BR2_GCC_VERSION_4_9_X if BR2_microblaze || BR2_powerpc64le
default BR2_GCC_VERSION_4_5_X if BR2_bfin
@@ -16,16 +15,11 @@ choice
help
Select the version of gcc you wish to use.
- config BR2_GCC_VERSION_4_2_2_AVR32_2_1_5
- bool "gcc 4.2.2-avr32-2.1.5"
- # Only supported architecture
- depends on BR2_avr32
-
config BR2_GCC_VERSION_4_5_X
bool "gcc 4.5.x"
# Broken or unsupported architectures
depends on !BR2_microblaze && !BR2_aarch64 && !BR2_arc \
- && !BR2_avr32 && !BR2_powerpc64le
+ && !BR2_powerpc64le
# Broken or unsupported ARM cores
depends on !BR2_cortex_a7 && !BR2_cortex_a12 && \
!BR2_cortex_a15 && !BR2_fa526 && !BR2_pj4
@@ -46,7 +40,7 @@ choice
bool "gcc 4.7.x"
# Broken or unsupported architectures
depends on !BR2_microblaze && !BR2_aarch64 && !BR2_arc \
- && !BR2_avr32 && !BR2_bfin && !BR2_powerpc64le
+ && !BR2_bfin && !BR2_powerpc64le
# Broken or unsupported ARM cores
depends on !BR2_cortex_a12 && !BR2_pj4
# Broken or unsupported PPC cores
@@ -61,7 +55,7 @@ choice
config BR2_GCC_VERSION_4_8_X
bool "gcc 4.8.x"
# Broken or unsupported architectures
- depends on !BR2_microblaze && !BR2_arc && !BR2_avr32 \
+ depends on !BR2_microblaze && !BR2_arc \
&& !BR2_bfin && !BR2_powerpc64le
# Broken or unsupported ARM cores
depends on !BR2_cortex_a12
@@ -79,7 +73,7 @@ choice
config BR2_GCC_VERSION_4_9_X
bool "gcc 4.9.x"
# Broken or unsupported architectures
- depends on !BR2_arc && !BR2_avr32 && !BR2_bfin
+ depends on !BR2_arc && !BR2_bfin
# PR60102 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60102
select BR2_GCC_NEEDS_MPC
select BR2_GCC_SUPPORTS_GRAPHITE
@@ -88,11 +82,10 @@ endchoice
config BR2_GCC_SUPPORTS_FINEGRAINEDMTUNE
bool
- default y if !BR2_GCC_VERSION_4_2_2_AVR32_2_1_5
+ default y
config BR2_GCC_VERSION
string
- default "4.2.2-avr32-2.1.5" if BR2_GCC_VERSION_4_2_2_AVR32_2_1_5
default "4.5.4" if BR2_GCC_VERSION_4_5_X
default "4.7.4" if BR2_GCC_VERSION_4_7_X
default "4.8.4" if BR2_GCC_VERSION_4_8_X
@@ -110,16 +103,11 @@ config BR2_EXTRA_GCC_CONFIG_OPTIONS
config BR2_TOOLCHAIN_BUILDROOT_CXX
bool "Enable C++ support"
select BR2_INSTALL_LIBSTDCPP
- depends on !(BR2_GCC_VERSION_4_2_2_AVR32_2_1_5 && \
- BR2_TOOLCHAIN_BUILDROOT_LOCALE)
help
Enable this option if you want your toolchain to support the
C++ language and you want C++ libraries to be installed on
your target system.
-comment "C++ support broken in uClibc with locale enabled with gcc 4.2"
- depends on BR2_GCC_VERSION_4_2_2_AVR32_2_1_5 && BR2_TOOLCHAIN_BUILDROOT_LOCALE
-
config BR2_GCC_ENABLE_TLS
bool "Enable compiler tls support" if BR2_TOOLCHAIN_BUILDROOT_UCLIBC
default y
@@ -130,7 +118,7 @@ config BR2_GCC_ENABLE_TLS
config BR2_GCC_ENABLE_OPENMP
bool "Enable compiler OpenMP support"
- depends on !BR2_PTHREADS_NONE && !BR2_avr32 && !BR2_arc && !BR2_microblaze
+ depends on !BR2_PTHREADS_NONE && !BR2_arc && !BR2_microblaze
help
Enable OpenMP support for the compiler
@@ -138,7 +126,7 @@ config BR2_GCC_ENABLE_LIBMUDFLAP
bool "Enable libmudflap support"
# There are architectures, or specific configurations for
# which mudflap is not supported.
- depends on !BR2_avr32 && !BR2_bfin && !BR2_ARM_INSTRUCTIONS_THUMB && !BR2_powerpc_SPE
+ depends on !BR2_bfin && !BR2_ARM_INSTRUCTIONS_THUMB && !BR2_powerpc_SPE
depends on !BR2_GCC_VERSION_4_9_X
help
libmudflap is a gcc library used for the mudflap pointer
diff --git a/package/gcc/gcc.mk b/package/gcc/gcc.mk
index 3af8290..477f846 100644
--- a/package/gcc/gcc.mk
+++ b/package/gcc/gcc.mk
@@ -10,9 +10,7 @@
GCC_VERSION = $(call qstrip,$(BR2_GCC_VERSION))
-ifeq ($(findstring avr32,$(GCC_VERSION)),avr32)
-GCC_SITE = ftp://www.at91.com/pub/buildroot
-else ifeq ($(BR2_arc),y)
+ifeq ($(BR2_arc),y)
GCC_SITE = $(call github,foss-for-synopsys-dwc-arc-processors,gcc,$(GCC_VERSION))
GCC_SOURCE = gcc-$(GCC_VERSION).tar.gz
else
--
1.9.1
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [Buildroot] [PATCH 09/12] package/gdb: farewell avr32
2015-02-13 22:34 [Buildroot] [PATCH 0/12] arch/avr32: say bye-bye! (branch yem/avr32) Yann E. MORIN
` (7 preceding siblings ...)
2015-02-13 22:34 ` [Buildroot] [PATCH 08/12] package/gcc: do not mourn avr32 for too long Yann E. MORIN
@ 2015-02-13 22:34 ` Yann E. MORIN
2015-02-13 22:34 ` [Buildroot] [PATCH 10/12] package/uClibc: RIP, avr32 Yann E. MORIN
` (2 subsequent siblings)
11 siblings, 0 replies; 15+ messages in thread
From: Yann E. MORIN @ 2015-02-13 22:34 UTC (permalink / raw)
To: buildroot
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
package/gdb/Config.in | 4 ++--
package/gdb/Config.in.host | 7 -------
package/gdb/gdb.mk | 9 +--------
3 files changed, 3 insertions(+), 17 deletions(-)
diff --git a/package/gdb/Config.in b/package/gdb/Config.in
index b211878..db6adf5 100644
--- a/package/gdb/Config.in
+++ b/package/gdb/Config.in
@@ -40,10 +40,10 @@ config BR2_PACKAGE_GDB_DEBUGGER
bool "full debugger"
select BR2_PACKAGE_NCURSES
depends on BR2_USE_WCHAR
- depends on !BR2_sh && !BR2_sh64 && !BR2_avr32 && !BR2_microblaze && !BR2_bfin
+ depends on !BR2_sh && !BR2_sh64 && !BR2_microblaze && !BR2_bfin
comment "full gdb on target needs a toolchain w/ wchar"
- depends on !BR2_sh && !BR2_sh64 && !BR2_avr32 && !BR2_microblaze && !BR2_bfin
+ depends on !BR2_sh && !BR2_sh64 && !BR2_microblaze && !BR2_bfin
depends on !BR2_USE_WCHAR
if BR2_PACKAGE_GDB_DEBUGGER
diff --git a/package/gdb/Config.in.host b/package/gdb/Config.in.host
index c8d6a94..2a03939 100644
--- a/package/gdb/Config.in.host
+++ b/package/gdb/Config.in.host
@@ -27,15 +27,10 @@ choice
prompt "GDB debugger Version"
depends on !BR2_arc
depends on !BR2_microblaze
- default BR2_GDB_VERSION_6_7_1_AVR32_2_1_5 if BR2_avr32
default BR2_GDB_VERSION_7_7
help
Select the version of gdb you wish to use.
- config BR2_GDB_VERSION_6_7_1_AVR32_2_1_5
- depends on BR2_avr32
- bool "gdb 6.7.1-avr32-2.1.5"
-
config BR2_GDB_VERSION_7_7
bool "gdb 7.7.x"
@@ -50,8 +45,6 @@ endif
config BR2_GDB_VERSION
string
depends on BR2_PACKAGE_GDB || BR2_PACKAGE_HOST_GDB
- default "6.7.1-avr32-2.1.5" if BR2_GDB_VERSION_6_7_1_AVR32_2_1_5 || \
- (!BR2_PACKAGE_HOST_GDB && BR2_avr32)
default "arc-2014.12-gdb" if BR2_arc
default "6be65fb56ea6694a9260733a536a023a1e2d4d57" if BR2_microblaze
default "7.7.1" if BR2_GDB_VERSION_7_7 || !BR2_PACKAGE_HOST_GDB
diff --git a/package/gdb/gdb.mk b/package/gdb/gdb.mk
index 24084b8..6a192fb 100644
--- a/package/gdb/gdb.mk
+++ b/package/gdb/gdb.mk
@@ -19,10 +19,6 @@ GDB_SOURCE = gdb-$(GDB_VERSION).tar.gz
GDB_FROM_GIT = y
endif
-ifeq ($(GDB_VERSION),6.7.1-avr32-2.1.5)
-GDB_SITE = ftp://www.at91.com/pub/buildroot
-endif
-
# Starting from 7.8.x, bz2 tarballs no longer available, use .tar.xz
# instead.
ifneq ($(filter 7.8.%,$(GDB_VERSION)),)
@@ -129,12 +125,9 @@ endif
# * --target, because we're doing a cross build rather than a real
# host build.
# * --enable-static because gdb really wants to use libbfd.a
-# * --disable-shared, otherwise the old 6.7 version specific to AVR32
-# doesn't build because it wants to link a shared libbfd.so against
-# non-PIC liberty.a.
HOST_GDB_CONF_OPTS = \
--target=$(GNU_TARGET_NAME) \
- --enable-static --disable-shared \
+ --enable-static \
--without-uiout \
--disable-gdbtk \
--without-x \
--
1.9.1
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [Buildroot] [PATCH 10/12] package/uClibc: RIP, avr32
2015-02-13 22:34 [Buildroot] [PATCH 0/12] arch/avr32: say bye-bye! (branch yem/avr32) Yann E. MORIN
` (8 preceding siblings ...)
2015-02-13 22:34 ` [Buildroot] [PATCH 09/12] package/gdb: farewell avr32 Yann E. MORIN
@ 2015-02-13 22:34 ` Yann E. MORIN
2015-02-13 22:34 ` [Buildroot] [PATCH 11/12] package/eudev: we won't miss you, avr32 Yann E. MORIN
2015-02-13 22:34 ` [Buildroot] [PATCH 12/12] arch/avr32: decommission for real Yann E. MORIN
11 siblings, 0 replies; 15+ messages in thread
From: Yann E. MORIN @ 2015-02-13 22:34 UTC (permalink / raw)
To: buildroot
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
package/aiccu/Config.in | 2 -
package/fio/Config.in | 6 +-
package/iputils/Config.in | 2 -
package/libglib2/libglib2.mk | 2 +-
package/mtr/Config.in | 2 -
.../0.9.31.1/0001-add-bsd-endian-conversions.patch | 64 -----
.../uclibc/0.9.31.1/0002-add-inotify-init1.patch | 64 -----
.../uclibc/0.9.31.1/0003-add-sock-cloexec.patch | 43 ----
.../uclibc/0.9.31.1/0004-export-strverscmp.patch | 30 ---
.../0005-fix-daylight-saving-time-handling.patch | 36 ---
.../0.9.31.1/0006-fix-error-locale-utf-8.patch | 17 --
.../0.9.31.1/0007-linuxthreads-errno-fix.patch | 98 --------
.../0008-more-workarounds-GCC-PR32219.patch | 40 ----
package/uclibc/0.9.31.1/0009-unshare.patch | 74 ------
.../0.9.31.1/0010-workaround-GCC-PR32219.patch | 57 -----
.../0.9.31.1/0011-startfiles-Make-targets.patch | 60 -----
| 35 ---
...deps-add-__kernel_long-and-__kernel_ulong.patch | 21 --
...clude-__iconv_codesets-into-iconv-utility.patch | 79 -------
...deps-add-__kernel_long-and-__kernel_ulong.patch | 20 +-
.../0005-Patch-from-OpenWRT-for-avr32.patch | 28 ---
package/uclibc/Config.in | 12 +-
package/uclibc/uClibc-0.9.31.config | 258 ---------------------
package/uclibc/uclibc.mk | 27 +--
24 files changed, 11 insertions(+), 1066 deletions(-)
delete mode 100644 package/uclibc/0.9.31.1/0001-add-bsd-endian-conversions.patch
delete mode 100644 package/uclibc/0.9.31.1/0002-add-inotify-init1.patch
delete mode 100644 package/uclibc/0.9.31.1/0003-add-sock-cloexec.patch
delete mode 100644 package/uclibc/0.9.31.1/0004-export-strverscmp.patch
delete mode 100644 package/uclibc/0.9.31.1/0005-fix-daylight-saving-time-handling.patch
delete mode 100644 package/uclibc/0.9.31.1/0006-fix-error-locale-utf-8.patch
delete mode 100644 package/uclibc/0.9.31.1/0007-linuxthreads-errno-fix.patch
delete mode 100644 package/uclibc/0.9.31.1/0008-more-workarounds-GCC-PR32219.patch
delete mode 100644 package/uclibc/0.9.31.1/0009-unshare.patch
delete mode 100644 package/uclibc/0.9.31.1/0010-workaround-GCC-PR32219.patch
delete mode 100644 package/uclibc/0.9.31.1/0011-startfiles-Make-targets.patch
delete mode 100644 package/uclibc/0.9.31.1/0012-netlinkaccess-header-types.patch
delete mode 100644 package/uclibc/0.9.31.1/0013-libc-sysdeps-add-__kernel_long-and-__kernel_ulong.patch
delete mode 100644 package/uclibc/0.9.31.1/0014-Do-not-include-__iconv_codesets-into-iconv-utility.patch
delete mode 100644 package/uclibc/0.9.33.2/0005-Patch-from-OpenWRT-for-avr32.patch
delete mode 100644 package/uclibc/uClibc-0.9.31.config
diff --git a/package/aiccu/Config.in b/package/aiccu/Config.in
index df184fa..bd67bac 100644
--- a/package/aiccu/Config.in
+++ b/package/aiccu/Config.in
@@ -4,8 +4,6 @@ config BR2_PACKAGE_AICCU
depends on BR2_USE_WCHAR
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_USE_MMU # fork()
- # Uses dn_skipname(), only available since 0.9.33
- depends on !BR2_UCLIBC_VERSION_0_9_31
# Triggers the _gp link issue
depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII201305
depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII201405
diff --git a/package/fio/Config.in b/package/fio/Config.in
index 8cbbf6c..219b9d9 100644
--- a/package/fio/Config.in
+++ b/package/fio/Config.in
@@ -7,10 +7,8 @@ config BR2_PACKAGE_FIO
# release of uClibc, but is part of uClibc Git, and backported
# in Buildroot patch set of uClibc 0.9.33. Therefore, we
# disable the build of fio for external uClibc toolchains
- # (which use an unknown uClibc version) and for 0.9.31 which
- # don't have posix_madvise().
- depends on !BR2_TOOLCHAIN_EXTERNAL_UCLIBC && \
- !BR2_UCLIBC_VERSION_0_9_31
+ # (which use an unknown uClibc version)
+ depends on !BR2_TOOLCHAIN_EXTERNAL_UCLIBC
# fio uses fallocate() which becomes fallocate64() while compiling
# with BR2_LARGEFILE but fallocate64() is not available on nios2
depends on !BR2_nios2
diff --git a/package/iputils/Config.in b/package/iputils/Config.in
index ac1218f..fdddb52 100644
--- a/package/iputils/Config.in
+++ b/package/iputils/Config.in
@@ -2,8 +2,6 @@ config BR2_PACKAGE_IPUTILS
bool "iputils"
select BR2_PACKAGE_OPENSSL if BR2_INET_IPV6
depends on BR2_USE_MMU # fork()
- # requires dn_comp (only available in since uclibc 0.9.33)
- depends on !BR2_UCLIBC_VERSION_0_9_31
help
This package is set of small useful utilities for Linux networking.
It includes complete versions of ping, traceroute, etc.
diff --git a/package/libglib2/libglib2.mk b/package/libglib2/libglib2.mk
index fa909cd..991c972 100644
--- a/package/libglib2/libglib2.mk
+++ b/package/libglib2/libglib2.mk
@@ -49,7 +49,7 @@ LIBGLIB2_CONF_ENV = \
gt_cv_c_wchar_t=$(if $(BR2_USE_WCHAR),yes,no)
# old uClibc versions don't provide qsort_r
-ifeq ($(BR2_UCLIBC_VERSION_0_9_31)$(BR2_TOOLCHAIN_EXTERNAL_UCLIBC)$(BR2_TOOLCHAIN_EXTERNAL_XILINX_MICROBLAZEEL_V2)$(BR2_TOOLCHAIN_EXTERNAL_XILINX_MICROBLAZEBE_V2),y)
+ifeq ($(BR2_TOOLCHAIN_EXTERNAL_UCLIBC)$(BR2_TOOLCHAIN_EXTERNAL_XILINX_MICROBLAZEEL_V2)$(BR2_TOOLCHAIN_EXTERNAL_XILINX_MICROBLAZEBE_V2),y)
LIBGLIB2_CONF_ENV += glib_cv_have_qsort_r=no
else
LIBGLIB2_CONF_ENV += glib_cv_have_qsort_r=yes
diff --git a/package/mtr/Config.in b/package/mtr/Config.in
index f3060a1..5e2d5b2 100644
--- a/package/mtr/Config.in
+++ b/package/mtr/Config.in
@@ -1,7 +1,5 @@
config BR2_PACKAGE_MTR
bool "mtr"
- # res_mkquery() only available in 0.9.33+
- depends on !BR2_UCLIBC_VERSION_0_9_31
help
mtr combines the functionality of the 'traceroute' and 'ping'
programs in a single network diagnostic tool.
diff --git a/package/uclibc/0.9.31.1/0001-add-bsd-endian-conversions.patch b/package/uclibc/0.9.31.1/0001-add-bsd-endian-conversions.patch
deleted file mode 100644
index 652d7c9..0000000
--- a/package/uclibc/0.9.31.1/0001-add-bsd-endian-conversions.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-From c6d6237819037168a6923ac080e348e54615422c Mon Sep 17 00:00:00 2001
-From: Vladimir Zapolskiy <vzapolskiy@gmail.com>
-Date: Tue, 1 Jun 2010 23:22:57 +0400
-Subject: [PATCH] endian.h: add BSD convertions between big/little-endian byte order
-
-This patch adds support for convertion of values between host and
-big-/little-endian byte order.
-
-Signed-off-by: Vladimir Zapolskiy <vzapolskiy@gmail.com>
-Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
----
- include/endian.h | 38 ++++++++++++++++++++++++++++++++++++++
- 1 files changed, 38 insertions(+), 0 deletions(-)
-
-diff --git a/include/endian.h b/include/endian.h
-index 2f7bce1..0ba7384 100644
---- a/include/endian.h
-+++ b/include/endian.h
-@@ -55,4 +55,42 @@
- # define __LONG_LONG_PAIR(HI, LO) HI, LO
- #endif
-
-+
-+#ifdef __USE_BSD
-+/* Conversion interfaces. */
-+# include <byteswap.h>
-+
-+# if __BYTE_ORDER == __LITTLE_ENDIAN
-+# define htobe16(x) __bswap_16 (x)
-+# define htole16(x) (x)
-+# define be16toh(x) __bswap_16 (x)
-+# define le16toh(x) (x)
-+
-+# define htobe32(x) __bswap_32 (x)
-+# define htole32(x) (x)
-+# define be32toh(x) __bswap_32 (x)
-+# define le32toh(x) (x)
-+
-+# define htobe64(x) __bswap_64 (x)
-+# define htole64(x) (x)
-+# define be64toh(x) __bswap_64 (x)
-+# define le64toh(x) (x)
-+# else
-+# define htobe16(x) (x)
-+# define htole16(x) __bswap_16 (x)
-+# define be16toh(x) (x)
-+# define le16toh(x) __bswap_16 (x)
-+
-+# define htobe32(x) (x)
-+# define htole32(x) __bswap_32 (x)
-+# define be32toh(x) (x)
-+# define le32toh(x) __bswap_32 (x)
-+
-+# define htobe64(x) (x)
-+# define htole64(x) __bswap_64 (x)
-+# define be64toh(x) (x)
-+# define le64toh(x) __bswap_64 (x)
-+# endif
-+#endif
-+
- #endif /* endian.h */
---
-1.7.3.4
-
diff --git a/package/uclibc/0.9.31.1/0002-add-inotify-init1.patch b/package/uclibc/0.9.31.1/0002-add-inotify-init1.patch
deleted file mode 100644
index cbec426..0000000
--- a/package/uclibc/0.9.31.1/0002-add-inotify-init1.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-From a2e5630af426f85fdd8721b2820786d9bd2aa695 Mon Sep 17 00:00:00 2001
-From: Vladimir Zapolskiy <vzapolskiy@gmail.com>
-Date: Tue, 1 Jun 2010 20:02:54 +0400
-Subject: [PATCH] inotify: add inotify_init1 system call support
-
-This patch introduces support for inotify_init1 system call, found
-since Linux 2.6.27.
-
-Signed-off-by: Vladimir Zapolskiy <vzapolskiy@gmail.com>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- libc/sysdeps/linux/common/inotify.c | 4 ++++
- libc/sysdeps/linux/common/sys/inotify.h | 13 +++++++++++++
- 2 files changed, 17 insertions(+), 0 deletions(-)
-
-diff --git a/libc/sysdeps/linux/common/inotify.c b/libc/sysdeps/linux/common/inotify.c
-index e5a6120..e35f043 100644
---- a/libc/sysdeps/linux/common/inotify.c
-+++ b/libc/sysdeps/linux/common/inotify.c
-@@ -15,6 +15,10 @@
- _syscall0(int, inotify_init)
- #endif
-
-+#ifdef __NR_inotify_init1
-+_syscall1(int, inotify_init1, int, flags)
-+#endif
-+
- #ifdef __NR_inotify_add_watch
- _syscall3(int, inotify_add_watch, int, fd, const char *, path, uint32_t, mask)
- #endif
-diff --git a/libc/sysdeps/linux/common/sys/inotify.h b/libc/sysdeps/linux/common/sys/inotify.h
-index 0131db9..dc4e19d 100644
---- a/libc/sysdeps/linux/common/sys/inotify.h
-+++ b/libc/sysdeps/linux/common/sys/inotify.h
-@@ -22,6 +22,16 @@
- #include <stdint.h>
-
-
-+/* Flags for the parameter of inotify_init1. */
-+enum
-+ {
-+ IN_CLOEXEC = 02000000,
-+#define IN_CLOEXEC IN_CLOEXEC
-+ IN_NONBLOCK = 04000
-+#define IN_NONBLOCK IN_NONBLOCK
-+ };
-+
-+
- /* Structure describing an inotify event. */
- struct inotify_event
- {
-@@ -79,6 +89,9 @@ __BEGIN_DECLS
- /* Create and initialize inotify instance. */
- extern int inotify_init (void) __THROW;
-
-+/* Create and initialize inotify instance. */
-+extern int inotify_init1 (int __flags) __THROW;
-+
- /* Add watch of object NAME to inotify instance FD. Notify about
- events specified by MASK. */
- extern int inotify_add_watch (int __fd, const char *__name, uint32_t __mask)
---
-1.7.3.4
-
diff --git a/package/uclibc/0.9.31.1/0003-add-sock-cloexec.patch b/package/uclibc/0.9.31.1/0003-add-sock-cloexec.patch
deleted file mode 100644
index a7089a9..0000000
--- a/package/uclibc/0.9.31.1/0003-add-sock-cloexec.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From 83333e9c873e4eca6b2c945f7770b1f5373b0427 Mon Sep 17 00:00:00 2001
-From: Vladimir Zapolskiy <vzapolskiy@gmail.com>
-Date: Tue, 1 Jun 2010 20:02:39 +0400
-Subject: [PATCH] bits/socket.h: add SOCK_CLOEXEC and SOCK_NONBLOCK support
-
-This patch adds support for SOCK_CLOEXEC and SOCK_NONBLOCK socket
-descriptor flags, which are introduced since Linux 2.6.27
-
-Signed-off-by: Vladimir Zapolskiy <vzapolskiy@gmail.com>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- libc/sysdeps/linux/common/bits/socket.h | 12 +++++++++++-
- 1 files changed, 11 insertions(+), 1 deletions(-)
-
-diff --git a/libc/sysdeps/linux/common/bits/socket.h b/libc/sysdeps/linux/common/bits/socket.h
-index ac5a433..11f6e97 100644
---- a/libc/sysdeps/linux/common/bits/socket.h
-+++ b/libc/sysdeps/linux/common/bits/socket.h
-@@ -53,10 +53,20 @@ enum __socket_type
- SOCK_SEQPACKET = 5, /* Sequenced, reliable, connection-based,
- datagrams of fixed maximum length. */
- #define SOCK_SEQPACKET SOCK_SEQPACKET
-- SOCK_PACKET = 10 /* Linux specific way of getting packets
-+ SOCK_PACKET = 10, /* Linux specific way of getting packets
- at the dev level. For writing rarp and
- other similar things on the user level. */
- #define SOCK_PACKET SOCK_PACKET
-+
-+ /* Flags to be ORed into the type parameter of socket and socketpair and
-+ used for the flags parameter of paccept. */
-+
-+ SOCK_CLOEXEC = 02000000, /* Atomically set close-on-exec flag for the
-+ new descriptor(s). */
-+#define SOCK_CLOEXEC SOCK_CLOEXEC
-+ SOCK_NONBLOCK = 04000 /* Atomically mark descriptor(s) as
-+ non-blocking. */
-+#define SOCK_NONBLOCK SOCK_NONBLOCK
- };
-
- /* Protocol families. */
---
-1.7.3.4
-
diff --git a/package/uclibc/0.9.31.1/0004-export-strverscmp.patch b/package/uclibc/0.9.31.1/0004-export-strverscmp.patch
deleted file mode 100644
index 19bc021..0000000
--- a/package/uclibc/0.9.31.1/0004-export-strverscmp.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 139b8f0c673fed465d27f99c98568e5d5e1b9b72 Mon Sep 17 00:00:00 2001
-From: Denys Vlasenko <vda.linux@googlemail.com>
-Date: Fri, 4 Jun 2010 13:36:30 +0200
-Subject: [PATCH] strverscmp: I forgot to export it
-
-Result was:
-
-strverscmp.o:
-000000ec T __GI_strverscmp
-
-i.e. no plain "strverscmp"!
-
-Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
----
- libc/string/strverscmp.c | 1 +
- 1 files changed, 1 insertions(+), 0 deletions(-)
-
-diff --git a/libc/string/strverscmp.c b/libc/string/strverscmp.c
-index 74ae4c6..b19e8f0 100644
---- a/libc/string/strverscmp.c
-+++ b/libc/string/strverscmp.c
-@@ -115,3 +115,4 @@ int strverscmp (const char *s1, const char *s2)
- return state;
- }
- }
-+libc_hidden_def(strverscmp)
---
-1.7.3.4
-
diff --git a/package/uclibc/0.9.31.1/0005-fix-daylight-saving-time-handling.patch b/package/uclibc/0.9.31.1/0005-fix-daylight-saving-time-handling.patch
deleted file mode 100644
index 5a96113..0000000
--- a/package/uclibc/0.9.31.1/0005-fix-daylight-saving-time-handling.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 47f3da1cf49377c25772bb54d07db55225bbb142 Mon Sep 17 00:00:00 2001
-From: Guillaume Bourcier <guillaumebourcier@free.fr>
-Date: Tue, 11 Oct 2011 13:45:33 +0200
-Subject: [PATCH] libc: fix daylight saving time handling
-
-The algorithm computing daylight saving time incorrectly adds a day for
-each month after January for leap years. The clock shift from/to DST can
-be delayed if the last Sunday of a transition month is exactly seven
-days before the first of the following month.
-
-This change adds a day for the February month only.
-
-Signed-off-by: Guillaume Bourcier <guillaumebourcier@free.fr>
-Signed-off-by: Richard Braun <rbraun@sceen.net>
-Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
-Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
----
- libc/misc/time/time.c | 2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/libc/misc/time/time.c b/libc/misc/time/time.c
-index 19d68e1..8e2ebf1 100644
---- a/libc/misc/time/time.c
-+++ b/libc/misc/time/time.c
-@@ -689,7 +689,7 @@ static int tm_isdst(register const struct tm *__restrict ptm,
- ++day;
- }
- monlen = 31 + day_cor[r->month -1] - day_cor[r->month];
-- if (isleap && (r->month > 1)) {
-+ if (isleap && (r->month == 2)) {
- ++monlen;
- }
- /* Wweekday (0 is Sunday) of 1st of the month
---
-1.7.3.4
-
diff --git a/package/uclibc/0.9.31.1/0006-fix-error-locale-utf-8.patch b/package/uclibc/0.9.31.1/0006-fix-error-locale-utf-8.patch
deleted file mode 100644
index 1305add..0000000
--- a/package/uclibc/0.9.31.1/0006-fix-error-locale-utf-8.patch
+++ /dev/null
@@ -1,17 +0,0 @@
----
- extra/locale/gen_wc8bit.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-Index: uClibc-0.9.31/extra/locale/gen_wc8bit.c
-===================================================================
---- uClibc-0.9.31.orig/extra/locale/gen_wc8bit.c
-+++ uClibc-0.9.31/extra/locale/gen_wc8bit.c
-@@ -120,7 +120,7 @@
- }
-
- locale_failure:
-- printf("could not find a UTF8 locale ... please enable en_US.UTF-8\n");
-+ fprintf(stderr, "could not find a UTF8 locale ... please enable en_US.UTF-8\n");
- return EXIT_FAILURE;
- locale_success:
- pclose(fp);
diff --git a/package/uclibc/0.9.31.1/0007-linuxthreads-errno-fix.patch b/package/uclibc/0.9.31.1/0007-linuxthreads-errno-fix.patch
deleted file mode 100644
index c49821b..0000000
--- a/package/uclibc/0.9.31.1/0007-linuxthreads-errno-fix.patch
+++ /dev/null
@@ -1,98 +0,0 @@
-From af8b2d71ce37b9d4d24ddbc755cdea68de02949a Mon Sep 17 00:00:00 2001
-From: Peter Korsgaard <jacmet@sunsite.dk>
-Date: Mon, 5 Jul 2010 14:08:17 +0200
-Subject: [PATCH] don't make __errno_location / __h_errno_location hidden
-
-Closes #2089 (https://bugs.busybox.net/show_bug.cgi?id=2089)
-
-__errno_location / __h_errno_location access has to go through the PLT
-like malloc/free, so the linuxthread variants gets used instead when
-compiling with -pthread.
-
-Based on http://github.com/mat-c/uClibc/commit/328d392c54aa5dc2b8e7f398a419087de497de2b
-
-Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
----
- include/netdb.h | 1 -
- libc/misc/internals/__errno_location.c | 3 ---
- libc/misc/internals/__h_errno_location.c | 1 -
- libc/misc/internals/__uClibc_main.c | 2 --
- libc/sysdeps/linux/common/bits/errno.h | 1 -
- libc/sysdeps/linux/common/bits/uClibc_errno.h | 3 ---
- 6 files changed, 0 insertions(+), 11 deletions(-)
-
-diff --git a/include/netdb.h b/include/netdb.h
-index 9d3807d..ac411ab 100644
---- a/include/netdb.h
-+++ b/include/netdb.h
-@@ -59,7 +59,6 @@ __BEGIN_DECLS
-
- /* Function to get address of global `h_errno' variable. */
- extern int *__h_errno_location (void) __THROW __attribute__ ((__const__));
--libc_hidden_proto(__h_errno_location)
-
- /* Macros for accessing h_errno from inside libc. */
- #ifdef _LIBC
-diff --git a/libc/misc/internals/__errno_location.c b/libc/misc/internals/__errno_location.c
-index 487a9c2..0620860 100644
---- a/libc/misc/internals/__errno_location.c
-+++ b/libc/misc/internals/__errno_location.c
-@@ -11,6 +11,3 @@ int * weak_const_function __errno_location (void)
- {
- return &errno;
- }
--#ifdef IS_IN_libc /* not really need, only to keep in sync w/ libc_hidden_proto */
--libc_hidden_weak(__errno_location)
--#endif
-diff --git a/libc/misc/internals/__h_errno_location.c b/libc/misc/internals/__h_errno_location.c
-index 213d398..235df4e 100644
---- a/libc/misc/internals/__h_errno_location.c
-+++ b/libc/misc/internals/__h_errno_location.c
-@@ -10,4 +10,3 @@ int * weak_const_function __h_errno_location (void)
- {
- return &h_errno;
- }
--libc_hidden_weak(__h_errno_location)
-diff --git a/libc/misc/internals/__uClibc_main.c b/libc/misc/internals/__uClibc_main.c
-index 6e520fa..f4a9ebb 100644
---- a/libc/misc/internals/__uClibc_main.c
-+++ b/libc/misc/internals/__uClibc_main.c
-@@ -64,9 +64,7 @@ void internal_function _dl_aux_init (ElfW(auxv_t) *av);
- * Prototypes.
- */
- extern int *weak_const_function __errno_location(void);
--libc_hidden_proto(__errno_location)
- extern int *weak_const_function __h_errno_location(void);
--libc_hidden_proto(__h_errno_location)
-
- extern void weak_function _stdio_init(void) attribute_hidden;
- #ifdef __UCLIBC_HAS_LOCALE__
-diff --git a/libc/sysdeps/linux/common/bits/errno.h b/libc/sysdeps/linux/common/bits/errno.h
-index 0bf6354..de9688a 100644
---- a/libc/sysdeps/linux/common/bits/errno.h
-+++ b/libc/sysdeps/linux/common/bits/errno.h
-@@ -43,7 +43,6 @@
- # ifndef __ASSEMBLER__
- /* Function to get address of global `errno' variable. */
- extern int *__errno_location (void) __THROW __attribute__ ((__const__));
--libc_hidden_proto(__errno_location)
-
- # ifdef __UCLIBC_HAS_THREADS__
- /* When using threads, errno is a per-thread value. */
-diff --git a/libc/sysdeps/linux/common/bits/uClibc_errno.h b/libc/sysdeps/linux/common/bits/uClibc_errno.h
-index 9c15618..79eb7e6 100644
---- a/libc/sysdeps/linux/common/bits/uClibc_errno.h
-+++ b/libc/sysdeps/linux/common/bits/uClibc_errno.h
-@@ -33,9 +33,6 @@ extern int *__errno_location (void) __THROW __attribute__ ((__const__))
- ;
- # if defined __UCLIBC_HAS_THREADS__
- # include <tls.h>
--# if defined USE___THREAD && USE___THREAD
--libc_hidden_proto(__errno_location)
--# endif
- # endif
-
- #endif /* !__ASSEMBLER__ */
---
-1.7.1
-
diff --git a/package/uclibc/0.9.31.1/0008-more-workarounds-GCC-PR32219.patch b/package/uclibc/0.9.31.1/0008-more-workarounds-GCC-PR32219.patch
deleted file mode 100644
index 9e69532..0000000
--- a/package/uclibc/0.9.31.1/0008-more-workarounds-GCC-PR32219.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From aa67771881d65373da448ad5f7a8393f3a1d9469 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Timo=20Ter=C3=A4s?= <timo.teras@iki.fi>
-Date: Wed, 30 Jun 2010 14:46:37 +0300
-Subject: [PATCH] more workarounds for GCC PR32219
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Commit 2e53dd645d5348f207cec7f8595969dc566c5a55 workarounds GCC
-bug when accessing _locale_init and _stdio_init. We need the same
-fix for __errno_location and __h_errno_location otherwise we crash
-calling null with static and non-threaded builds.
-
-Signed-off-by: Timo Ter?s <timo.teras@iki.fi>
-Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
----
- libc/misc/internals/__uClibc_main.c | 4 ++--
- 1 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/libc/misc/internals/__uClibc_main.c b/libc/misc/internals/__uClibc_main.c
-index 3f09ad2..58f6643 100644
---- a/libc/misc/internals/__uClibc_main.c
-+++ b/libc/misc/internals/__uClibc_main.c
-@@ -447,11 +447,11 @@ void __uClibc_main(int (*main)(int, char **, char **), int argc,
- * have resulted in errno being set nonzero, so set it to 0 before
- * we call main.
- */
-- if (likely(__errno_location!=NULL))
-+ if (likely(not_null_ptr(__errno_location)))
- *(__errno_location()) = 0;
-
- /* Set h_errno to 0 as well */
-- if (likely(__h_errno_location!=NULL))
-+ if (likely(not_null_ptr(__h_errno_location)))
- *(__h_errno_location()) = 0;
-
- #if defined HAVE_CLEANUP_JMP_BUF && defined __UCLIBC_HAS_THREADS_NATIVE__
---
-1.7.1
-
diff --git a/package/uclibc/0.9.31.1/0009-unshare.patch b/package/uclibc/0.9.31.1/0009-unshare.patch
deleted file mode 100644
index ad440d9..0000000
--- a/package/uclibc/0.9.31.1/0009-unshare.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-Backport of unshare() syscall.
-From uClibc git 19dd090a0f68765db87990ef8eda9bf77bb29581
-
-Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
-
----
-diff -Nura uClibc-0.9.31.1.orig/libc/sysdeps/linux/common/bits/sched.h uClibc-0.9.31.1/libc/sysdeps/linux/common/bits/sched.h
---- uClibc-0.9.31.1.orig/libc/sysdeps/linux/common/bits/sched.h 2011-06-08 15:58:40.000000000 -0300
-+++ uClibc-0.9.31.1/libc/sysdeps/linux/common/bits/sched.h 2011-12-05 08:10:02.491978849 -0300
-@@ -58,7 +58,13 @@
- force CLONE_PTRACE on this clone. */
- # define CLONE_CHILD_SETTID 0x01000000 /* Store TID in userlevel buffer in
- the child. */
--# define CLONE_STOPPED 0x02000000 /* Start in stopped state. */
-+# define CLONE_STOPPED 0x02000000 /* Start in stopped state. */
-+# define CLONE_NEWUTS 0x04000000 /* New utsname group. */
-+# define CLONE_NEWIPC 0x08000000 /* New ipcs. */
-+# define CLONE_NEWUSER 0x10000000 /* New user namespace. */
-+# define CLONE_NEWPID 0x20000000 /* New pid namespace. */
-+# define CLONE_NEWNET 0x40000000 /* New network namespace. */
-+# define CLONE_IO 0x80000000 /* Clone I/O context. */
- #endif
-
- /* The official definition. */
-@@ -74,11 +80,9 @@
- extern int clone (int (*__fn) (void *__arg), void *__child_stack,
- int __flags, void *__arg, ...) __THROW;
-
--#if 0
- /* Unshare the specified resources. */
- extern int unshare (int __flags) __THROW;
- #endif
--#endif
-
- __END_DECLS
-
-diff -Nura uClibc-0.9.31.1.orig/libc/sysdeps/linux/common/Makefile.in uClibc-0.9.31.1/libc/sysdeps/linux/common/Makefile.in
---- uClibc-0.9.31.1.orig/libc/sysdeps/linux/common/Makefile.in 2011-06-08 15:58:40.000000000 -0300
-+++ uClibc-0.9.31.1/libc/sysdeps/linux/common/Makefile.in 2011-12-05 08:23:28.353757602 -0300
-@@ -31,7 +31,8 @@
- remap_file_pages.c sched_getaffinity.c sched_setaffinity.c \
- sendfile64.c sendfile.c setfsgid.c setfsuid.c setresuid.c \
- splice.c vmsplice.c tee.c signalfd.c swapoff.c swapon.c \
-- sync_file_range.c sysctl.c sysinfo.c timerfd.c uselib.c vhangup.c,$(CSRC))
-+ sync_file_range.c sysctl.c sysinfo.c timerfd.c unshare.c uselib.c \
-+ vhangup.c,$(CSRC))
- endif
-
- ifneq ($(UCLIBC_BSD_SPECIFIC),y)
-diff -Nura uClibc-0.9.31.1.orig/libc/sysdeps/linux/common/unshare.c uClibc-0.9.31.1/libc/sysdeps/linux/common/unshare.c
---- uClibc-0.9.31.1.orig/libc/sysdeps/linux/common/unshare.c 1969-12-31 21:00:00.000000000 -0300
-+++ uClibc-0.9.31.1/libc/sysdeps/linux/common/unshare.c 2011-12-05 08:22:45.954453512 -0300
-@@ -0,0 +1,21 @@
-+/* vi: set sw=4 ts=4: */
-+/*
-+ * unshare() for uClibc
-+ *
-+ * Copyright (C) 2011 Henning Heinold <heinold@inf.fu-berlin.de>
-+ *
-+ * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
-+ */
-+
-+#include <sys/syscall.h>
-+#include <sched.h>
-+
-+#if defined __NR_unshare && defined __UCLIBC_LINUX_SPECIFIC__
-+_syscall1(int, unshare, int, flags)
-+#else
-+int unshare(int flags)
-+{
-+ __set_errno(ENOSYS);
-+ return -1;
-+}
-+#endif
diff --git a/package/uclibc/0.9.31.1/0010-workaround-GCC-PR32219.patch b/package/uclibc/0.9.31.1/0010-workaround-GCC-PR32219.patch
deleted file mode 100644
index 242a526..0000000
--- a/package/uclibc/0.9.31.1/0010-workaround-GCC-PR32219.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From 2e53dd645d5348f207cec7f8595969dc566c5a55 Mon Sep 17 00:00:00 2001
-From: Denys Vlasenko <vda.linux@googlemail.com>
-Date: Mon, 17 May 2010 15:56:19 +0200
-Subject: [PATCH] workaround GCC PR32219
-
-we ended up calling 0
-Fixes bug #1033
-
-Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
----
- libc/misc/internals/__uClibc_main.c | 15 +++++++++++++--
- 1 files changed, 13 insertions(+), 2 deletions(-)
-
-diff --git a/libc/misc/internals/__uClibc_main.c b/libc/misc/internals/__uClibc_main.c
-index f9e1244..4ee4443 100644
---- a/libc/misc/internals/__uClibc_main.c
-+++ b/libc/misc/internals/__uClibc_main.c
-@@ -105,6 +105,17 @@ _pthread_cleanup_pop_restore(struct _pthread_cleanup_buffer *__buffer,
-
- #endif /* !SHARED */
-
-+/* Defeat compiler optimization which assumes function addresses are never NULL */
-+static __always_inline int not_null_ptr(const void *p)
-+{
-+ const void *q;
-+ __asm__ (""
-+ : "=r" (q) /* output */
-+ : "0" (p) /* input */
-+ );
-+ return q != 0;
-+}
-+
- /*
- * Prototypes.
- */
-@@ -254,7 +265,7 @@ void __uClibc_init(void)
-
- #ifdef __UCLIBC_HAS_LOCALE__
- /* Initialize the global locale structure. */
-- if (likely(_locale_init!=NULL))
-+ if (likely(not_null_ptr(_locale_init)))
- _locale_init();
- #endif
-
-@@ -264,7 +275,7 @@ void __uClibc_init(void)
- * Thus we get a nice size savings because the stdio functions
- * won't be pulled into the final static binary unless used.
- */
-- if (likely(_stdio_init != NULL))
-+ if (likely(not_null_ptr(_stdio_init)))
- _stdio_init();
-
- }
---
-1.7.1
-
diff --git a/package/uclibc/0.9.31.1/0011-startfiles-Make-targets.patch b/package/uclibc/0.9.31.1/0011-startfiles-Make-targets.patch
deleted file mode 100644
index 9a7f304..0000000
--- a/package/uclibc/0.9.31.1/0011-startfiles-Make-targets.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-Add startfiles and install_startfiles targets to the top-level Makefile, as
-in uClibc 0.9.32 and later.
-
-Signed-off-by: Simon Dawson <spdawson@gmail.com>
-
-diff -Nurp a/Makefile.help b/Makefile.help
---- a/Makefile.help 2011-06-08 19:58:40.000000000 +0100
-+++ b/Makefile.help 2013-08-10 21:17:46.572104259 +0100
-@@ -14,6 +14,7 @@ help:
- @echo 'Build:'
- @echo ' all - libraries and generated headers'
- @echo ' pregen - generate headers'
-+ @echo ' startfiles - build startfiles (crt)'
- @echo ' utils - build target utilities'
- @echo ' (ldd, ldconfig, locale, iconv)'
- @echo ' hostutils - build host utilities (see utils)'
-@@ -32,6 +33,7 @@ help:
- @echo ' install - install both the runtime and the headers'
- @echo ' install_runtime - install the libraries'
- @echo ' install_dev - install all headers and static libs'
-+ @echo ' install_startfiles - install startfiles (crt)'
- @echo ' install_headers - install headers excluding generated ones'
- @echo ' install_utils - install target utilities'
- @echo ' install_hostutils - install host utilities'
-diff -Nurp a/Makefile.in b/Makefile.in
---- a/Makefile.in 2011-06-08 19:58:40.000000000 +0100
-+++ b/Makefile.in 2013-08-10 21:10:55.248649101 +0100
-@@ -193,6 +193,8 @@ install: install_runtime install_dev
-
- RUNTIME_PREFIX_LIB_FROM_DEVEL_PREFIX_LIB=$(shell $(top_srcdir)extra/scripts/relative_path.sh $(DEVEL_PREFIX)$(MULTILIB_DIR) $(RUNTIME_PREFIX)$(MULTILIB_DIR))
-
-+startfiles: $(crt-y)
-+
- $(top_builddir)extra/scripts/unifdef: |$(top_builddir)extra/scripts
- $(top_builddir)extra/scripts/unifdef: $(top_srcdir)extra/scripts/unifdef.c
- $(hcompile.u)
-@@ -301,6 +303,10 @@ else
- cd $(PREFIX)$(DEVEL_PREFIX)include && $(RM) -f wchar-stub.h
- endif
-
-+# Installs startfiles
-+install_startfiles: startfiles | $(PREFIX)$(DEVEL_PREFIX)$(MULTILIB_DIR)
-+ -$(INSTALL) -m 644 $(startfiles) $(PREFIX)$(DEVEL_PREFIX)$(MULTILIB_DIR)/
-+
- # Installs development library links.
- install_dev: install_headers install_runtime | $(PREFIX)$(DEVEL_PREFIX)$(MULTILIB_DIR)
- -$(INSTALL) -m 644 $(top_builddir)lib/*.[ao] $(PREFIX)$(DEVEL_PREFIX)$(MULTILIB_DIR)/
-diff -Nurp a/Makerules b/Makerules
---- a/Makerules 2011-06-08 19:58:40.000000000 +0100
-+++ b/Makerules 2013-08-10 21:24:21.287583111 +0100
-@@ -406,7 +406,8 @@ endif
- CRTS_COMPAT :=
- #endif
-
--$(crt-y): $(CRTS) $(CTOR_TARGETS) $(CRTS_COMPAT) $(CRTRELOC)
-+startfiles = $(CRTS) $(CTOR_TARGETS) $(CRTS_COMPAT) $(CRTRELOC)
-+$(crt-y): $(startfiles)
- $(CRTS) $(CTOR_TARGETS) $(CRTS_COMPAT) $(CRTRELOC): | headers
-
- $(top_builddir)lib/$(NONSHARED_LIBNAME): $(libc-nonshared-y)
diff --git a/package/uclibc/0.9.31.1/0012-netlinkaccess-header-types.patch b/package/uclibc/0.9.31.1/0012-netlinkaccess-header-types.patch
deleted file mode 100644
index bc981a4..0000000
--- a/package/uclibc/0.9.31.1/0012-netlinkaccess-header-types.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-Using kernel headers newer than 3.6.x, uclibc 0.9.31.1 fails to build:
-
- In file included from output/host/usr/avr32-buildroot-linux-uclibc/sysroot/usr/include/linux/rtnetlink.h:6,
- from libc/inet/netlinkaccess.h:34,
- from libc/inet/if_index.c:36:
- output/host/usr/avr32-buildroot-linux-uclibc/sysroot/usr/include/linux/if_link.h:314: error: expected specifier-qualifier-list before '__be16'
- make[1]: *** [libc/inet/if_index.os] Error 1
- make[1]: Leaving directory `output/build/uclibc-0.9.31.1'
- make: *** [output/build/uclibc-0.9.31.1/.stamp_built] Error 2
-
-This patch adjusts the system type definitions in the netlinkaccess.h
-header, updating the types to match those used in uClibc 0.9.33.2.
-
-Signed-off-by: Simon Dawson <spdawson@gmail.com>
-
-diff -Nurp a/libc/inet/netlinkaccess.h b/libc/inet/netlinkaccess.h
---- a/libc/inet/netlinkaccess.h 2011-06-08 19:58:40.000000000 +0100
-+++ b/libc/inet/netlinkaccess.h 2012-12-20 12:16:34.251965672 +0000
-@@ -22,15 +22,8 @@
- #include <features.h>
- #include <stdint.h>
- #include <unistd.h>
--#include <sys/types.h>
--
- #if defined __ASSUME_NETLINK_SUPPORT || defined __UCLIBC_USE_NETLINK__
--#define _LINUX_TYPES_H
--typedef uint8_t __u8;
--typedef uint16_t __u16;
--typedef uint32_t __u32;
--typedef uint64_t __u64;
--typedef int32_t __s32;
-+#include <asm/types.h>
- #include <linux/rtnetlink.h>
- #include <linux/netlink.h>
-
diff --git a/package/uclibc/0.9.31.1/0013-libc-sysdeps-add-__kernel_long-and-__kernel_ulong.patch b/package/uclibc/0.9.31.1/0013-libc-sysdeps-add-__kernel_long-and-__kernel_ulong.patch
deleted file mode 100644
index 55cb0c5..0000000
--- a/package/uclibc/0.9.31.1/0013-libc-sysdeps-add-__kernel_long-and-__kernel_ulong.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-libc/sysdeps: add __kernel_long and __kernel_ulong
-
-Linux 3.4 added __kernel_long_t and __kernel_ulong_t and various
-exported header files were updated to use these new types. Add the
-definitions for __kernel_long_t and __kernel_ulong_t to the relevant
-kernel_types.h headers.
-
-Signed-off-by: Simon Dawson <spdawson@gmail.com>
-
-diff -Nurp a/libc/sysdeps/linux/avr32/bits/kernel_types.h b/libc/sysdeps/linux/avr32/bits/kernel_types.h
---- a/libc/sysdeps/linux/avr32/bits/kernel_types.h 2011-06-08 19:58:40.000000000 +0100
-+++ b/libc/sysdeps/linux/avr32/bits/kernel_types.h 2013-11-15 08:01:09.209037851 +0000
-@@ -39,6 +39,8 @@ typedef unsigned int __kernel_gid32_t;
- typedef unsigned short __kernel_old_uid_t;
- typedef unsigned short __kernel_old_gid_t;
- typedef unsigned short __kernel_old_dev_t;
-+typedef long __kernel_long_t;
-+typedef unsigned long __kernel_ulong_t;
-
- #ifdef __GNUC__
- typedef long long __kernel_loff_t;
diff --git a/package/uclibc/0.9.31.1/0014-Do-not-include-__iconv_codesets-into-iconv-utility.patch b/package/uclibc/0.9.31.1/0014-Do-not-include-__iconv_codesets-into-iconv-utility.patch
deleted file mode 100644
index 4b6a701..0000000
--- a/package/uclibc/0.9.31.1/0014-Do-not-include-__iconv_codesets-into-iconv-utility.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-uclibc: Do not include __iconv_codesets into iconv utility
-
-Backporting an upstream patch to fix a problem in the install step:
-
-make[1]: Entering directory `/br/output/build/uclibc-0.9.31.1'
-make[2]: Nothing to be done for `locale_headers'.
- CC utils/getconf
- STRIP -x -R .note -R .comment ../utils/getconf
- CC utils/iconv
-../lib/libc.a(iconv.os):(.rodata+0x18): multiple definition of
-`__iconv_codesets'
-/tmp/ccVmV8Lq.o:(.rodata+0x18): first defined here
-collect2: error: ld returned 1 exit status
-
-Upstream commit:
- http://git.uclibc.org/uClibc/commit/?id=d46dc8bc88e38251bfa3712efe7abf62933f5419
-
-Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
-
-From d46dc8bc88e38251bfa3712efe7abf62933f5419 Mon Sep 17 00:00:00 2001
-From: Peter S. Mazinger <ps.m@gmx.net>
-Date: Thu, 24 Mar 2011 00:15:25 +0000
-Subject: iconv: Do not include __iconv_codesets into iconv utility
-
-Host iconv needs only L_iconv_main defined and __iconv_codesets
-has to included, as host system does not provide it.
-Keep __iconv_codesets out of iconv linked against uClibc.
-
-Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
-Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
----
-diff --git a/libc/misc/wchar/wchar.c b/libc/misc/wchar/wchar.c
-index 412c557..0704096 100644
---- a/libc/misc/wchar/wchar.c
-+++ b/libc/misc/wchar/wchar.c
-@@ -1196,6 +1196,9 @@ libc_hidden_proto(__iconv_codesets)
- #endif
-
- #if defined L_iconv || defined L_iconv_main
-+# ifdef L_iconv_main
-+static
-+# endif
- const unsigned char __iconv_codesets[] =
- "\x0a\xe0""WCHAR_T\x00" /* superset of UCS-4 but platform-endian */
- #if __BYTE_ORDER == __BIG_ENDIAN
-diff --git a/utils/Makefile.in b/utils/Makefile.in
-index bb85be3..1714d28 100644
---- a/utils/Makefile.in
-+++ b/utils/Makefile.in
-@@ -36,8 +36,7 @@ CFLAGS-ldd := $(CFLAGS-utils-shared) -DBUILDING_LINKAGE
- # Need CFLAGS-utils explicitly, because the source file is not located in utils
- CFLAGS-iconv := $(CFLAGS-utils) \
- $(CFLAGS-utils-shared) \
-- -I$(top_srcdir)libc/misc/wchar \
-- -DL_iconv_main \
-+ -I$(top_srcdir)libc/misc/wchar
-
- CFLAGS-locale := $(CFLAGS-utils)
- CFLAGS-getconf :=$(CFLAGS-utils) \
-diff --git a/utils/iconv.c b/utils/iconv.c
-index 04e2c32..a0260df 100644
---- a/utils/iconv.c
-+++ b/utils/iconv.c
-@@ -108,7 +108,12 @@
- #include <wchar.h>
- #include "wchar.c" /* for _UC_iconv_t and __iconv_codesets */
-
--extern const unsigned char __iconv_codesets[];
-+#ifdef L_iconv_main
-+static
-+#else
-+extern
-+#endif
-+const unsigned char __iconv_codesets[];
-
- #define IBUF BUFSIZ
- #define OBUF BUFSIZ
---
-cgit v0.9.1
diff --git a/package/uclibc/0.9.33.2/0004-libc-sysdeps-add-__kernel_long-and-__kernel_ulong.patch b/package/uclibc/0.9.33.2/0004-libc-sysdeps-add-__kernel_long-and-__kernel_ulong.patch
index 0381ba8..edd68f1 100644
--- a/package/uclibc/0.9.33.2/0004-libc-sysdeps-add-__kernel_long-and-__kernel_ulong.patch
+++ b/package/uclibc/0.9.33.2/0004-libc-sysdeps-add-__kernel_long-and-__kernel_ulong.patch
@@ -15,9 +15,12 @@ This change was automated with the following scriptlet
typedef long\t\t__kernel_long_t;\
typedef unsigned long\t__kernel_ulong_t;'
-Whitespace in arm, avr32, hppa, sparc was then manually fixed up.
+Whitespace in arm, hppa, sparc was then manually fixed up.
Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
+[yann.morin.1998 at free.fr: remove avr32 bits, now Buildroot no longer
+ supports it]
+Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
--
Here's a cleaned up patch which should get the whitespace right. I'm a
bit iffy about the sparc changes they make sense to me but it's not a
@@ -27,7 +30,6 @@ I can break this up per arch or per maintainer if requested.
libc/sysdeps/linux/alpha/bits/kernel_types.h | 2 ++
libc/sysdeps/linux/arm/bits/kernel_types.h | 2 ++
- libc/sysdeps/linux/avr32/bits/kernel_types.h | 2 ++
libc/sysdeps/linux/bfin/bits/kernel_types.h | 2 ++
libc/sysdeps/linux/c6x/bits/kernel_types.h | 2 ++
libc/sysdeps/linux/cris/bits/kernel_types.h | 2 ++
@@ -54,7 +56,6 @@ Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
libc/sysdeps/linux/alpha/bits/kernel_types.h | 2 ++
libc/sysdeps/linux/arm/bits/kernel_types.h | 2 ++
- libc/sysdeps/linux/avr32/bits/kernel_types.h | 2 ++
libc/sysdeps/linux/bfin/bits/kernel_types.h | 2 ++
libc/sysdeps/linux/c6x/bits/kernel_types.h | 2 ++
libc/sysdeps/linux/cris/bits/kernel_types.h | 2 ++
@@ -102,19 +103,6 @@ index 766a306..6b36f32 100644
typedef struct {
#ifdef __USE_ALL
-diff --git a/libc/sysdeps/linux/avr32/bits/kernel_types.h b/libc/sysdeps/linux/avr32/bits/kernel_types.h
-index f7d8b52..c551d57 100644
---- a/libc/sysdeps/linux/avr32/bits/kernel_types.h
-+++ b/libc/sysdeps/linux/avr32/bits/kernel_types.h
-@@ -39,6 +39,8 @@ typedef unsigned int __kernel_gid32_t;
- typedef unsigned short __kernel_old_uid_t;
- typedef unsigned short __kernel_old_gid_t;
- typedef unsigned short __kernel_old_dev_t;
-+typedef long __kernel_long_t;
-+typedef unsigned long __kernel_ulong_t;
-
- #ifdef __GNUC__
- typedef long long __kernel_loff_t;
diff --git a/libc/sysdeps/linux/bfin/bits/kernel_types.h b/libc/sysdeps/linux/bfin/bits/kernel_types.h
index d69a875..9fec595 100644
--- a/libc/sysdeps/linux/bfin/bits/kernel_types.h
diff --git a/package/uclibc/0.9.33.2/0005-Patch-from-OpenWRT-for-avr32.patch b/package/uclibc/0.9.33.2/0005-Patch-from-OpenWRT-for-avr32.patch
deleted file mode 100644
index 9b6be2b..0000000
--- a/package/uclibc/0.9.33.2/0005-Patch-from-OpenWRT-for-avr32.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From b0bbb35065e1c8fdd308573f38eed35c30760d87 Mon Sep 17 00:00:00 2001
-From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-Date: Sat, 13 Jul 2013 17:14:49 +0200
-Subject: [PATCH 5/8] Patch from OpenWRT for avr32.
-
-https://dev.openwrt.org/browser/trunk/toolchain/uClibc/patches-0.9.32/140-avr32_atomic_fix.patch
-
-Signed-off-by: Simon Dawson <spdawson@gmail.com>
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
----
- libc/sysdeps/linux/avr32/bits/atomic.h | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/libc/sysdeps/linux/avr32/bits/atomic.h b/libc/sysdeps/linux/avr32/bits/atomic.h
-index e6be41f..3bc2aee 100644
---- a/libc/sysdeps/linux/avr32/bits/atomic.h
-+++ b/libc/sysdeps/linux/avr32/bits/atomic.h
-@@ -28,6 +28,7 @@ typedef uintmax_t uatomic_max_t;
-
- #define __arch_compare_and_exchange_val_32_acq(mem, newval, oldval) \
- ({ \
-+ __uint32_t __result; \
- __typeof__(*(mem)) __prev; \
- __asm__ __volatile__( \
- "/* __arch_compare_and_exchange_val_32_acq */\n" \
---
-1.8.1.2
-
diff --git a/package/uclibc/Config.in b/package/uclibc/Config.in
index 020c47c..aa99a6f 100644
--- a/package/uclibc/Config.in
+++ b/package/uclibc/Config.in
@@ -13,13 +13,9 @@ choice
help
Select the version of uClibc you wish to use.
- config BR2_UCLIBC_VERSION_0_9_31
- bool "uClibc 0.9.31.x"
- depends on BR2_avr32
-
config BR2_UCLIBC_VERSION_0_9_33
bool "uClibc 0.9.33.x"
- depends on !(BR2_arc || BR2_avr32 || BR2_xtensa)
+ depends on !(BR2_arc || BR2_xtensa)
config BR2_UCLIBC_VERSION_XTENSA_GIT
bool "uClibc Git Xtensa"
@@ -40,7 +36,6 @@ config BR2_USE_UCLIBC_SNAPSHOT
config BR2_UCLIBC_VERSION_STRING
string
- default 0.9.31.1 if BR2_UCLIBC_VERSION_0_9_31
default 0.9.33.2 if BR2_UCLIBC_VERSION_0_9_33
default "arc-2014.12" if BR2_arc
default "7bf35c8b7d4a1f97174eb49f47f33946b282114c" if BR2_UCLIBC_VERSION_XTENSA_GIT
@@ -48,7 +43,6 @@ config BR2_UCLIBC_VERSION_STRING
config BR2_UCLIBC_CONFIG
string "uClibc configuration file to use?"
- default "package/uclibc/uClibc-0.9.31.config" if BR2_UCLIBC_VERSION_0_9_31
default "package/uclibc/uClibc-0.9.33.config" if BR2_UCLIBC_VERSION_0_9_33
default "package/uclibc/uClibc-snapshot.config" if BR2_arc
default "package/uclibc/uClibc-snapshot.config" if BR2_UCLIBC_VERSION_SNAPSHOT
@@ -98,7 +92,7 @@ config BR2_TOOLCHAIN_BUILDROOT_LOCALE
choice
prompt "Thread library implementation"
- default BR2_PTHREADS_NATIVE if !(BR2_avr32 || BR2_xtensa)
+ default BR2_PTHREADS_NATIVE if !BR2_xtensa
default BR2_PTHREADS_OLD
help
Use this option to select the thread library implementation
@@ -125,7 +119,6 @@ choice
select BR2_TOOLCHAIN_HAS_THREADS
select BR2_TOOLCHAIN_HAS_THREADS_NPTL
depends on !BR2_arc
- depends on !BR2_avr32
depends on !BR2_bfin
depends on !BR2_xtensa
depends on !BR2_x86_i386
@@ -183,7 +176,6 @@ config BR2_UCLIBC_TARGET_ARCH
string
default arc if BR2_arcle || BR2_arceb
default arm if BR2_arm || BR2_armeb
- default avr32 if BR2_avr32
default bfin if BR2_bfin
default m68k if BR2_m68k
default mips if BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el
diff --git a/package/uclibc/uClibc-0.9.31.config b/package/uclibc/uClibc-0.9.31.config
deleted file mode 100644
index 83df7d0..0000000
--- a/package/uclibc/uClibc-0.9.31.config
+++ /dev/null
@@ -1,258 +0,0 @@
-#
-# Automatically generated make config: don't edit
-# Version: 0.9.31
-# Sun Apr 4 10:43:39 2010
-#
-# TARGET_alpha is not set
-# TARGET_arm is not set
-# TARGET_avr32 is not set
-# TARGET_bfin is not set
-# TARGET_cris is not set
-# TARGET_e1 is not set
-# TARGET_frv is not set
-# TARGET_h8300 is not set
-# TARGET_hppa is not set
-# TARGET_i386 is not set
-# TARGET_i960 is not set
-# TARGET_ia64 is not set
-# TARGET_m68k is not set
-# TARGET_microblaze is not set
-# TARGET_mips is not set
-# TARGET_nios is not set
-# TARGET_nios2 is not set
-# TARGET_powerpc is not set
-# TARGET_sh is not set
-# TARGET_sh64 is not set
-# TARGET_sparc is not set
-# TARGET_v850 is not set
-# TARGET_vax is not set
-# TARGET_x86_64 is not set
-# TARGET_xtensa is not set
-
-#
-# Target Architecture Features and Options
-#
-TARGET_ARCH="none"
-FORCE_OPTIONS_FOR_ARCH=y
-# ARCH_LITTLE_ENDIAN is not set
-# ARCH_BIG_ENDIAN is not set
-# ARCH_WANTS_LITTLE_ENDIAN is not set
-# ARCH_WANTS_BIG_ENDIAN is not set
-TARGET_SUBARCH=""
-
-#
-# Using Little Endian
-#
-ARCH_HAS_MMU=y
-ARCH_USE_MMU=y
-UCLIBC_HAS_FLOATS=y
-UCLIBC_HAS_FPU=y
-DO_C99_MATH=y
-# DO_XSI_MATH is not set
-# UCLIBC_HAS_FENV is not set
-UCLIBC_HAS_LONG_DOUBLE_MATH=y
-KERNEL_HEADERS="/usr/src/linux/include"
-HAVE_DOT_CONFIG=y
-
-#
-# General Library Settings
-#
-# HAVE_NO_PIC is not set
-DOPIC=y
-# ARCH_HAS_NO_SHARED is not set
-# ARCH_HAS_NO_LDSO is not set
-# FORCE_SHAREABLE_TEXT_SEGMENTS is not set
-LDSO_LDD_SUPPORT=y
-# LDSO_CACHE_SUPPORT is not set
-# LDSO_PRELOAD_FILE_SUPPORT is not set
-# UCLIBC_STATIC_LDCONFIG is not set
-LDSO_RUNPATH=y
-LDSO_SEARCH_INTERP_PATH=y
-UCLIBC_CTOR_DTOR=y
-# LDSO_GNU_HASH_SUPPORT is not set
-# HAS_NO_THREADS is not set
-LINUXTHREADS_OLD=y
-# LINUXTHREADS_NEW is not set
-UCLIBC_HAS_THREADS=y
-# PTHREADS_DEBUG_SUPPORT is not set
-UCLIBC_HAS_SYSLOG=y
-UCLIBC_HAS_LFS=y
-# MALLOC is not set
-# MALLOC_SIMPLE is not set
-MALLOC_STANDARD=y
-MALLOC_GLIBC_COMPAT=y
-UCLIBC_DYNAMIC_ATEXIT=y
-# COMPAT_ATEXIT is not set
-UCLIBC_SUSV3_LEGACY=y
-# UCLIBC_SUSV3_LEGACY_MACROS is not set
-UCLIBC_SUSV4_LEGACY=y
-# UCLIBC_HAS_STUBS is not set
-UCLIBC_HAS_SHADOW=y
-UCLIBC_HAS_PROGRAM_INVOCATION_NAME=y
-UCLIBC_HAS___PROGNAME=y
-UCLIBC_HAS_PTY=y
-ASSUME_DEVPTS=y
-UNIX98PTY_ONLY=y
-UCLIBC_HAS_GETPT=y
-UCLIBC_HAS_LIBUTIL=y
-UCLIBC_HAS_TM_EXTENSIONS=y
-UCLIBC_HAS_TZ_CACHING=y
-UCLIBC_HAS_TZ_FILE=y
-UCLIBC_HAS_TZ_FILE_READ_MANY=y
-UCLIBC_TZ_FILE_PATH="/etc/TZ"
-
-#
-# Advanced Library Settings
-#
-UCLIBC_PWD_BUFFER_SIZE=256
-UCLIBC_GRP_BUFFER_SIZE=256
-
-#
-# Support various families of functions
-#
-UCLIBC_LINUX_MODULE_24=y
-UCLIBC_LINUX_SPECIFIC=y
-UCLIBC_HAS_GNU_ERROR=y
-UCLIBC_BSD_SPECIFIC=y
-UCLIBC_HAS_BSD_ERR=y
-# UCLIBC_HAS_OBSOLETE_BSD_SIGNAL is not set
-# UCLIBC_HAS_OBSOLETE_SYSV_SIGNAL is not set
-# UCLIBC_NTP_LEGACY is not set
-UCLIBC_SV4_DEPRECATED=y
-UCLIBC_HAS_REALTIME=y
-UCLIBC_HAS_ADVANCED_REALTIME=y
-UCLIBC_HAS_EPOLL=y
-UCLIBC_HAS_XATTR=y
-UCLIBC_HAS_PROFILING=y
-UCLIBC_HAS_CRYPT_IMPL=y
-UCLIBC_HAS_CRYPT=y
-UCLIBC_HAS_NETWORK_SUPPORT=y
-UCLIBC_HAS_SOCKET=y
-UCLIBC_HAS_IPV4=y
-# UCLIBC_HAS_IPV6 is not set
-# UCLIBC_HAS_RPC is not set
-# UCLIBC_HAS_FULL_RPC is not set
-# UCLIBC_HAS_REENTRANT_RPC is not set
-UCLIBC_USE_NETLINK=y
-UCLIBC_SUPPORT_AI_ADDRCONFIG=y
-# UCLIBC_HAS_BSD_RES_CLOSE is not set
-UCLIBC_HAS_COMPAT_RES_STATE=y
-# UCLIBC_HAS_EXTRA_COMPAT_RES_STATE is not set
-UCLIBC_HAS_LIBRESOLV_STUB=y
-UCLIBC_HAS_LIBNSL_STUB=y
-
-#
-# String and Stdio Support
-#
-UCLIBC_HAS_STRING_GENERIC_OPT=y
-UCLIBC_HAS_STRING_ARCH_OPT=y
-UCLIBC_HAS_CTYPE_TABLES=y
-UCLIBC_HAS_CTYPE_SIGNED=y
-# UCLIBC_HAS_CTYPE_UNSAFE is not set
-UCLIBC_HAS_CTYPE_CHECKED=y
-# UCLIBC_HAS_CTYPE_ENFORCED is not set
-# UCLIBC_HAS_WCHAR is not set
-# UCLIBC_HAS_LOCALE is not set
-UCLIBC_HAS_HEXADECIMAL_FLOATS=y
-UCLIBC_HAS_GLIBC_CUSTOM_PRINTF=y
-# USE_OLD_VFPRINTF is not set
-UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS=9
-UCLIBC_HAS_SCANF_GLIBC_A_FLAG=y
-# UCLIBC_HAS_STDIO_BUFSIZ_NONE is not set
-# UCLIBC_HAS_STDIO_BUFSIZ_256 is not set
-# UCLIBC_HAS_STDIO_BUFSIZ_512 is not set
-# UCLIBC_HAS_STDIO_BUFSIZ_1024 is not set
-# UCLIBC_HAS_STDIO_BUFSIZ_2048 is not set
-UCLIBC_HAS_STDIO_BUFSIZ_4096=y
-# UCLIBC_HAS_STDIO_BUFSIZ_8192 is not set
-UCLIBC_HAS_STDIO_BUILTIN_BUFFER_NONE=y
-# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_4 is not set
-# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_8 is not set
-# UCLIBC_HAS_STDIO_SHUTDOWN_ON_ABORT is not set
-# UCLIBC_HAS_STDIO_GETC_MACRO is not set
-# UCLIBC_HAS_STDIO_PUTC_MACRO is not set
-UCLIBC_HAS_STDIO_AUTO_RW_TRANSITION=y
-# UCLIBC_HAS_FOPEN_LARGEFILE_MODE is not set
-UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE=y
-UCLIBC_HAS_GLIBC_CUSTOM_STREAMS=y
-UCLIBC_HAS_PRINTF_M_SPEC=y
-UCLIBC_HAS_ERRNO_MESSAGES=y
-# UCLIBC_HAS_SYS_ERRLIST is not set
-UCLIBC_HAS_SIGNUM_MESSAGES=y
-# UCLIBC_HAS_SYS_SIGLIST is not set
-UCLIBC_HAS_GNU_GETOPT=y
-# UCLIBC_HAS_GNU_GETSUBOPT is not set
-
-#
-# Big and Tall
-#
-UCLIBC_HAS_REGEX=y
-# UCLIBC_HAS_REGEX_OLD is not set
-UCLIBC_HAS_FNMATCH=y
-# UCLIBC_HAS_FNMATCH_OLD is not set
-# UCLIBC_HAS_WORDEXP is not set
-UCLIBC_HAS_NFTW=y
-UCLIBC_HAS_FTW=y
-UCLIBC_HAS_GLOB=y
-UCLIBC_HAS_GNU_GLOB=y
-
-#
-# Library Installation Options
-#
-RUNTIME_PREFIX="/"
-DEVEL_PREFIX="/usr/"
-MULTILIB_DIR="lib"
-HARDWIRED_ABSPATH=y
-
-#
-# Security options
-#
-# UCLIBC_BUILD_PIE is not set
-# UCLIBC_HAS_ARC4RANDOM is not set
-# HAVE_NO_SSP is not set
-UCLIBC_HAS_SSP=y
-# UCLIBC_HAS_SSP_COMPAT is not set
-# SSP_QUICK_CANARY is not set
-PROPOLICE_BLOCK_ABRT=y
-# PROPOLICE_BLOCK_SEGV is not set
-# UCLIBC_BUILD_SSP is not set
-UCLIBC_BUILD_RELRO=y
-UCLIBC_BUILD_NOW=y
-UCLIBC_BUILD_NOEXECSTACK=y
-
-#
-# uClibc development/debugging options
-#
-CROSS_COMPILER_PREFIX=""
-UCLIBC_EXTRA_CFLAGS=""
-# DODEBUG is not set
-# DODEBUG_PT is not set
-# DOSTRIP is not set
-# DOASSERTS is not set
-# SUPPORT_LD_DEBUG is not set
-# SUPPORT_LD_DEBUG_EARLY is not set
-# UCLIBC_MALLOC_DEBUGGING is not set
-WARNINGS="-Wall"
-# EXTRA_WARNINGS is not set
-# DOMULTI is not set
-# UCLIBC_MJN3_ONLY is not set
-
-USE_BX=y
-# CONFIG_GENERIC_ARM is not set
-# CONFIG_ARM610 is not set
-# CONFIG_ARM710 is not set
-# CONFIG_ARM7TDMI is not set
-# CONFIG_ARM720T is not set
-# CONFIG_ARM920T is not set
-# CONFIG_ARM922T is not set
-# CONFIG_ARM926T is not set
-# CONFIG_ARM10T is not set
-# CONFIG_ARM1136JF_S is not set
-# CONFIG_ARM1176JZ_S is not set
-# CONFIG_ARM1176JZF_S is not set
-# CONFIG_ARM_CORTEX_M3 is not set
-# CONFIG_ARM_CORTEX_M1 is not set
-# CONFIG_ARM_SA110 is not set
-# CONFIG_ARM_SA1100 is not set
-# CONFIG_ARM_XSCALE is not set
-# CONFIG_ARM_IWMMXT is not set
diff --git a/package/uclibc/uclibc.mk b/package/uclibc/uclibc.mk
index 8654926..40e6c6c 100644
--- a/package/uclibc/uclibc.mk
+++ b/package/uclibc/uclibc.mk
@@ -193,16 +193,6 @@ endif
endif # bfin
#
-# AVR32 definitions
-#
-
-ifeq ($(UCLIBC_TARGET_ARCH),avr32)
-define UCLIBC_AVR32_CONFIG
- $(call KCONFIG_ENABLE_OPT,LINKRELAX,$(@D)/.config)
-endef
-endif # avr32
-
-#
# x86 definitions
#
ifeq ($(UCLIBC_TARGET_ARCH),i386)
@@ -432,7 +422,6 @@ define UCLIBC_KCONFIG_FIXUP_CMDS
$(UCLIBC_SH_TYPE_CONFIG)
$(UCLIBC_SPARC_TYPE_CONFIG)
$(UCLIBC_POWERPC_TYPE_CONFIG)
- $(UCLIBC_AVR32_CONFIG)
$(UCLIBC_BFIN_CONFIG)
$(UCLIBC_X86_TYPE_CONFIG)
$(UCLIBC_ENDIAN_CONFIG)
@@ -459,21 +448,9 @@ define UCLIBC_BUILD_TEST_SUITE
endef
endif
-# In uClibc 0.9.31 parallel building is broken so we have to disable it
-# Fortunately uClibc 0.9.31 is only used by AVR32 and in its turn AVR32 is
-# about to be removed from buildroot.
-#
-# So as soon as AVR32 is removed please revert this patch so instead of
-# UCLIBC_MAKE normal "MAKE" is used in UCLIBC_BUILD_CMDS
-ifeq ($(BR2_UCLIBC_VERSION_0_9_31),y)
- UCLIBC_MAKE = $(MAKE1)
-else
- UCLIBC_MAKE = $(MAKE)
-endif
-
define UCLIBC_BUILD_CMDS
- $(UCLIBC_MAKE) -C $(@D) $(UCLIBC_MAKE_FLAGS) headers
- $(UCLIBC_MAKE) -C $(@D) $(UCLIBC_MAKE_FLAGS)
+ $(MAKE) -C $(@D) $(UCLIBC_MAKE_FLAGS) headers
+ $(MAKE) -C $(@D) $(UCLIBC_MAKE_FLAGS)
$(MAKE) -C $(@D)/utils \
PREFIX=$(HOST_DIR) \
HOSTCC="$(HOSTCC)" hostutils
--
1.9.1
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [Buildroot] [PATCH 11/12] package/eudev: we won't miss you, avr32
2015-02-13 22:34 [Buildroot] [PATCH 0/12] arch/avr32: say bye-bye! (branch yem/avr32) Yann E. MORIN
` (9 preceding siblings ...)
2015-02-13 22:34 ` [Buildroot] [PATCH 10/12] package/uClibc: RIP, avr32 Yann E. MORIN
@ 2015-02-13 22:34 ` Yann E. MORIN
2015-02-13 22:34 ` [Buildroot] [PATCH 12/12] arch/avr32: decommission for real Yann E. MORIN
11 siblings, 0 replies; 15+ messages in thread
From: Yann E. MORIN @ 2015-02-13 22:34 UTC (permalink / raw)
To: buildroot
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
package/eudev/Config.in | 3 ---
system/Config.in | 2 --
2 files changed, 5 deletions(-)
diff --git a/package/eudev/Config.in b/package/eudev/Config.in
index 7916fd0..7934cd7 100644
--- a/package/eudev/Config.in
+++ b/package/eudev/Config.in
@@ -1,6 +1,5 @@
config BR2_PACKAGE_EUDEV
bool "eudev"
- depends on !BR2_avr32 # no epoll_create1
depends on BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV
depends on BR2_USE_MMU # uses fork()
depends on BR2_LARGEFILE # util-linux
@@ -32,11 +31,9 @@ config BR2_PACKAGE_EUDEV_RULES_GEN
endif
comment "eudev needs eudev /dev management"
- depends on !BR2_avr32
depends on BR2_USE_MMU
depends on !BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV
comment "eudev needs a toolchain w/ largefile, wchar, dynamic library"
- depends on !BR2_avr32
depends on BR2_USE_MMU
depends on !BR2_LARGEFILE || !BR2_USE_WCHAR || BR2_STATIC_LIBS
diff --git a/system/Config.in b/system/Config.in
index 95e10ab..fb8b686 100644
--- a/system/Config.in
+++ b/system/Config.in
@@ -124,7 +124,6 @@ config BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV
config BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV
bool "Dynamic using eudev"
- depends on !BR2_avr32 # eudev
depends on BR2_LARGEFILE
depends on BR2_USE_WCHAR
depends on !BR2_STATIC_LIBS
@@ -133,7 +132,6 @@ config BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV
select BR2_PACKAGE_EUDEV
comment "eudev needs a toolchain w/ largefile, wchar, dynamic library, headers >= 3.9"
- depends on !BR2_avr32 # eudev
depends on BR2_USE_MMU
depends on !BR2_LARGEFILE || !BR2_USE_WCHAR || BR2_STATIC_LIBS \
|| !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_9
--
1.9.1
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [Buildroot] [PATCH 12/12] arch/avr32: decommission for real
2015-02-13 22:34 [Buildroot] [PATCH 0/12] arch/avr32: say bye-bye! (branch yem/avr32) Yann E. MORIN
` (10 preceding siblings ...)
2015-02-13 22:34 ` [Buildroot] [PATCH 11/12] package/eudev: we won't miss you, avr32 Yann E. MORIN
@ 2015-02-13 22:34 ` Yann E. MORIN
11 siblings, 0 replies; 15+ messages in thread
From: Yann E. MORIN @ 2015-02-13 22:34 UTC (permalink / raw)
To: buildroot
Now that we have absolutely zero reference to the avr32 architecture, we
can now really decommission the symbol.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
arch/Config.in | 19 -------------------
arch/Config.in.avr32 | 11 -----------
2 files changed, 30 deletions(-)
delete mode 100644 arch/Config.in.avr32
diff --git a/arch/Config.in b/arch/Config.in
index 6c8f328..16ad8be 100644
--- a/arch/Config.in
+++ b/arch/Config.in
@@ -194,21 +194,6 @@ config BR2_xtensa
endchoice
-config BR2_avr32
- bool
- select BR2_SOFT_FLOAT
- # This architecture is obsolete and complicated to maintain to
- # do the lack of upstream support in the major toolchain
- # components. If you're interested by AVR32, contact the
- # Buildroot community. Otherwise, its support will be removed
- # by the 2015.02 release.
- depends on BR2_DEPRECATED_SINCE_2014_08
- help
- The AVR32 is a 32-bit RISC microprocessor architecture designed by
- Atmel.
- http://www.atmel.com/
- http://en.wikipedia.org/wiki/Avr32
-
# The following string values are defined by the individual
# Config.in.$ARCH files
config BR2_ARCH
@@ -328,10 +313,6 @@ if BR2_aarch64
source "arch/Config.in.aarch64"
endif
-if BR2_avr32
-source "arch/Config.in.avr32"
-endif
-
if BR2_bfin
source "arch/Config.in.bfin"
endif
diff --git a/arch/Config.in.avr32 b/arch/Config.in.avr32
deleted file mode 100644
index fc1f4f6..0000000
--- a/arch/Config.in.avr32
+++ /dev/null
@@ -1,11 +0,0 @@
-config BR2_ARCH
- default "avr32"
-
-config BR2_ENDIAN
- default "BIG"
-
-config BR2_GCC_TARGET_ARCH
- default "ap"
-
-config BR2_ARCH_HAS_ATOMICS
- default y
--
1.9.1
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [Buildroot] [PATCH 01/12] arch: kill avr32
2015-02-13 22:34 ` [Buildroot] [PATCH 01/12] arch: kill avr32 Yann E. MORIN
@ 2015-02-14 6:37 ` Thomas Petazzoni
2015-02-14 9:12 ` Yann E. MORIN
0 siblings, 1 reply; 15+ messages in thread
From: Thomas Petazzoni @ 2015-02-14 6:37 UTC (permalink / raw)
To: buildroot
Dear Yann E. MORIN,
On Fri, 13 Feb 2015 23:34:20 +0100, Yann E. MORIN wrote:
> diff --git a/.defconfig b/.defconfig
> index 77ab11a..585be55 100644
> --- a/.defconfig
> +++ b/.defconfig
> @@ -6,7 +6,6 @@ BR2_HAVE_DOT_CONFIG=y
> # BR2_alpha is not set
> # BR2_arm is not set
> # BR2_armeb is not set
> -# BR2_avr32 is not set
> # BR2_cris is not set
> # BR2_ia64 is not set
> BR2_i386=y
> diff --git a/arch/Config.in b/arch/Config.in
> index 890e7e2..6c8f328 100644
> --- a/arch/Config.in
> +++ b/arch/Config.in
> @@ -53,21 +53,6 @@ config BR2_aarch64
> http://www.arm.com/products/processors/instruction-set-architectures/armv8-architecture.php
> http://en.wikipedia.org/wiki/ARM
>
> -config BR2_avr32
> - bool "AVR32"
> - select BR2_SOFT_FLOAT
> - # This architecture is obsolete and complicated to maintain to
> - # do the lack of upstream support in the major toolchain
> - # components. If you're interested by AVR32, contact the
> - # Buildroot community. Otherwise, its support will be removed
> - # by the 2015.02 release.
> - depends on BR2_DEPRECATED_SINCE_2014_08
Instead of moving things around, why not simply just add "depends on
BR2_BROKEN" ?
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Buildroot] [PATCH 01/12] arch: kill avr32
2015-02-14 6:37 ` Thomas Petazzoni
@ 2015-02-14 9:12 ` Yann E. MORIN
0 siblings, 0 replies; 15+ messages in thread
From: Yann E. MORIN @ 2015-02-14 9:12 UTC (permalink / raw)
To: buildroot
Thomas, All,
On 2015-02-14 07:37 +0100, Thomas Petazzoni spake thusly:
> On Fri, 13 Feb 2015 23:34:20 +0100, Yann E. MORIN wrote:
>
> > diff --git a/.defconfig b/.defconfig
> > index 77ab11a..585be55 100644
> > --- a/.defconfig
> > +++ b/.defconfig
> > @@ -6,7 +6,6 @@ BR2_HAVE_DOT_CONFIG=y
> > # BR2_alpha is not set
> > # BR2_arm is not set
> > # BR2_armeb is not set
> > -# BR2_avr32 is not set
> > # BR2_cris is not set
> > # BR2_ia64 is not set
> > BR2_i386=y
> > diff --git a/arch/Config.in b/arch/Config.in
> > index 890e7e2..6c8f328 100644
> > --- a/arch/Config.in
> > +++ b/arch/Config.in
> > @@ -53,21 +53,6 @@ config BR2_aarch64
> > http://www.arm.com/products/processors/instruction-set-architectures/armv8-architecture.php
> > http://en.wikipedia.org/wiki/ARM
> >
> > -config BR2_avr32
> > - bool "AVR32"
> > - select BR2_SOFT_FLOAT
> > - # This architecture is obsolete and complicated to maintain to
> > - # do the lack of upstream support in the major toolchain
> > - # components. If you're interested by AVR32, contact the
> > - # Buildroot community. Otherwise, its support will be removed
> > - # by the 2015.02 release.
> > - depends on BR2_DEPRECATED_SINCE_2014_08
>
> Instead of moving things around, why not simply just add "depends on
> BR2_BROKEN" ?
OK, I'll respin shortly.
Regards,
Yann E. MORIN.
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2015-02-14 9:12 UTC | newest]
Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-02-13 22:34 [Buildroot] [PATCH 0/12] arch/avr32: say bye-bye! (branch yem/avr32) Yann E. MORIN
2015-02-13 22:34 ` [Buildroot] [PATCH 01/12] arch: kill avr32 Yann E. MORIN
2015-02-14 6:37 ` Thomas Petazzoni
2015-02-14 9:12 ` Yann E. MORIN
2015-02-13 22:34 ` [Buildroot] [PATCH 02/12] configs: get rid of avr32 defconfigs Yann E. MORIN
2015-02-13 22:34 ` [Buildroot] [PATCH 03/12] packages: all salute the passing of avr32 Yann E. MORIN
2015-02-13 22:34 ` [Buildroot] [PATCH 04/12] linux: get rid of avr32 specifics Yann E. MORIN
2015-02-13 22:34 ` [Buildroot] [PATCH 05/12] toolchain/buildroot: forget about avr32 Yann E. MORIN
2015-02-13 22:34 ` [Buildroot] [PATCH 06/12] toolchain/extrnal: avr32 is no more Yann E. MORIN
2015-02-13 22:34 ` [Buildroot] [PATCH 07/12] package/binutils: avr32 is gone Yann E. MORIN
2015-02-13 22:34 ` [Buildroot] [PATCH 08/12] package/gcc: do not mourn avr32 for too long Yann E. MORIN
2015-02-13 22:34 ` [Buildroot] [PATCH 09/12] package/gdb: farewell avr32 Yann E. MORIN
2015-02-13 22:34 ` [Buildroot] [PATCH 10/12] package/uClibc: RIP, avr32 Yann E. MORIN
2015-02-13 22:34 ` [Buildroot] [PATCH 11/12] package/eudev: we won't miss you, avr32 Yann E. MORIN
2015-02-13 22:34 ` [Buildroot] [PATCH 12/12] arch/avr32: decommission for real Yann E. MORIN
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.