summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2013-10-17 13:58:30 +0200
committerWaldemar Brodkorb <wbx@openadk.org>2013-10-17 13:58:30 +0200
commit88dd48f85bc6191e990650613c1cea87db978485 (patch)
treeb0163c92c387734a72705410e8111c84d87e3d57
parentf043b8522e55308488448593bb4997614732a30a (diff)
parent59161fbfcb5c72b28491056f85785528f3e444f1 (diff)
Merge branch 'master' of git+ssh://openadk.org/git/openadk
-rw-r--r--mk/build.mk12
-rw-r--r--package/adkinstall/Makefile2
-rw-r--r--package/alsa-lib/Makefile3
-rw-r--r--package/bcm2835-firmware/Makefile5
-rw-r--r--package/bcm2835-vc/Makefile5
-rw-r--r--package/bcm2835-vc/patches/patch-interface_vcos_pthreads_vcos_platform_h12
-rw-r--r--package/bcm2835-vc/patches/patch-interface_vcos_pthreads_vcos_pthreads_c11
-rw-r--r--package/bcm2835-vc/patches/patch-interface_vmcs_host_linux_vcfilesys_c22
-rw-r--r--package/boost/Makefile7
-rw-r--r--package/eglibc/Makefile1
-rw-r--r--package/ffmpeg/Makefile6
-rw-r--r--package/ffmpeg/patches/patch-libavcodec_arm_Makefile12
-rw-r--r--package/ffmpeg/patches/patch-libavcodec_arm_fft_init_arm_c25
-rw-r--r--package/ffmpeg/src/libavcodec/arm/synth_filter_vfp.S206
-rw-r--r--package/glibc/Makefile1
-rw-r--r--package/libid3tag/Makefile2
-rw-r--r--package/libid3tag/patches/patch-compat_gperf13
-rw-r--r--package/libid3tag/patches/patch-genre_dat22
-rw-r--r--package/libid3tag/patches/patch-genre_dat_in11
-rw-r--r--package/libid3tag/patches/patch-parse_c12
-rw-r--r--package/libid3tag/patches/patch-utf16_c21
-rw-r--r--package/libmad/Makefile26
-rw-r--r--package/libmad/patches/patch-fixed_h44
-rw-r--r--package/libmad/patches/patch-imdct_l_arm_S11
-rw-r--r--package/libmad/patches/patch-layer12_c173
-rw-r--r--package/libmad/patches/patch-layer3_c15
-rw-r--r--package/libmpeg2/Makefile2
-rw-r--r--package/libmpeg2/patches/patch-configure11
-rw-r--r--package/libvpx/Makefile15
-rw-r--r--package/libvpx/patches/patch-build_make_configure_sh6
-rw-r--r--package/libx264/Makefile5
-rw-r--r--package/libx264/patches/patch-Makefile11
-rw-r--r--package/libx264/patches/patch-configure12
-rw-r--r--package/libx264/patches/patch-configure.orig14
-rw-r--r--package/madplay/Makefile6
-rw-r--r--package/mpd/Makefile10
-rw-r--r--package/mpd/files/mpd.conf3
-rw-r--r--package/mpd/files/mpd.init4
-rw-r--r--package/mpd/patches/patch-src_decoder_ffmpeg_decoder_plugin_c130
-rw-r--r--package/oprofile/Makefile2
-rw-r--r--package/pcc-libs/Makefile2
-rw-r--r--package/pcc/Makefile2
-rw-r--r--package/sdl/patches/patch-include_SDL_config_h311
-rw-r--r--package/util-linux/Makefile2
-rw-r--r--target/arm/kernel.config45
-rw-r--r--target/config/Config.in69
-rw-r--r--target/linux/config/Config.in.debug3
-rw-r--r--target/linux/config/Config.in.network4
-rw-r--r--target/m68k/kernel.config69
-rw-r--r--target/m68k/uclibc.config11
-rw-r--r--target/packages/pkg-available/mpdbox2
-rw-r--r--toolchain/eglibc/Makefile97
-rw-r--r--toolchain/eglibc/Makefile.multilib47
-rw-r--r--toolchain/gcc/Makefile11
-rw-r--r--toolchain/gcc/patches/4.7.3/musl-cris.patch11
-rw-r--r--toolchain/glibc/Makefile87
-rw-r--r--toolchain/glibc/Makefile.multilib16
-rw-r--r--toolchain/kernel-headers/Makefile24
-rw-r--r--toolchain/kernel-headers/patches/3.9.11/cris-header.patch68
59 files changed, 971 insertions, 821 deletions
diff --git a/mk/build.mk b/mk/build.mk
index 2251f499c..3f0fca18e 100644
--- a/mk/build.mk
+++ b/mk/build.mk
@@ -26,7 +26,6 @@ DEFCONFIG= ADK_DEBUG=n \
ADK_PACKAGE_INSTALLER=n \
ADK_PACKAGE_CXXTOOLS_DEV=n \
ADK_PACKAGE_XORG_SERVER_DEV=n \
- ADK_PACKAGE_LIBFFMPEG_WITH_VP8=n \
ADK_PACKAGE_LM_SENSORS_DETECT=n \
ADK_PACKAGE_PACEMAKER=n \
ADK_PACKAGE_PACEMAKER_MGMTD=n \
@@ -39,9 +38,8 @@ DEFCONFIG= ADK_DEBUG=n \
ADK_PACKAGE_GRUB=n \
ADK_PACKAGE_BASE_FILES=y \
ADK_PACKAGE_CRYPTINIT=n \
- ADK_PACKAGE_HEIMDAL=n \
+ ADK_PACKAGE_HEIMDAL_SERVER=n \
ADK_PACKAGE_LIBHEIMDAL=n \
- ADK_PACKAGE_LIBHEIMDAL_CLIENT=n \
ADK_PACKAGE_PAM=n \
ADK_PACKAGE_PYTHON=n \
ADK_PACKAGE_VIRTINST=n \
@@ -578,9 +576,9 @@ bulktoolchain:
# build all target architecture, target systems and libc combinations
bulk:
- for libc in uclibc eglibc glibc;do \
+ for libc in uclibc eglibc glibc musl;do \
while read arch; do \
- systems=$$(./scripts/getsystems $$arch|grep -v toolchain|grep -v qemu); \
+ systems=$$(./scripts/getsystems $$arch|grep -v toolchain|grep -v qemu-cris|grep -v foxboard-lx); \
for system in $$systems;do \
mkdir -p $(TOPDIR)/bin/$${system}_$${arch}_$$libc; \
( \
@@ -598,7 +596,7 @@ bulk:
bulkall:
for libc in uclibc eglibc glibc musl;do \
while read arch; do \
- systems=$$(./scripts/getsystems $$arch| grep -v toolchain|grep -v qemu); \
+ systems=$$(./scripts/getsystems $$arch| grep -v toolchain|grep -v qemu-cris|grep -v foxboard-lx); \
for system in $$systems;do \
mkdir -p $(TOPDIR)/bin/$${system}_$${arch}_$$libc; \
( \
@@ -616,7 +614,7 @@ bulkall:
bulkallmod:
for libc in uclibc eglibc glibc musl;do \
while read arch; do \
- systems=$$(./scripts/getsystems $$arch| grep -v toolchain|grep -v qemu); \
+ systems=$$(./scripts/getsystems $$arch| grep -v toolchain|grep -v qemu-cris|grep -v foxboard-lx); \
for system in $$systems;do \
mkdir -p $(TOPDIR)/bin/$${system}_$${arch}_$$libc; \
( \
diff --git a/package/adkinstall/Makefile b/package/adkinstall/Makefile
index 8cea27683..9d5d74cfd 100644
--- a/package/adkinstall/Makefile
+++ b/package/adkinstall/Makefile
@@ -11,6 +11,8 @@ PKG_SECTION:= base
PKG_DEPENDS:= parted sfdisk mke2fs
PKG_URL:= http://openadk.org/
+PKG_ARCH_DEPENDS:= !m68k
+
WRKDIST= ${WRKDIR}/${PKG_NAME}-${PKG_VERSION}
NO_DISTFILES:= 1
diff --git a/package/alsa-lib/Makefile b/package/alsa-lib/Makefile
index 01d5fee2e..3be639ffa 100644
--- a/package/alsa-lib/Makefile
+++ b/package/alsa-lib/Makefile
@@ -24,8 +24,7 @@ $(eval $(call PKG_template,ALSA_LIB,alsa-lib,${PKG_VERSION}-${PKG_RELEASE},${PKG
$(eval $(call PKG_template,ALSA_LIB_DEV,alsa-lib-dev,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_ALSA_LIB_DEV},${PKGSC_ALSA_LIB_DEV}))
TARGET_CPPFLAGS+= -D_POSIX_C_SOURCE=1
-CONFIGURE_ARGS+= --disable-python \
- --without-versioned
+CONFIGURE_ARGS+= --disable-python
alsa-lib-install:
${INSTALL_DIR} ${IDIR_ALSA_LIB}/usr/lib ${IDIR_ALSA_LIB}/usr/share/alsa
diff --git a/package/bcm2835-firmware/Makefile b/package/bcm2835-firmware/Makefile
index 565064dda..f88910535 100644
--- a/package/bcm2835-firmware/Makefile
+++ b/package/bcm2835-firmware/Makefile
@@ -4,9 +4,10 @@
include ${TOPDIR}/rules.mk
PKG_NAME:= bcm2835-firmware
-PKG_VERSION:= 0.3
+# actually 5113ce63be622e50c1b3ec309798e5d091d219ac from 12.10.2013
+PKG_VERSION:= 0.4
PKG_RELEASE:= 1
-PKG_MD5SUM:= c05d3ceac71e884a95d7731cc2b5f39f
+PKG_MD5SUM:= e7f4caa11f26d5af07ae45128b2ac328
PKG_DESCR:= firmware for raspberry pi (bcm2835)
PKG_SECTION:= base
PKG_SITES:= http://openadk.org/distfiles/
diff --git a/package/bcm2835-vc/Makefile b/package/bcm2835-vc/Makefile
index 1251ce8d3..97c818199 100644
--- a/package/bcm2835-vc/Makefile
+++ b/package/bcm2835-vc/Makefile
@@ -13,11 +13,8 @@ PKG_SECTION:= base
PKG_DEPENDS:= libpthread
PKG_SITES:= http://openadk.org/distfiles/
-PKG_LIBC_DEPENDS:= eglibc glibc
PKG_SYSTEM_DEPENDS:= raspberry-pi
-PKG_SUBPKGS:= BCM2835_VC
-
include ${TOPDIR}/mk/package.mk
$(eval $(call PKG_template,BCM2835_VC,bcm2835-vc,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
@@ -25,7 +22,7 @@ $(eval $(call PKG_template,BCM2835_VC,bcm2835-vc,${PKG_VERSION}-${PKG_RELEASE},$
CONFIG_STYLE:= manual
do-configure:
- (cd $(WRKBUILD) && cmake .)
+ (cd $(WRKBUILD) && cmake -DCMAKE_SYSTEM_NAME=Linux .)
bcm2835-vc-install:
$(INSTALL_DIR) ${IDIR_BCM2835_VC}/opt/vc/{bin,lib}
diff --git a/package/bcm2835-vc/patches/patch-interface_vcos_pthreads_vcos_platform_h b/package/bcm2835-vc/patches/patch-interface_vcos_pthreads_vcos_platform_h
new file mode 100644
index 000000000..95b5d480b
--- /dev/null
+++ b/package/bcm2835-vc/patches/patch-interface_vcos_pthreads_vcos_platform_h
@@ -0,0 +1,12 @@
+--- bcm2835-vc-0.3.orig/interface/vcos/pthreads/vcos_platform.h 2013-09-27 14:22:08.000000000 +0200
++++ bcm2835-vc-0.3/interface/vcos/pthreads/vcos_platform.h 2013-10-13 20:20:55.000000000 +0200
+@@ -120,9 +120,6 @@ typedef struct
+
+ #define VCOS_ONCE_INIT PTHREAD_ONCE_INIT
+
+-#if defined(__arm__) && !defined(_HAVE_TIMER_T) && !defined(ANDROID)
+-typedef __timer_t timer_t;
+-#endif
+ typedef struct VCOS_TIMER_T
+ {
+ pthread_t thread; /**< id of the timer thread */
diff --git a/package/bcm2835-vc/patches/patch-interface_vcos_pthreads_vcos_pthreads_c b/package/bcm2835-vc/patches/patch-interface_vcos_pthreads_vcos_pthreads_c
new file mode 100644
index 000000000..583fe04f3
--- /dev/null
+++ b/package/bcm2835-vc/patches/patch-interface_vcos_pthreads_vcos_pthreads_c
@@ -0,0 +1,11 @@
+--- bcm2835-vc-0.3.orig/interface/vcos/pthreads/vcos_pthreads.c 2013-09-27 14:22:08.000000000 +0200
++++ bcm2835-vc-0.3/interface/vcos/pthreads/vcos_pthreads.c 2013-10-14 19:44:50.000000000 +0200
+@@ -580,7 +580,7 @@ const char ** vcos_get_argv(void)
+ */
+ uint32_t _vcos_get_ticks_per_second(void)
+ {
+- return HZ;
++ return 100;
+ }
+
+ VCOS_STATUS_T vcos_once(VCOS_ONCE_T *once_control,
diff --git a/package/bcm2835-vc/patches/patch-interface_vmcs_host_linux_vcfilesys_c b/package/bcm2835-vc/patches/patch-interface_vmcs_host_linux_vcfilesys_c
new file mode 100644
index 000000000..c5419c90d
--- /dev/null
+++ b/package/bcm2835-vc/patches/patch-interface_vmcs_host_linux_vcfilesys_c
@@ -0,0 +1,22 @@
+--- bcm2835-vc-0.3.orig/interface/vmcs_host/linux/vcfilesys.c 2013-09-27 14:22:08.000000000 +0200
++++ bcm2835-vc-0.3/interface/vmcs_host/linux/vcfilesys.c 2013-10-14 20:10:02.000000000 +0200
+@@ -49,10 +49,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBI
+ #include <ctype.h>
+ #include <limits.h>
+
+-#if !defined(ANDROID) && !defined( __USE_FILE_OFFSET64 )
+-#error "__USE_FILE_OFFSET64 isn't defined"
+-#endif
+-
+ #include "interface/vcos/vcos.h"
+
+ /* Some hackery to prevent a clash with the Linux type of the same name */
+@@ -916,7 +912,7 @@ int vc_hostfs_set_attr(const char *path,
+
+ if (pathbuf)
+ {
+- __mode_t mode = 0;
++ mode_t mode = 0;
+ struct stat sb;
+
+ backslash_to_slash(pathbuf);
diff --git a/package/boost/Makefile b/package/boost/Makefile
index d0ac60891..93f5fba55 100644
--- a/package/boost/Makefile
+++ b/package/boost/Makefile
@@ -9,15 +9,14 @@ PKG_RELEASE:= 2
PKG_MD5SUM:= efbfbff5a85a9330951f243d0a46e4b9
PKG_DESCR:= boost C++ library
PKG_SECTION:= libs
-PKG_BUILDDEP:= gettext-tiny
PKG_URL:= http://www.boost.org/
PKG_SITES:= ${MASTER_SITE_SOURCEFORGE:=boost/}
+PKG_ARCH_DEPENDS:= !avr32
+
DISTFILES:= boost_1_54_0.tar.gz
WRKDIST= ${WRKDIR}/${PKG_NAME}_1_54_0
-PKG_LIBC_DEPENDS:= eglibc glibc musl
-
PKG_SUBPKGS:= BOOST BOOST_DEV
PKGSD_BOOST_DEV:= boost header files
PKGSC_BOOST_DEV:= devel
@@ -61,6 +60,8 @@ CONFIGURE_ARGS += \
--build=$(GNU_HOST_NAME) \
--prefix=${WRKINST}/usr \
+CONFIGURE_ARGS+=--without-locale
+
ifneq (${ADK_PACKAGE_BOOST_IOSTREAMS},)
CONFIGURE_ARGS += -sNO_BZIP2=1 -sZLIB_INCLUDE=${STAGING_DIR}/usr/include -sZLIB_LIBPATH=${STAGING_DIR}/usr/lib
else
diff --git a/package/eglibc/Makefile b/package/eglibc/Makefile
index 3261ba314..98c6b2de9 100644
--- a/package/eglibc/Makefile
+++ b/package/eglibc/Makefile
@@ -3,7 +3,6 @@
include $(TOPDIR)/rules.mk
include $(TOPDIR)/toolchain/eglibc/Makefile.inc
-include $(TOPDIR)/toolchain/eglibc/Makefile.multilib
PKG_DESCR:= embedded GNU C library
PKG_SECTION:= base
diff --git a/package/ffmpeg/Makefile b/package/ffmpeg/Makefile
index 131d1856a..9c4cea01c 100644
--- a/package/ffmpeg/Makefile
+++ b/package/ffmpeg/Makefile
@@ -4,16 +4,16 @@
include ${TOPDIR}/rules.mk
PKG_NAME:= ffmpeg
-PKG_VERSION:= 2.0.1
+PKG_VERSION:= 2.0.2
PKG_RELEASE:= 2
-PKG_MD5SUM:= dd71a1baedb2daa3e4d21e0651daa918
+PKG_MD5SUM:= 6c5cfed204d8a108325d1fc439ab734a
PKG_DESCR:= record, convert and stream audio & video
PKG_SECTION:= libs
PKG_FDEPENDS:= libpthread
PKG_URL:= http://www.ffmpeg.org/
PKG_SITES:= http://www.ffmpeg.org/releases/
-PKG_ARCH_DEPENDS:= !cris
+PKG_ARCH_DEPENDS:= !avr32 !cris
PKG_SUBPKGS:= LIBFFMPEG FFSERVER FFPROBE FFMPEG
#PKGSD_FFPLAY:= ffmpeg based video player
diff --git a/package/ffmpeg/patches/patch-libavcodec_arm_Makefile b/package/ffmpeg/patches/patch-libavcodec_arm_Makefile
new file mode 100644
index 000000000..f504f60f9
--- /dev/null
+++ b/package/ffmpeg/patches/patch-libavcodec_arm_Makefile
@@ -0,0 +1,12 @@
+--- ffmpeg-2.0.1.orig/libavcodec/arm/Makefile 2013-08-11 01:23:24.000000000 +0200
++++ ffmpeg-2.0.1/libavcodec/arm/Makefile 2013-10-14 17:47:19.000000000 +0200
+@@ -52,7 +52,8 @@ ARMV6-OBJS-$(CONFIG_VP8_DECODER) +
+ arm/vp8dsp_init_armv6.o \
+ arm/vp8dsp_armv6.o
+
+-VFP-OBJS-$(HAVE_ARMV6) += arm/fmtconvert_vfp.o
++VFP-OBJS-$(HAVE_ARMV6) += arm/fmtconvert_vfp.o \
++ arm/synth_filter_vfp.o
+
+ NEON-OBJS += arm/fmtconvert_neon.o
+
diff --git a/package/ffmpeg/patches/patch-libavcodec_arm_fft_init_arm_c b/package/ffmpeg/patches/patch-libavcodec_arm_fft_init_arm_c
new file mode 100644
index 000000000..dc562a061
--- /dev/null
+++ b/package/ffmpeg/patches/patch-libavcodec_arm_fft_init_arm_c
@@ -0,0 +1,25 @@
+--- ffmpeg-2.0.2.orig/libavcodec/arm/fft_init_arm.c 2013-10-08 19:52:31.000000000 +0200
++++ ffmpeg-2.0.2/libavcodec/arm/fft_init_arm.c 2013-10-16 12:59:04.000000000 +0200
+@@ -32,6 +32,12 @@ void ff_mdct_calc_neon(FFTContext *s, FF
+
+ void ff_rdft_calc_neon(struct RDFTContext *s, FFTSample *z);
+
++void ff_synth_filter_float_vfp(FFTContext *imdct,
++ float *synth_buf_ptr, int *synth_buf_offset,
++ float synth_buf2[32], const float window[512],
++ float out[32], const float in[32],
++ float scale);
++
+ void ff_synth_filter_float_neon(FFTContext *imdct,
+ float *synth_buf_ptr, int *synth_buf_offset,
+ float synth_buf2[32], const float window[512],
+@@ -71,6 +77,9 @@ av_cold void ff_synth_filter_init_arm(Sy
+ {
+ int cpu_flags = av_get_cpu_flags();
+
++ if (have_vfp(cpu_flags))
++ s->synth_filter_float = ff_synth_filter_float_vfp;
++
+ if (have_neon(cpu_flags))
+ s->synth_filter_float = ff_synth_filter_float_neon;
+ }
diff --git a/package/ffmpeg/src/libavcodec/arm/synth_filter_vfp.S b/package/ffmpeg/src/libavcodec/arm/synth_filter_vfp.S
new file mode 100644
index 000000000..451fe5ce9
--- /dev/null
+++ b/package/ffmpeg/src/libavcodec/arm/synth_filter_vfp.S
@@ -0,0 +1,206 @@
+/*
+ * Copyright (c) 2013 RISC OS Open Ltd
+ *
+ * This file is part of FFmpeg.
+ *
+ * FFmpeg is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * FFmpeg 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
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with FFmpeg; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ * Author: Ben Avison <bavison@riscosopen.org>
+ */
+
+#include "libavutil/arm/asm.S"
+
+IMDCT .req r0
+ORIG_P_SB .req r1
+P_SB_OFF .req r2
+I .req r0
+P_SB2_UP .req r1
+OLDFPSCR .req r2
+P_SB2_DN .req r3
+P_WIN_DN .req r4
+P_OUT_DN .req r5
+P_SB .req r6
+J_WRAP .req r7
+P_WIN_UP .req r12
+P_OUT_UP .req r14
+
+SCALE .req s0
+SBUF_DAT_REV0 .req s4
+SBUF_DAT_REV1 .req s5
+SBUF_DAT_REV2 .req s6
+SBUF_DAT_REV3 .req s7
+VA0 .req s8
+VA3 .req s11
+VB0 .req s12
+VB3 .req s15
+VC0 .req s8
+VC3 .req s11
+VD0 .req s12
+VD3 .req s15
+SBUF_DAT0 .req s16
+SBUF_DAT1 .req s17
+SBUF_DAT2 .req s18
+SBUF_DAT3 .req s19
+SBUF_DAT_ALT0 .req s20
+SBUF_DAT_ALT1 .req s21
+SBUF_DAT_ALT2 .req s22
+SBUF_DAT_ALT3 .req s23
+WIN_DN_DAT0 .req s24
+WIN_UP_DAT0 .req s28
+
+
+.macro inner_loop half, tail, head
+ .if (OFFSET & (64*4)) == 0 @ even numbered call
+ SBUF_DAT_THIS0 .req SBUF_DAT0
+ SBUF_DAT_THIS1 .req SBUF_DAT1
+ SBUF_DAT_THIS2 .req SBUF_DAT2
+ SBUF_DAT_THIS3 .req SBUF_DAT3
+ .ifnc "\head",""
+ vldr d8, [P_SB, #OFFSET] @ d8 = SBUF_DAT
+ vldr d9, [P_SB, #OFFSET+8]
+ .endif
+ .else
+ SBUF_DAT_THIS0 .req SBUF_DAT_ALT0
+ SBUF_DAT_THIS1 .req SBUF_DAT_ALT1
+ SBUF_DAT_THIS2 .req SBUF_DAT_ALT2
+ SBUF_DAT_THIS3 .req SBUF_DAT_ALT3
+ .ifnc "\head",""
+ vldr d10, [P_SB, #OFFSET] @ d10 = SBUF_DAT_ALT
+ vldr d11, [P_SB, #OFFSET+8]
+ .endif
+ .endif
+ .ifnc "\tail",""
+ .ifc "\half","ab"
+ vmls.f VA0, SBUF_DAT_REV0, WIN_DN_DAT0 @ all operands treated as vectors
+ .else
+ vmla.f VD0, SBUF_DAT_REV0, WIN_DN_DAT0 @ all operands treated as vectors
+ .endif
+ .endif
+ .ifnc "\head",""
+ vldr d14, [P_WIN_UP, #OFFSET] @ d14 = WIN_UP_DAT
+ vldr d15, [P_WIN_UP, #OFFSET+8]
+ vldr d12, [P_WIN_DN, #OFFSET] @ d12 = WIN_DN_DAT
+ vldr d13, [P_WIN_DN, #OFFSET+8]
+ vmov SBUF_DAT_REV3, SBUF_DAT_THIS0
+ vmov SBUF_DAT_REV2, SBUF_DAT_THIS1
+ vmov SBUF_DAT_REV1, SBUF_DAT_THIS2
+ vmov SBUF_DAT_REV0, SBUF_DAT_THIS3
+ .ifc "\half","ab"
+ vmla.f VB0, SBUF_DAT_THIS0, WIN_UP_DAT0
+ .else
+ vmla.f VC0, SBUF_DAT_THIS0, WIN_UP_DAT0
+ .endif
+ teq J_WRAP, #J
+ bne 2f @ strongly predictable, so better than cond exec in this case
+ sub P_SB, P_SB, #512*4
+2:
+ .set J, J - 64
+ .set OFFSET, OFFSET + 64*4
+ .endif
+ .unreq SBUF_DAT_THIS0
+ .unreq SBUF_DAT_THIS1
+ .unreq SBUF_DAT_THIS2
+ .unreq SBUF_DAT_THIS3
+.endm
+
+
+/* void ff_synth_filter_float_vfp(FFTContext *imdct,
+ * float *synth_buf_ptr, int *synth_buf_offset,
+ * float synth_buf2[32], const float window[512],
+ * float out[32], const float in[32], float scale)
+ */
+function ff_synth_filter_float_vfp, export=1
+ push {r3-r7,lr}
+ vpush {s16-s31}
+ ldr lr, [P_SB_OFF]
+ add a2, ORIG_P_SB, lr, LSL #2 @ calculate synth_buf to pass to imdct_half
+ mov P_SB, a2 @ and keep a copy for ourselves
+ bic J_WRAP, lr, #63 @ mangled to make testing for wrap easier in inner loop
+ sub lr, lr, #32
+ and lr, lr, #512-32
+ str lr, [P_SB_OFF] @ rotate offset, modulo buffer size, ready for next call
+ ldr a3, [sp, #(16+6+2)*4] @ fetch in from stack, to pass to imdct_half
+VFP vmov s16, SCALE @ imdct_half is free to corrupt s0, but it contains one of our arguments in hardfp case
+ bl ff_imdct_half_c
+VFP vmov SCALE, s16
+
+ vmrs OLDFPSCR, FPSCR
+ ldr lr, =0x03030000 @ RunFast mode, short vectors of length 4, stride 1
+ vmsr FPSCR, lr
+ ldr P_SB2_DN, [sp, #16*4]
+ ldr P_WIN_DN, [sp, #(16+6+0)*4]
+ ldr P_OUT_DN, [sp, #(16+6+1)*4]
+NOVFP vldr SCALE, [sp, #(16+6+3)*4]
+
+#define IMM_OFF_SKEW 956 /* also valid immediate constant when you add 16*4 */
+ add P_SB, P_SB, #IMM_OFF_SKEW @ so we can use -ve offsets to use full immediate offset range
+ add P_SB2_UP, P_SB2_DN, #16*4
+ add P_WIN_UP, P_WIN_DN, #16*4+IMM_OFF_SKEW
+ add P_OUT_UP, P_OUT_DN, #16*4
+ add P_SB2_DN, P_SB2_DN, #16*4
+ add P_WIN_DN, P_WIN_DN, #12*4+IMM_OFF_SKEW
+ add P_OUT_DN, P_OUT_DN, #16*4
+ mov I, #4
+1:
+ vldmia P_SB2_UP!, {VB0-VB3}
+ vldmdb P_SB2_DN!, {VA0-VA3}
+ .set J, 512 - 64
+ .set OFFSET, -IMM_OFF_SKEW
+ inner_loop ab,, head
+ .rept 7
+ inner_loop ab, tail, head
+ .endr
+ inner_loop ab, tail
+ add P_WIN_UP, P_WIN_UP, #4*4
+ sub P_WIN_DN, P_WIN_DN, #4*4
+ vmul.f VB0, VB0, SCALE @ SCALE treated as scalar
+ add P_SB, P_SB, #(512+4)*4
+ subs I, I, #1
+ vmul.f VA0, VA0, SCALE
+ vstmia P_OUT_UP!, {VB0-VB3}
+ vstmdb P_OUT_DN!, {VA0-VA3}
+ bne 1b
+
+ add P_SB2_DN, P_SB2_DN, #(16+28-12)*4
+ sub P_SB2_UP, P_SB2_UP, #(16+16)*4
+ add P_WIN_DN, P_WIN_DN, #(32+16+28-12)*4
+ mov I, #4
+1:
+ vldr.d d4, zero @ d4 = VC0
+ vldr.d d5, zero
+ vldr.d d6, zero @ d6 = VD0
+ vldr.d d7, zero
+ .set J, 512 - 64
+ .set OFFSET, -IMM_OFF_SKEW
+ inner_loop cd,, head
+ .rept 7
+ inner_loop cd, tail, head
+ .endr
+ inner_loop cd, tail
+ add P_WIN_UP, P_WIN_UP, #4*4
+ sub P_WIN_DN, P_WIN_DN, #4*4
+ add P_SB, P_SB, #(512+4)*4
+ subs I, I, #1
+ vstmia P_SB2_UP!, {VC0-VC3}
+ vstmdb P_SB2_DN!, {VD0-VD3}
+ bne 1b
+
+ vmsr FPSCR, OLDFPSCR
+ vpop {s16-s31}
+ pop {r3-r7,pc}
+endfunc
+
+ .align 3
+zero: .word 0, 0
diff --git a/package/glibc/Makefile b/package/glibc/Makefile
index 7f0a1f8c7..a03a5c8bd 100644
--- a/package/glibc/Makefile
+++ b/package/glibc/Makefile
@@ -7,7 +7,6 @@ TARGET_CFLAGS:= $(filter-out -fstack-protector,$(TARGET_CFLAGS))
TARGET_CFLAGS:= $(filter-out -flto,$(TARGET_CFLAGS))
include $(TOPDIR)/toolchain/glibc/Makefile.inc
-include $(TOPDIR)/toolchain/glibc/Makefile.multilib
PKG_DESCR:= GNU C library
PKG_SECTION:= base
diff --git a/package/libid3tag/Makefile b/package/libid3tag/Makefile
index 972daf556..d2819bf9f 100644
--- a/package/libid3tag/Makefile
+++ b/package/libid3tag/Makefile
@@ -5,7 +5,7 @@ include ${TOPDIR}/rules.mk
PKG_NAME:= libid3tag
PKG_VERSION:= 0.15.1b
-PKG_RELEASE:= 1
+PKG_RELEASE:= 2
PKG_MD5SUM:= e5808ad997ba32c498803822078748c3
PKG_DESCR:= an ID3 tag manipulation library
PKG_SECTION:= libs
diff --git a/package/libid3tag/patches/patch-compat_gperf b/package/libid3tag/patches/patch-compat_gperf
new file mode 100644
index 000000000..a70837638
--- /dev/null
+++ b/package/libid3tag/patches/patch-compat_gperf
@@ -0,0 +1,13 @@
+--- libid3tag-0.15.1b.orig/compat.gperf 2004-01-23 10:41:32.000000000 +0100
++++ libid3tag-0.15.1b/compat.gperf 2013-10-16 12:34:31.000000000 +0200
+@@ -236,6 +236,10 @@ int id3_compat_fixup(struct id3_tag *tag
+
+ encoding = id3_parse_uint(&data, 1);
+ string = id3_parse_string(&data, end - data, encoding, 0);
++ if (!string)
++ {
++ continue;
++ }
+
+ if (id3_ucs4_length(string) < 4) {
+ free(string);
diff --git a/package/libid3tag/patches/patch-genre_dat b/package/libid3tag/patches/patch-genre_dat
new file mode 100644
index 000000000..6b727397b
--- /dev/null
+++ b/package/libid3tag/patches/patch-genre_dat
@@ -0,0 +1,22 @@
+--- libid3tag-0.15.1b.orig/genre.dat 2004-02-17 03:34:39.000000000 +0100
++++ libid3tag-0.15.1b/genre.dat 2013-10-16 12:34:37.000000000 +0200
+@@ -277,8 +277,8 @@ static id3_ucs4_t const genre_PUNK_ROCK[
+ { 'P', 'u', 'n', 'k', ' ', 'R', 'o', 'c', 'k', 0 };
+ static id3_ucs4_t const genre_DRUM_SOLO[] =
+ { 'D', 'r', 'u', 'm', ' ', 'S', 'o', 'l', 'o', 0 };
+-static id3_ucs4_t const genre_A_CAPPELLA[] =
+- { 'A', ' ', 'C', 'a', 'p', 'p', 'e', 'l', 'l', 'a', 0 };
++static id3_ucs4_t const genre_A_CAPELLA[] =
++ { 'A', ' ', 'C', 'a', 'p', 'e', 'l', 'l', 'a', 0 };
+ static id3_ucs4_t const genre_EURO_HOUSE[] =
+ { 'E', 'u', 'r', 'o', '-', 'H', 'o', 'u', 's', 'e', 0 };
+ static id3_ucs4_t const genre_DANCE_HALL[] =
+@@ -452,7 +452,7 @@ static id3_ucs4_t const *const genre_tab
+ genre_DUET,
+ genre_PUNK_ROCK,
+ genre_DRUM_SOLO,
+- genre_A_CAPPELLA,
++ genre_A_CAPELLA,
+ genre_EURO_HOUSE,
+ genre_DANCE_HALL,
+ genre_GOA,
diff --git a/package/libid3tag/patches/patch-genre_dat_in b/package/libid3tag/patches/patch-genre_dat_in
new file mode 100644
index 000000000..592fd6746
--- /dev/null
+++ b/package/libid3tag/patches/patch-genre_dat_in
@@ -0,0 +1,11 @@
+--- libid3tag-0.15.1b.orig/genre.dat.in 2004-01-23 10:41:32.000000000 +0100
++++ libid3tag-0.15.1b/genre.dat.in 2013-10-16 12:34:37.000000000 +0200
+@@ -153,7 +153,7 @@ Freestyle
+ Duet
+ Punk Rock
+ Drum Solo
+-A Cappella
++A Capella
+ Euro-House
+ Dance Hall
+ Goa
diff --git a/package/libid3tag/patches/patch-parse_c b/package/libid3tag/patches/patch-parse_c
new file mode 100644
index 000000000..6e09c5e26
--- /dev/null
+++ b/package/libid3tag/patches/patch-parse_c
@@ -0,0 +1,12 @@
+--- libid3tag-0.15.1b.orig/parse.c 2004-01-23 10:41:32.000000000 +0100
++++ libid3tag-0.15.1b/parse.c 2013-10-16 12:34:31.000000000 +0200
+@@ -165,6 +165,9 @@ id3_ucs4_t *id3_parse_string(id3_byte_t
+ case ID3_FIELD_TEXTENCODING_UTF_8:
+ ucs4 = id3_utf8_deserialize(ptr, length);
+ break;
++ default:
++ /* FIXME: Unknown encoding! Print warning? */
++ return NULL;
+ }
+
+ if (ucs4 && !full) {
diff --git a/package/libid3tag/patches/patch-utf16_c b/package/libid3tag/patches/patch-utf16_c
new file mode 100644
index 000000000..1466ebdf7
--- /dev/null
+++ b/package/libid3tag/patches/patch-utf16_c
@@ -0,0 +1,21 @@
+--- libid3tag-0.15.1b.orig/utf16.c 2004-01-23 10:41:32.000000000 +0100
++++ libid3tag-0.15.1b/utf16.c 2013-10-16 12:34:27.000000000 +0200
+@@ -282,5 +282,18 @@ id3_ucs4_t *id3_utf16_deserialize(id3_by
+
+ free(utf16);
+
++ if (end == *ptr && length % 2 != 0)
++ {
++ /* We were called with a bogus length. It should always
++ * be an even number. We can deal with this in a few ways:
++ * - Always give an error.
++ * - Try and parse as much as we can and
++ * - return an error if we're called again when we
++ * already tried to parse everything we can.
++ * - tell that we parsed it, which is what we do here.
++ */
++ (*ptr)++;
++ }
++
+ return ucs4;
+ }
diff --git a/package/libmad/Makefile b/package/libmad/Makefile
index 58faf3463..eed9882bc 100644
--- a/package/libmad/Makefile
+++ b/package/libmad/Makefile
@@ -5,7 +5,7 @@ include ${TOPDIR}/rules.mk
PKG_NAME:= libmad
PKG_VERSION:= 0.15.1b
-PKG_RELEASE:= 2
+PKG_RELEASE:= 4
PKG_MD5SUM:= 1be543bc30c56fb6bea1d7bf6a64e66c
PKG_DESCR:= An high-quality MPEG audio decoding library
PKG_SECTION:= libs
@@ -21,17 +21,25 @@ include ${TOPDIR}/mk/package.mk
$(eval $(call PKG_template,LIBMAD,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
$(eval $(call PKG_template,LIBMAD_DEV,libmad-dev,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_LIBMAD_DEV},${PKGSC_LIBMAD_DEV}))
-#FIXME
-XAKE_FLAGS+= GCC_HONOUR_COPTS=s
-
FPM:=default
ifeq (${ARCH},i386)
FPM:=intel
endif
-# MIPS optimization is broken for gcc 4.4 (removed h constraint)
-#ifeq (${ARCH},mips)
-#FPM:=mips
-#endif
+ifeq (${ARCH},arm)
+FPM:=arm
+endif
+ifeq (${ARCH},mips)
+FPM:=mips
+endif
+ifeq (${ARCH},ppc)
+FPM:=ppc
+endif
+ifeq (${ARCH},sparc)
+FPM:=sparc
+endif
+ifeq (${ARCH},x86_64)
+FPM:=64bit
+endif
CONFIGURE_ARGS+= --enable-fpm=${FPM} \
--disable-debugging \
@@ -41,7 +49,7 @@ pre-install:
${INSTALL_DIR} ${WRKINST}/usr/lib/pkgconfig
${CP} ./files/mad.pc ${WRKINST}/usr/lib/pkgconfig
-post-install:
+libmad-install:
${INSTALL_DIR} ${IDIR_LIBMAD}/usr/lib
${CP} ${WRKINST}/usr/lib/libmad.so* ${IDIR_LIBMAD}/usr/lib/
diff --git a/package/libmad/patches/patch-fixed_h b/package/libmad/patches/patch-fixed_h
new file mode 100644
index 000000000..3e6eb292d
--- /dev/null
+++ b/package/libmad/patches/patch-fixed_h
@@ -0,0 +1,44 @@
+--- libmad-0.15.1b.orig/fixed.h 2004-02-17 03:02:03.000000000 +0100
++++ libmad-0.15.1b/fixed.h 2013-10-16 10:51:56.000000000 +0200
+@@ -275,12 +275,25 @@ mad_fixed_t mad_f_mul_inline(mad_fixed_t
+ : "+r" (lo), "+r" (hi) \
+ : "%r" (x), "r" (y))
+
++#ifdef __thumb__
++/* In Thumb-2, the RSB-immediate instruction is only allowed with a zero
++ operand. If needed this code can also support Thumb-1
++ (simply append "s" to the end of the second two instructions). */
++# define MAD_F_MLN(hi, lo) \
++ asm ("rsbs %0, %0, #0\n\t" \
++ "sbc %1, %1, %1\n\t" \
++ "sub %1, %1, %2" \
++ : "+&r" (lo), "=&r" (hi) \
++ : "r" (hi) \
++ : "cc")
++#else /* ! __thumb__ */
+ # define MAD_F_MLN(hi, lo) \
+ asm ("rsbs %0, %2, #0\n\t" \
+ "rsc %1, %3, #0" \
+- : "=r" (lo), "=r" (hi) \
++ : "=&r" (lo), "=r" (hi) \
+ : "0" (lo), "1" (hi) \
+ : "cc")
++#endif /* __thumb__ */
+
+ # define mad_f_scale64(hi, lo) \
+ ({ mad_fixed_t __result; \
+@@ -297,6 +310,14 @@ mad_fixed_t mad_f_mul_inline(mad_fixed_t
+
+ /* --- MIPS ---------------------------------------------------------------- */
+
++# elif defined(FPM_MIPS) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
++ typedef unsigned int u64_di_t __attribute__ ((mode (DI)));
++# define MAD_F_MLX(hi, lo, x, y) \
++ do { \
++ u64_di_t __ll = (u64_di_t) (x) * (y); \
++ hi = __ll >> 32; \
++ lo = __ll; \
++ } while (0)
+ # elif defined(FPM_MIPS)
+
+ /*
diff --git a/package/libmad/patches/patch-imdct_l_arm_S b/package/libmad/patches/patch-imdct_l_arm_S
new file mode 100644
index 000000000..f071b4888
--- /dev/null
+++ b/package/libmad/patches/patch-imdct_l_arm_S
@@ -0,0 +1,11 @@
+--- libmad-0.15.1b.orig/imdct_l_arm.S 2001-03-25 22:03:34.000000000 +0200
++++ libmad-0.15.1b/imdct_l_arm.S 2013-10-16 10:51:50.000000000 +0200
+@@ -468,7 +468,7 @@ _III_imdct_l:
+
+ @----
+
+- add r2, pc, #(imdct36_long_karray-.-8) @ r2 = base address of Knn array (PIC safe ?)
++ adr r2, imdct36_long_karray
+
+
+ loop:
diff --git a/package/libmad/patches/patch-layer12_c b/package/libmad/patches/patch-layer12_c
new file mode 100644
index 000000000..275a1c5b7
--- /dev/null
+++ b/package/libmad/patches/patch-layer12_c
@@ -0,0 +1,173 @@
+--- libmad-0.15.1b.orig/layer12.c 2004-02-05 10:02:39.000000000 +0100
++++ libmad-0.15.1b/layer12.c 2013-10-16 10:51:25.000000000 +0200
+@@ -134,6 +134,12 @@ int mad_layer_I(struct mad_stream *strea
+ for (sb = 0; sb < bound; ++sb) {
+ for (ch = 0; ch < nch; ++ch) {
+ nb = mad_bit_read(&stream->ptr, 4);
++ if (mad_bit_nextbyte(&stream->ptr) > stream->next_frame)
++ {
++ stream->error = MAD_ERROR_LOSTSYNC;
++ stream->sync = 0;
++ return -1;
++ }
+
+ if (nb == 15) {
+ stream->error = MAD_ERROR_BADBITALLOC;
+@@ -146,6 +152,12 @@ int mad_layer_I(struct mad_stream *strea
+
+ for (sb = bound; sb < 32; ++sb) {
+ nb = mad_bit_read(&stream->ptr, 4);
++ if (mad_bit_nextbyte(&stream->ptr) > stream->next_frame)
++ {
++ stream->error = MAD_ERROR_LOSTSYNC;
++ stream->sync = 0;
++ return -1;
++ }
+
+ if (nb == 15) {
+ stream->error = MAD_ERROR_BADBITALLOC;
+@@ -162,6 +174,12 @@ int mad_layer_I(struct mad_stream *strea
+ for (ch = 0; ch < nch; ++ch) {
+ if (allocation[ch][sb]) {
+ scalefactor[ch][sb] = mad_bit_read(&stream->ptr, 6);
++ if (mad_bit_nextbyte(&stream->ptr) > stream->next_frame)
++ {
++ stream->error = MAD_ERROR_LOSTSYNC;
++ stream->sync = 0;
++ return -1;
++ }
+
+ # if defined(OPT_STRICT)
+ /*
+@@ -187,6 +205,12 @@ int mad_layer_I(struct mad_stream *strea
+ frame->sbsample[ch][s][sb] = nb ?
+ mad_f_mul(I_sample(&stream->ptr, nb),
+ sf_table[scalefactor[ch][sb]]) : 0;
++ if (mad_bit_nextbyte(&stream->ptr) > stream->next_frame)
++ {
++ stream->error = MAD_ERROR_LOSTSYNC;
++ stream->sync = 0;
++ return -1;
++ }
+ }
+ }
+
+@@ -195,6 +219,12 @@ int mad_layer_I(struct mad_stream *strea
+ mad_fixed_t sample;
+
+ sample = I_sample(&stream->ptr, nb);
++ if (mad_bit_nextbyte(&stream->ptr) > stream->next_frame)
++ {
++ stream->error = MAD_ERROR_LOSTSYNC;
++ stream->sync = 0;
++ return -1;
++ }
+
+ for (ch = 0; ch < nch; ++ch) {
+ frame->sbsample[ch][s][sb] =
+@@ -403,7 +433,15 @@ int mad_layer_II(struct mad_stream *stre
+ nbal = bitalloc_table[offsets[sb]].nbal;
+
+ for (ch = 0; ch < nch; ++ch)
++ {
+ allocation[ch][sb] = mad_bit_read(&stream->ptr, nbal);
++ if (mad_bit_nextbyte(&stream->ptr) > stream->next_frame)
++ {
++ stream->error = MAD_ERROR_LOSTSYNC;
++ stream->sync = 0;
++ return -1;
++ }
++ }
+ }
+
+ for (sb = bound; sb < sblimit; ++sb) {
+@@ -411,6 +449,13 @@ int mad_layer_II(struct mad_stream *stre
+
+ allocation[0][sb] =
+ allocation[1][sb] = mad_bit_read(&stream->ptr, nbal);
++
++ if (mad_bit_nextbyte(&stream->ptr) > stream->next_frame)
++ {
++ stream->error = MAD_ERROR_LOSTSYNC;
++ stream->sync = 0;
++ return -1;
++ }
+ }
+
+ /* decode scalefactor selection info */
+@@ -419,6 +464,12 @@ int mad_layer_II(struct mad_stream *stre
+ for (ch = 0; ch < nch; ++ch) {
+ if (allocation[ch][sb])
+ scfsi[ch][sb] = mad_bit_read(&stream->ptr, 2);
++ if (mad_bit_nextbyte(&stream->ptr) > stream->next_frame)
++ {
++ stream->error = MAD_ERROR_LOSTSYNC;
++ stream->sync = 0;
++ return -1;
++ }
+ }
+ }
+
+@@ -442,6 +493,12 @@ int mad_layer_II(struct mad_stream *stre
+ for (ch = 0; ch < nch; ++ch) {
+ if (allocation[ch][sb]) {
+ scalefactor[ch][sb][0] = mad_bit_read(&stream->ptr, 6);
++ if (mad_bit_nextbyte(&stream->ptr) > stream->next_frame)
++ {
++ stream->error = MAD_ERROR_LOSTSYNC;
++ stream->sync = 0;
++ return -1;
++ }
+
+ switch (scfsi[ch][sb]) {
+ case 2:
+@@ -452,11 +509,23 @@ int mad_layer_II(struct mad_stream *stre
+
+ case 0:
+ scalefactor[ch][sb][1] = mad_bit_read(&stream->ptr, 6);
++ if (mad_bit_nextbyte(&stream->ptr) > stream->next_frame)
++ {
++ stream->error = MAD_ERROR_LOSTSYNC;
++ stream->sync = 0;
++ return -1;
++ }
+ /* fall through */
+
+ case 1:
+ case 3:
+ scalefactor[ch][sb][2] = mad_bit_read(&stream->ptr, 6);
++ if (mad_bit_nextbyte(&stream->ptr) > stream->next_frame)
++ {
++ stream->error = MAD_ERROR_LOSTSYNC;
++ stream->sync = 0;
++ return -1;
++ }
+ }
+
+ if (scfsi[ch][sb] & 1)
+@@ -488,6 +557,12 @@ int mad_layer_II(struct mad_stream *stre
+ index = offset_table[bitalloc_table[offsets[sb]].offset][index - 1];
+
+ II_samples(&stream->ptr, &qc_table[index], samples);
++ if (mad_bit_nextbyte(&stream->ptr) > stream->next_frame)
++ {
++ stream->error = MAD_ERROR_LOSTSYNC;
++ stream->sync = 0;
++ return -1;
++ }
+
+ for (s = 0; s < 3; ++s) {
+ frame->sbsample[ch][3 * gr + s][sb] =
+@@ -506,6 +581,12 @@ int mad_layer_II(struct mad_stream *stre
+ index = offset_table[bitalloc_table[offsets[sb]].offset][index - 1];
+
+ II_samples(&stream->ptr, &qc_table[index], samples);
++ if (mad_bit_nextbyte(&stream->ptr) > stream->next_frame)
++ {
++ stream->error = MAD_ERROR_LOSTSYNC;
++ stream->sync = 0;
++ return -1;
++ }
+
+ for (ch = 0; ch < nch; ++ch) {
+ for (s = 0; s < 3; ++s) {
diff --git a/package/libmad/patches/patch-layer3_c b/package/libmad/patches/patch-layer3_c
new file mode 100644
index 000000000..d8e4249de
--- /dev/null
+++ b/package/libmad/patches/patch-layer3_c
@@ -0,0 +1,15 @@
+--- libmad-0.15.1b.orig/layer3.c 2004-01-23 10:41:32.000000000 +0100
++++ libmad-0.15.1b/layer3.c 2013-10-16 10:51:25.000000000 +0200
+@@ -2608,6 +2608,12 @@ int mad_layer_III(struct mad_stream *str
+ next_md_begin = 0;
+
+ md_len = si.main_data_begin + frame_space - next_md_begin;
++ if (md_len + MAD_BUFFER_GUARD > MAD_BUFFER_MDLEN)
++ {
++ stream->error = MAD_ERROR_LOSTSYNC;
++ stream->sync = 0;
++ return -1;
++ }
+
+ frame_used = 0;
+
diff --git a/package/libmpeg2/Makefile b/package/libmpeg2/Makefile
index f10a34f34..6248b67ae 100644
--- a/package/libmpeg2/Makefile
+++ b/package/libmpeg2/Makefile
@@ -5,7 +5,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:= libmpeg2
PKG_VERSION:= 0.5.1
-PKG_RELEASE:= 1
+PKG_RELEASE:= 2
PKG_MD5SUM:= 0f92c7454e58379b4a5a378485bbd8ef
PKG_DESCR:= MPEG-1 & -2 decoding library
PKG_SECTION:= libs
diff --git a/package/libmpeg2/patches/patch-configure b/package/libmpeg2/patches/patch-configure
new file mode 100644
index 000000000..ba7d65763
--- /dev/null
+++ b/package/libmpeg2/patches/patch-configure
@@ -0,0 +1,11 @@
+--- libmpeg2-0.5.1.orig/configure 2008-07-18 16:41:54.000000000 +0200
++++ libmpeg2-0.5.1/configure 2013-10-14 15:39:35.000000000 +0200
+@@ -4722,7 +4722,7 @@ rm -f core conftest.err conftest.$ac_obj
+ { echo "$as_me:$LINENO: result: $ac_cv_try_cflags_ok" >&5
+ echo "${ECHO_T}$ac_cv_try_cflags_ok" >&6; }
+ if test x"$ac_cv_try_cflags_ok" = x"yes"; then
+- OPT_CFLAGS="$TRY_CFLAGS"
++ OPT_CFLAGS=""
+ else
+ :
+ fi
diff --git a/package/libvpx/Makefile b/package/libvpx/Makefile
index 73fd74f7b..c442d0981 100644
--- a/package/libvpx/Makefile
+++ b/package/libvpx/Makefile
@@ -4,15 +4,15 @@
include $(TOPDIR)/rules.mk
PKG_NAME:= libvpx
-PKG_VERSION:= 1.1.0
-PKG_RELEASE:= 2
-PKG_MD5SUM:= 7ae163ac3196c79ec2f0904280078a45
+PKG_VERSION:= 1.2.0
+PKG_RELEASE:= 1
+PKG_MD5SUM:= f8de058e6ba14555144583a2d031fe19
PKG_DESCR:= VP8/VP9 codec library
PKG_SECTION:= libs
PKG_URL:= http://www.webmproject.org/about/
PKG_SITES:= http://webm.googlecode.com/files/
-PKG_SYSTEM_DEPENDS:= raspberry-pi sharp-zaurus ibm-x40 lemote-yeelong qemu-i686
+PKG_ARCH_DEPENDS:= !avr32
DISTFILES:= ${PKG_NAME}-v${PKG_VERSION}.tar.bz2
WRKDIST= $(WRKDIR)/${PKG_NAME}-v${PKG_VERSION}
@@ -22,6 +22,9 @@ include $(TOPDIR)/mk/package.mk
$(eval $(call PKG_template,LIBVPX,libvpx,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
CONFIG_STYLE:= minimal
+ifeq ($(ADK_TARGET_SYSTEM_QEMU_ARM),y)
+CONFIGURE_ARGS+= --target=armv5te-linux-gcc
+endif
ifeq ($(ADK_TARGET_SYSTEM_RASPBERRY_PI),y)
CONFIGURE_ARGS+= --target=armv6-linux-gcc
endif
@@ -84,6 +87,10 @@ CONFIGURE_ARGS+= --prefix=/usr \
--enable-shared
ALL_TARGET:=
+post-extract:
+ chmod a+x $(WRKBUILD)/build/make/*.sh
+ chmod a+x $(WRKBUILD)/build/make/*.pl
+
libvpx-install:
$(INSTALL_DIR) $(IDIR_LIBVPX)/usr/lib
$(CP) $(WRKINST)/usr/lib/libvpx.so* \
diff --git a/package/libvpx/patches/patch-build_make_configure_sh b/package/libvpx/patches/patch-build_make_configure_sh
index 42ab9785a..829ede0c8 100644
--- a/package/libvpx/patches/patch-build_make_configure_sh
+++ b/package/libvpx/patches/patch-build_make_configure_sh
@@ -1,6 +1,6 @@
---- libvpx-v0.9.7-p1.orig/build/make/configure.sh 2011-08-15 23:02:45.000000000 +0200
-+++ libvpx-v0.9.7-p1/build/make/configure.sh 2011-09-17 17:48:07.667986440 +0200
-@@ -287,7 +287,7 @@ check_cpp() {
+--- libvpx-v1.2.0.orig/build/make/configure.sh 2013-09-04 20:49:22.000000000 +0200
++++ libvpx-v1.2.0/build/make/configure.sh 2013-10-14 20:15:20.000000000 +0200
+@@ -305,7 +305,7 @@ check_cpp() {
check_ld() {
log check_ld "$@"
check_cc $@ \
diff --git a/package/libx264/Makefile b/package/libx264/Makefile
index ff54b8911..f88f42f8c 100644
--- a/package/libx264/Makefile
+++ b/package/libx264/Makefile
@@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:= libx264
# actually is snapshot x264-snapshot-20131010-2245
PKG_VERSION:= 1.0
-PKG_RELEASE:= 1
+PKG_RELEASE:= 2
PKG_MD5SUM:= e6718029b4bc955f1dbb9bdafeed3ac0
PKG_DESCR:= H264 encoding library
PKG_SECTION:= libs
@@ -17,6 +17,9 @@ include $(TOPDIR)/mk/package.mk
$(eval $(call PKG_template,LIBX264,libx264,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+ifeq ($(ADK_TARGET_SYSTEM_SHARP_ZAURUS),y)
+CONFIGURE_ARGS+= --disable-asm
+endif
CONFIGURE_ARGS+= --disable-cli
libx264-install:
diff --git a/package/libx264/patches/patch-Makefile b/package/libx264/patches/patch-Makefile
new file mode 100644
index 000000000..e82e9bf2d
--- /dev/null
+++ b/package/libx264/patches/patch-Makefile
@@ -0,0 +1,11 @@
+--- libx264-1.0.orig/Makefile 2013-10-10 22:45:04.000000000 +0200
++++ libx264-1.0/Makefile 2013-10-12 17:50:05.000000000 +0200
+@@ -118,7 +118,7 @@ endif
+
+ # NEON optims
+ ifeq ($(ARCH),ARM)
+-ifneq ($(AS),)
++ifneq ($(ASM),no)
+ ASMSRC += common/arm/cpu-a.S common/arm/pixel-a.S common/arm/mc-a.S \
+ common/arm/dct-a.S common/arm/quant-a.S common/arm/deblock-a.S \
+ common/arm/predict-a.S
diff --git a/package/libx264/patches/patch-configure b/package/libx264/patches/patch-configure
index b480bd661..dd0097aeb 100644
--- a/package/libx264/patches/patch-configure
+++ b/package/libx264/patches/patch-configure
@@ -1,5 +1,5 @@
--- libx264-1.0.orig/configure 2013-10-10 22:45:04.000000000 +0200
-+++ libx264-1.0/configure 2013-10-11 11:33:39.000000000 +0200
++++ libx264-1.0/configure 2013-10-12 17:49:39.000000000 +0200
@@ -985,9 +985,9 @@ if [ "$debug" = "yes" ]; then
elif [ $ARCH = ARM ]; then
# arm-gcc-4.2 produces incorrect output with -ffast-math
@@ -12,7 +12,15 @@
fi
if cc_check '' -fno-tree-vectorize ; then
-@@ -1136,7 +1136,7 @@ LIBX264=$LIBX264
+@@ -1125,6 +1125,7 @@ bindir=$bindir
+ libdir=$libdir
+ includedir=$includedir
+ ARCH=$ARCH
++ASM=$asm
+ SYS=$SYS
+ CC=$CC
+ CFLAGS=$CFLAGS
+@@ -1136,7 +1137,7 @@ LIBX264=$LIBX264
AR=$AR
RANLIB=$RANLIB
STRIP=$STRIP
diff --git a/package/libx264/patches/patch-configure.orig b/package/libx264/patches/patch-configure.orig
index 08a3720f5..b480bd661 100644
--- a/package/libx264/patches/patch-configure.orig
+++ b/package/libx264/patches/patch-configure.orig
@@ -1,5 +1,17 @@
--- libx264-1.0.orig/configure 2013-10-10 22:45:04.000000000 +0200
-+++ libx264-1.0/configure 2013-10-11 11:32:15.000000000 +0200
++++ libx264-1.0/configure 2013-10-11 11:33:39.000000000 +0200
+@@ -985,9 +985,9 @@ if [ "$debug" = "yes" ]; then
+ elif [ $ARCH = ARM ]; then
+ # arm-gcc-4.2 produces incorrect output with -ffast-math
+ # and it doesn't save any speed anyway on 4.4, so disable it
+- CFLAGS="-O3 -fno-fast-math $CFLAGS"
++ CFLAGS="-fno-fast-math $CFLAGS"
+ else
+- CFLAGS="-O3 -ffast-math $CFLAGS"
++ CFLAGS="-ffast-math $CFLAGS"
+ fi
+
+ if cc_check '' -fno-tree-vectorize ; then
@@ -1136,7 +1136,7 @@ LIBX264=$LIBX264
AR=$AR
RANLIB=$RANLIB
diff --git a/package/madplay/Makefile b/package/madplay/Makefile
index 50187a26a..d089b8358 100644
--- a/package/madplay/Makefile
+++ b/package/madplay/Makefile
@@ -9,8 +9,8 @@ PKG_RELEASE:= 1
PKG_MD5SUM:= 6814b47ceaa99880c754c5195aa1aac1
PKG_DESCR:= MPEG audio player in fixed point
PKG_SECTION:= multimedia
-PKG_DEPENDS:= libid3tag libmad
-PKG_BUILDDEP:= libid3tag libmad
+PKG_DEPENDS:= libid3tag libmad alsa-lib
+PKG_BUILDDEP:= libid3tag libmad alsa-lib
PKG_URL:= http://www.underbit.com/products/mad
PKG_SITES:= ${MASTER_SITE_SOURCEFORGE:=mad/} \
ftp://ftp.mars.org/pub/mpeg/
@@ -29,7 +29,7 @@ CONFIGURE_ARGS+= --disable-debugging \
--without-libiconv-prefix \
--without-libintl-prefix \
--without-esd \
- --without-alsa
+ --with-alsa
post-install:
${INSTALL_DIR} ${IDIR_MADPLAY}/usr/bin
diff --git a/package/mpd/Makefile b/package/mpd/Makefile
index d8ad8eac5..c9c06e4bf 100644
--- a/package/mpd/Makefile
+++ b/package/mpd/Makefile
@@ -4,9 +4,9 @@
include ${TOPDIR}/rules.mk
PKG_NAME:= mpd
-PKG_VERSION:= 0.17.5
-PKG_RELEASE:= 2
-PKG_MD5SUM:= b68be330deeb23989c08a9fefd9fcdeb
+PKG_VERSION:= 0.17.6
+PKG_RELEASE:= 1
+PKG_MD5SUM:= d0da6a6a1d9cf1e8710b6082f6ef7849
PKG_DESCR:= A music player daemon
PKG_SECTION:= multimedia
PKG_DEPENDS:= glib libstdcxx libgcc
@@ -15,6 +15,8 @@ PKG_BUILDDEP:= glib
PKG_URL:= http://www.musicpd.org/
PKG_SITES:= http://www.musicpd.org/download/mpd/0.17/
+PKG_ARCH_DEPENDS:= !avr32
+
DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.xz
PKG_FLAVOURS_MPD:= WITH_ALSA WITH_AO WITH_MP3 WITH_MP4 WITH_TREMOR
@@ -204,7 +206,7 @@ else
CONFIGURE_ARGS+= --disable-lsr
endif
-post-install:
+mpd-install:
${INSTALL_DIR} ${IDIR_MPD}/usr/bin ${IDIR_MPD}/etc
${INSTALL_BIN} ${WRKINST}/usr/bin/mpd ${IDIR_MPD}/usr/bin
${INSTALL_DATA} ./files/mpd.conf ${IDIR_MPD}/etc/mpd.conf
diff --git a/package/mpd/files/mpd.conf b/package/mpd/files/mpd.conf
index 263202b1d..ee3565c15 100644
--- a/package/mpd/files/mpd.conf
+++ b/package/mpd/files/mpd.conf
@@ -1,10 +1,11 @@
# An example configuration file for MPD
user "mpd"
+auto_update "no"
music_directory "/music"
playlist_directory "/etc/mpd/playlists"
state_file "/etc/mpd/state"
db_file "/etc/mpd/database"
-pid_file "/var/run/mpd/mpd.pid"
+pid_file "/var/run/mpd.pid"
log_file "syslog"
filesystem_charset "UTF-8"
id3v1_encoding "UTF-8"
diff --git a/package/mpd/files/mpd.init b/package/mpd/files/mpd.init
index aa09381fb..8ff050b73 100644
--- a/package/mpd/files/mpd.init
+++ b/package/mpd/files/mpd.init
@@ -21,10 +21,6 @@ start)
mkdir -p /etc/mpd/playlists
chown -R mpd:mpd /etc/mpd
fi
- if [ ! -d /var/run/mpd ];then
- mkdir -p /var/run/mpd
- chown mpd:mpd /var/run/mpd
- fi
mpd
;;
stop)
diff --git a/package/mpd/patches/patch-src_decoder_ffmpeg_decoder_plugin_c b/package/mpd/patches/patch-src_decoder_ffmpeg_decoder_plugin_c
index 0114216ad..e9568905c 100644
--- a/package/mpd/patches/patch-src_decoder_ffmpeg_decoder_plugin_c
+++ b/package/mpd/patches/patch-src_decoder_ffmpeg_decoder_plugin_c
@@ -1,11 +1,127 @@
---- mpd-0.17.4.orig/src/decoder/ffmpeg_decoder_plugin.c 2013-04-08 20:01:53.000000000 +0200
-+++ mpd-0.17.4/src/decoder/ffmpeg_decoder_plugin.c 2013-07-10 11:02:20.000000000 +0200
-@@ -44,6 +44,8 @@
- #include <libavutil/dict.h>
+--- mpd-0.17.6.orig/src/decoder/ffmpeg_decoder_plugin.c 2013-08-04 14:20:16.000000000 +0200
++++ mpd-0.17.6/src/decoder/ffmpeg_decoder_plugin.c 2013-10-15 16:26:29.000000000 +0200
+@@ -255,7 +255,8 @@ copy_interleave_frame2(uint8_t *dest, ui
+ static int
+ copy_interleave_frame(const AVCodecContext *codec_context,
+ const AVFrame *frame,
+- uint8_t *buffer, size_t buffer_size)
++ uint8_t **output_buffer,
++ uint8_t **global_buffer, int *global_buffer_size)
+ {
+ int plane_size;
+ const int data_size =
+@@ -263,18 +264,26 @@ copy_interleave_frame(const AVCodecConte
+ codec_context->channels,
+ frame->nb_samples,
+ codec_context->sample_fmt, 1);
+- if (buffer_size < (size_t)data_size)
+- /* buffer is too small - shouldn't happen */
+- return AVERROR(EINVAL);
+
+ if (av_sample_fmt_is_planar(codec_context->sample_fmt) &&
+ codec_context->channels > 1) {
+- copy_interleave_frame2(buffer, frame->extended_data,
++ if(*global_buffer_size < data_size) {
++ av_freep(global_buffer);
++
++ *global_buffer = (uint8_t*)av_malloc(data_size);
++
++ if (!*global_buffer)
++ /* Not enough memory - shouldn't happen */
++ return AVERROR(ENOMEM);
++ *global_buffer_size = data_size;
++ }
++ *output_buffer = *global_buffer;
++ copy_interleave_frame2(*output_buffer, frame->extended_data,
+ frame->nb_samples,
+ codec_context->channels,
+ av_get_bytes_per_sample(codec_context->sample_fmt));
+ } else {
+- memcpy(buffer, frame->extended_data[0], data_size);
++ *output_buffer = frame->extended_data[0];
+ }
+
+ return data_size;
+@@ -285,7 +294,8 @@ static enum decoder_command
+ ffmpeg_send_packet(struct decoder *decoder, struct input_stream *is,
+ const AVPacket *packet,
+ AVCodecContext *codec_context,
+- const AVRational *time_base)
++ const AVRational *time_base,
++ uint8_t **buffer, int *buffer_size)
+ {
+ if (packet->pts >= 0 && packet->pts != (int64_t)AV_NOPTS_VALUE)
+ decoder_timestamp(decoder,
+@@ -299,8 +309,7 @@ ffmpeg_send_packet(struct decoder *decod
+ #endif
+
+ #if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(53,25,0)
+- uint8_t aligned_buffer[(AVCODEC_MAX_AUDIO_FRAME_SIZE * 3) / 2 + 16];
+- const size_t buffer_size = sizeof(aligned_buffer);
++ uint8_t *output_buffer;
+ #else
+ /* libavcodec < 0.8 needs an aligned buffer */
+ uint8_t audio_buf[(AVCODEC_MAX_AUDIO_FRAME_SIZE * 3) / 2 + 16];
+@@ -316,7 +325,7 @@ ffmpeg_send_packet(struct decoder *decod
+ packet_size > 0 &&
#endif
+ cmd == DECODE_COMMAND_NONE) {
+- int audio_size = buffer_size;
++ int audio_size = 0;
+ #if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(53,25,0)
-+#define AVCODEC_MAX_AUDIO_FRAME_SIZE 192000
+ AVFrame *frame = avcodec_alloc_frame();
+@@ -332,12 +341,11 @@ ffmpeg_send_packet(struct decoder *decod
+ if (len >= 0 && got_frame) {
+ audio_size = copy_interleave_frame(codec_context,
+ frame,
+- aligned_buffer,
+- buffer_size);
++ &output_buffer,
++ buffer, buffer_size);
+ if (audio_size < 0)
+ len = audio_size;
+- } else if (len >= 0)
+- len = -1;
++ }
+
+ #if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(54, 28, 0)
+ avcodec_free_frame(&frame);
+@@ -373,7 +381,7 @@ ffmpeg_send_packet(struct decoder *decod
+ continue;
+
+ cmd = decoder_data(decoder, is,
+- aligned_buffer, audio_size,
++ output_buffer, audio_size,
+ codec_context->bit_rate / 1000);
+ }
+ return cmd;
+@@ -589,6 +597,9 @@ ffmpeg_decode(struct decoder *decoder, s
+ decoder_initialized(decoder, &audio_format,
+ input->seekable, total_time);
+
++ uint8_t *interleaved_buffer = NULL;
++ int interleaved_buffer_size = 0;
+
- #undef G_LOG_DOMAIN
- #define G_LOG_DOMAIN "ffmpeg"
+ enum decoder_command cmd;
+ do {
+ AVPacket packet;
+@@ -599,7 +610,8 @@ ffmpeg_decode(struct decoder *decoder, s
+ if (packet.stream_index == audio_stream)
+ cmd = ffmpeg_send_packet(decoder, input,
+ &packet, codec_context,
+- &av_stream->time_base);
++ &av_stream->time_base,
++ &interleaved_buffer, &interleaved_buffer_size);
+ else
+ cmd = decoder_get_command(decoder);
+@@ -620,6 +632,8 @@ ffmpeg_decode(struct decoder *decoder, s
+ }
+ } while (cmd != DECODE_COMMAND_STOP);
+
++ av_freep(&interleaved_buffer);
++
+ avcodec_close(codec_context);
+ #if LIBAVFORMAT_VERSION_INT >= AV_VERSION_INT(53,17,0)
+ avformat_close_input(&format_context);
diff --git a/package/oprofile/Makefile b/package/oprofile/Makefile
index d0bfbea2d..7a7ef934e 100644
--- a/package/oprofile/Makefile
+++ b/package/oprofile/Makefile
@@ -14,7 +14,7 @@ PKG_BUILDDEP:= popt binutils
PKG_URL:= http://oprofile.sourceforge.net/
PKG_SITES:= ${MASTER_SITE_SOURCEFORGE:=oprofile/}
-PKG_ARCH_DEPENDS:= !cris !avr32
+PKG_ARCH_DEPENDS:= !cris !avr32 !m68k
PKG_CFLINE_OPROFILE:= select BUSYBOX_EXPR
diff --git a/package/pcc-libs/Makefile b/package/pcc-libs/Makefile
index 0603810e8..4e04de03c 100644
--- a/package/pcc-libs/Makefile
+++ b/package/pcc-libs/Makefile
@@ -12,7 +12,7 @@ PKG_SECTION:= lang
PKG_URL:= http://pcc.ludd.ltu.se/
PKG_SITES:= http://pcc.ludd.ltu.se/ftp/pub/pcc-releases/
-PKG_ARCH_DEPENDS:= !arm !cris !mips !ppc !avr32
+PKG_ARCH_DEPENDS:= !arm !cris !m68k !mips !ppc !avr32
DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tgz
include $(TOPDIR)/mk/package.mk
diff --git a/package/pcc/Makefile b/package/pcc/Makefile
index c38faccfc..5630157de 100644
--- a/package/pcc/Makefile
+++ b/package/pcc/Makefile
@@ -14,7 +14,7 @@ PKG_URL:= http://pcc.ludd.ltu.se/
PKG_SITES:= http://pcc.ludd.ltu.se/ftp/pub/pcc-releases/
PKG_NOPARALLEL:= 1
-PKG_ARCH_DEPENDS:= !arm !cris !mips !ppc !avr32
+PKG_ARCH_DEPENDS:= !arm !cris !m68k !mips !ppc !avr32
DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tgz
include $(TOPDIR)/mk/package.mk
diff --git a/package/sdl/patches/patch-include_SDL_config_h b/package/sdl/patches/patch-include_SDL_config_h
deleted file mode 100644
index 371f7199f..000000000
--- a/package/sdl/patches/patch-include_SDL_config_h
+++ /dev/null
@@ -1,311 +0,0 @@
---- SDL-1.2.14.orig/include/SDL_config.h 2009-10-19 13:51:07.000000000 +0200
-+++ SDL-1.2.14/include/SDL_config.h 2011-01-12 11:57:30.000000000 +0100
-@@ -1,3 +1,4 @@
-+/* include/SDL_config.h. Generated from SDL_config.h.in by configure. */
- /*
- SDL - Simple DirectMedia Layer
- Copyright (C) 1997-2009 Sam Lantinga
-@@ -23,23 +24,288 @@
- #ifndef _SDL_config_h
- #define _SDL_config_h
-
-+/* This is a set of defines to configure the SDL features */
-+
-+/* General platform specific identifiers */
- #include "SDL_platform.h"
-
--/* Add any platform that doesn't build using the configure system */
--#if defined(__DREAMCAST__)
--#include "SDL_config_dreamcast.h"
--#elif defined(__MACOS__)
--#include "SDL_config_macos.h"
--#elif defined(__MACOSX__)
--#include "SDL_config_macosx.h"
--#elif defined(__SYMBIAN32__)
--#include "SDL_config_symbian.h" /* must be before win32! */
--#elif defined(__WIN32__)
--#include "SDL_config_win32.h"
--#elif defined(__OS2__)
--#include "SDL_config_os2.h"
-+/* Make sure that this isn't included by Visual C++ */
-+#ifdef _MSC_VER
-+#error You should copy include/SDL_config.h.default to include/SDL_config.h
-+#endif
-+
-+/* C language features */
-+/* #undef const */
-+/* #undef inline */
-+/* #undef volatile */
-+
-+/* C datatypes */
-+/* #undef size_t */
-+/* #undef int8_t */
-+/* #undef uint8_t */
-+/* #undef int16_t */
-+/* #undef uint16_t */
-+/* #undef int32_t */
-+/* #undef uint32_t */
-+/* #undef int64_t */
-+/* #undef uint64_t */
-+/* #undef uintptr_t */
-+#define SDL_HAS_64BIT_TYPE 1
-+
-+/* Endianness */
-+#define SDL_BYTEORDER 1234
-+
-+/* Comment this if you want to build without any C library requirements */
-+#define HAVE_LIBC 1
-+#if HAVE_LIBC
-+
-+/* Useful headers */
-+#define HAVE_ALLOCA_H 1
-+#define HAVE_SYS_TYPES_H 1
-+#define HAVE_STDIO_H 1
-+#define STDC_HEADERS 1
-+#define HAVE_STDLIB_H 1
-+#define HAVE_STDARG_H 1
-+#define HAVE_MALLOC_H 1
-+#define HAVE_MEMORY_H 1
-+#define HAVE_STRING_H 1
-+#define HAVE_STRINGS_H 1
-+#define HAVE_INTTYPES_H 1
-+#define HAVE_STDINT_H 1
-+#define HAVE_CTYPE_H 1
-+#define HAVE_MATH_H 1
-+#define HAVE_ICONV_H 1
-+#define HAVE_SIGNAL_H 1
-+/* #undef HAVE_ALTIVEC_H */
-+
-+/* C library functions */
-+#define HAVE_MALLOC 1
-+#define HAVE_CALLOC 1
-+#define HAVE_REALLOC 1
-+#define HAVE_FREE 1
-+#define HAVE_ALLOCA 1
-+#ifndef _WIN32 /* Don't use C runtime versions of these on Windows */
-+#define HAVE_GETENV 1
-+#define HAVE_PUTENV 1
-+#define HAVE_UNSETENV 1
-+#endif
-+#define HAVE_QSORT 1
-+#define HAVE_ABS 1
-+#define HAVE_BCOPY 1
-+#define HAVE_MEMSET 1
-+#define HAVE_MEMCPY 1
-+#define HAVE_MEMMOVE 1
-+/* #undef HAVE_MEMCMP */
-+#define HAVE_STRLEN 1
-+#define HAVE_STRLCPY 1
-+#define HAVE_STRLCAT 1
-+#define HAVE_STRDUP 1
-+/* #undef HAVE__STRREV */
-+/* #undef HAVE__STRUPR */
-+/* #undef HAVE__STRLWR */
-+/* #undef HAVE_INDEX */
-+/* #undef HAVE_RINDEX */
-+#define HAVE_STRCHR 1
-+#define HAVE_STRRCHR 1
-+#define HAVE_STRSTR 1
-+/* #undef HAVE_ITOA */
-+/* #undef HAVE__LTOA */
-+/* #undef HAVE__UITOA */
-+/* #undef HAVE__ULTOA */
-+#define HAVE_STRTOL 1
-+#define HAVE_STRTOUL 1
-+/* #undef HAVE__I64TOA */
-+/* #undef HAVE__UI64TOA */
-+#define HAVE_STRTOLL 1
-+#define HAVE_STRTOULL 1
-+/* #undef HAVE_STRTOD */
-+#define HAVE_ATOI 1
-+#define HAVE_ATOF 1
-+#define HAVE_STRCMP 1
-+#define HAVE_STRNCMP 1
-+/* #undef HAVE__STRICMP */
-+#define HAVE_STRCASECMP 1
-+/* #undef HAVE__STRNICMP */
-+#define HAVE_STRNCASECMP 1
-+#define HAVE_SSCANF 1
-+#define HAVE_SNPRINTF 1
-+#define HAVE_VSNPRINTF 1
-+/* #undef HAVE_ICONV */
-+#define HAVE_SIGACTION 1
-+#define HAVE_SETJMP 1
-+#define HAVE_NANOSLEEP 1
-+/* #undef HAVE_CLOCK_GETTIME */
-+#define HAVE_GETPAGESIZE 1
-+#define HAVE_MPROTECT 1
-+
- #else
--#include "SDL_config_minimal.h"
--#endif /* platform config */
-+/* We may need some replacement for stdarg.h here */
-+#include <stdarg.h>
-+#endif /* HAVE_LIBC */
-+
-+/* Allow disabling of core subsystems */
-+/* #undef SDL_AUDIO_DISABLED */
-+/* #undef SDL_CDROM_DISABLED */
-+/* #undef SDL_CPUINFO_DISABLED */
-+/* #undef SDL_EVENTS_DISABLED */
-+/* #undef SDL_FILE_DISABLED */
-+/* #undef SDL_JOYSTICK_DISABLED */
-+/* #undef SDL_LOADSO_DISABLED */
-+/* #undef SDL_THREADS_DISABLED */
-+/* #undef SDL_TIMERS_DISABLED */
-+/* #undef SDL_VIDEO_DISABLED */
-+
-+/* Enable various audio drivers */
-+#define SDL_AUDIO_DRIVER_ALSA 1
-+#define SDL_AUDIO_DRIVER_ALSA_DYNAMIC "libasound.so.2"
-+/* #undef SDL_AUDIO_DRIVER_ARTS */
-+/* #undef SDL_AUDIO_DRIVER_ARTS_DYNAMIC */
-+/* #undef SDL_AUDIO_DRIVER_BAUDIO */
-+/* #undef SDL_AUDIO_DRIVER_BSD */
-+/* #undef SDL_AUDIO_DRIVER_COREAUDIO */
-+/* #undef SDL_AUDIO_DRIVER_DART */
-+/* #undef SDL_AUDIO_DRIVER_DC */
-+#define SDL_AUDIO_DRIVER_DISK 1
-+#define SDL_AUDIO_DRIVER_DUMMY 1
-+/* #undef SDL_AUDIO_DRIVER_DMEDIA */
-+/* #undef SDL_AUDIO_DRIVER_DSOUND */
-+/* #undef SDL_AUDIO_DRIVER_PULSE */
-+/* #undef SDL_AUDIO_DRIVER_PULSE_DYNAMIC */
-+/* #undef SDL_AUDIO_DRIVER_ESD */
-+/* #undef SDL_AUDIO_DRIVER_ESD_DYNAMIC */
-+/* #undef SDL_AUDIO_DRIVER_MINT */
-+/* #undef SDL_AUDIO_DRIVER_MMEAUDIO */
-+/* #undef SDL_AUDIO_DRIVER_NAS */
-+/* #undef SDL_AUDIO_DRIVER_NAS_DYNAMIC */
-+/* #undef SDL_AUDIO_DRIVER_OSS */
-+/* #undef SDL_AUDIO_DRIVER_OSS_SOUNDCARD_H */
-+/* #undef SDL_AUDIO_DRIVER_PAUD */
-+/* #undef SDL_AUDIO_DRIVER_QNXNTO */
-+/* #undef SDL_AUDIO_DRIVER_SNDMGR */
-+/* #undef SDL_AUDIO_DRIVER_SUNAUDIO */
-+/* #undef SDL_AUDIO_DRIVER_WAVEOUT */
-+
-+/* Enable various cdrom drivers */
-+/* #undef SDL_CDROM_AIX */
-+/* #undef SDL_CDROM_BEOS */
-+/* #undef SDL_CDROM_BSDI */
-+/* #undef SDL_CDROM_DC */
-+/* #undef SDL_CDROM_DUMMY */
-+/* #undef SDL_CDROM_FREEBSD */
-+#define SDL_CDROM_LINUX 1
-+/* #undef SDL_CDROM_MACOS */
-+/* #undef SDL_CDROM_MACOSX */
-+/* #undef SDL_CDROM_MINT */
-+/* #undef SDL_CDROM_OPENBSD */
-+/* #undef SDL_CDROM_OS2 */
-+/* #undef SDL_CDROM_OSF */
-+/* #undef SDL_CDROM_QNX */
-+/* #undef SDL_CDROM_WIN32 */
-+
-+/* Enable various input drivers */
-+#define SDL_INPUT_LINUXEV 1
-+#define SDL_INPUT_TSLIB 1
-+/* #undef SDL_JOYSTICK_BEOS */
-+/* #undef SDL_JOYSTICK_DC */
-+/* #undef SDL_JOYSTICK_DUMMY */
-+/* #undef SDL_JOYSTICK_IOKIT */
-+#define SDL_JOYSTICK_LINUX 1
-+/* #undef SDL_JOYSTICK_MACOS */
-+/* #undef SDL_JOYSTICK_MINT */
-+/* #undef SDL_JOYSTICK_OS2 */
-+/* #undef SDL_JOYSTICK_RISCOS */
-+/* #undef SDL_JOYSTICK_WINMM */
-+/* #undef SDL_JOYSTICK_USBHID */
-+/* #undef SDL_JOYSTICK_USBHID_MACHINE_JOYSTICK_H */
-+
-+/* Enable various shared object loading systems */
-+/* #undef SDL_LOADSO_BEOS */
-+/* #undef SDL_LOADSO_DLCOMPAT */
-+#define SDL_LOADSO_DLOPEN 1
-+/* #undef SDL_LOADSO_DUMMY */
-+/* #undef SDL_LOADSO_LDG */
-+/* #undef SDL_LOADSO_MACOS */
-+/* #undef SDL_LOADSO_OS2 */
-+/* #undef SDL_LOADSO_WIN32 */
-+
-+/* Enable various threading systems */
-+/* #undef SDL_THREAD_BEOS */
-+/* #undef SDL_THREAD_DC */
-+/* #undef SDL_THREAD_OS2 */
-+/* #undef SDL_THREAD_PTH */
-+#define SDL_THREAD_PTHREAD 1
-+#define SDL_THREAD_PTHREAD_RECURSIVE_MUTEX 1
-+/* #undef SDL_THREAD_PTHREAD_RECURSIVE_MUTEX_NP */
-+/* #undef SDL_THREAD_SPROC */
-+/* #undef SDL_THREAD_WIN32 */
-+
-+/* Enable various timer systems */
-+/* #undef SDL_TIMER_BEOS */
-+/* #undef SDL_TIMER_DC */
-+/* #undef SDL_TIMER_DUMMY */
-+/* #undef SDL_TIMER_MACOS */
-+/* #undef SDL_TIMER_MINT */
-+/* #undef SDL_TIMER_OS2 */
-+/* #undef SDL_TIMER_RISCOS */
-+#define SDL_TIMER_UNIX 1
-+/* #undef SDL_TIMER_WIN32 */
-+/* #undef SDL_TIMER_WINCE */
-+
-+/* Enable various video drivers */
-+/* #undef SDL_VIDEO_DRIVER_AALIB */
-+/* #undef SDL_VIDEO_DRIVER_BWINDOW */
-+/* #undef SDL_VIDEO_DRIVER_CACA */
-+/* #undef SDL_VIDEO_DRIVER_DC */
-+/* #undef SDL_VIDEO_DRIVER_DDRAW */
-+#define SDL_VIDEO_DRIVER_DGA 1
-+/* #undef SDL_VIDEO_DRIVER_DIRECTFB */
-+/* #undef SDL_VIDEO_DRIVER_DRAWSPROCKET */
-+#define SDL_VIDEO_DRIVER_DUMMY 1
-+#define SDL_VIDEO_DRIVER_FBCON 1
-+/* #undef SDL_VIDEO_DRIVER_GAPI */
-+/* #undef SDL_VIDEO_DRIVER_GEM */
-+/* #undef SDL_VIDEO_DRIVER_GGI */
-+/* #undef SDL_VIDEO_DRIVER_IPOD */
-+/* #undef SDL_VIDEO_DRIVER_NANOX */
-+/* #undef SDL_VIDEO_DRIVER_OS2FS */
-+/* #undef SDL_VIDEO_DRIVER_PHOTON */
-+/* #undef SDL_VIDEO_DRIVER_PICOGUI */
-+/* #undef SDL_VIDEO_DRIVER_PS2GS */
-+/* #undef SDL_VIDEO_DRIVER_PS3 */
-+/* #undef SDL_VIDEO_DRIVER_QTOPIA */
-+/* #undef SDL_VIDEO_DRIVER_QUARTZ */
-+/* #undef SDL_VIDEO_DRIVER_RISCOS */
-+/* #undef SDL_VIDEO_DRIVER_SVGALIB */
-+/* #undef SDL_VIDEO_DRIVER_TOOLBOX */
-+/* #undef SDL_VIDEO_DRIVER_VGL */
-+/* #undef SDL_VIDEO_DRIVER_WINDIB */
-+/* #undef SDL_VIDEO_DRIVER_WSCONS */
-+#define SDL_VIDEO_DRIVER_X11 1
-+#define SDL_VIDEO_DRIVER_X11_DGAMOUSE 1
-+#define SDL_VIDEO_DRIVER_X11_DYNAMIC "libX11.so.6"
-+#define SDL_VIDEO_DRIVER_X11_DYNAMIC_XEXT "libXext.so.6"
-+/* #undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XRANDR */
-+/* #undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XRENDER */
-+#define SDL_VIDEO_DRIVER_X11_VIDMODE 1
-+#define SDL_VIDEO_DRIVER_X11_XINERAMA 1
-+#define SDL_VIDEO_DRIVER_X11_XME 1
-+/* #undef SDL_VIDEO_DRIVER_X11_XRANDR */
-+#define SDL_VIDEO_DRIVER_X11_XV 1
-+/* #undef SDL_VIDEO_DRIVER_XBIOS */
-+
-+/* Enable OpenGL support */
-+/* #undef SDL_VIDEO_OPENGL */
-+/* #undef SDL_VIDEO_OPENGL_GLX */
-+/* #undef SDL_VIDEO_OPENGL_WGL */
-+/* #undef SDL_VIDEO_OPENGL_OSMESA */
-+/* #undef SDL_VIDEO_OPENGL_OSMESA_DYNAMIC */
-+
-+/* Disable screensaver */
-+#define SDL_VIDEO_DISABLE_SCREENSAVER 1
-+
-+/* Enable assembly routines */
-+#define SDL_ASSEMBLY_ROUTINES 1
-+#define SDL_HERMES_BLITTERS 1
-+/* #undef SDL_ALTIVEC_BLITTERS */
-
- #endif /* _SDL_config_h */
diff --git a/package/util-linux/Makefile b/package/util-linux/Makefile
index 8ca5eec63..76d482629 100644
--- a/package/util-linux/Makefile
+++ b/package/util-linux/Makefile
@@ -13,6 +13,8 @@ PKG_BUILDDEP:= ncurses
PKG_SITES:= http://www.kernel.org/pub/linux/utils/util-linux/v2.23/
PKG_NOPARALLEL:= 1
+PKG_ARCH_DEPENDS:= !m68k
+
DISTFILES:= $(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SUBPKGS:= FDISK SFDISK SWAP_UTILS LOSETUP MCOOKIE MOUNT
diff --git a/target/arm/kernel.config b/target/arm/kernel.config
index d7eacd13e..1b14baed0 100644
--- a/target/arm/kernel.config
+++ b/target/arm/kernel.config
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# Linux/arm 3.9.9 Kernel Configuration
+# Linux/arm 3.9.11 Kernel Configuration
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -18,7 +18,6 @@ CONFIG_VECTORS_BASE=0xffff0000
CONFIG_ARM_PATCH_PHYS_VIRT=y
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
CONFIG_IRQ_WORK=y
-CONFIG_BUILDTIME_EXTABLE_SORT=y
#
# General setup
@@ -33,8 +32,8 @@ CONFIG_HAVE_KERNEL_LZMA=y
CONFIG_HAVE_KERNEL_XZ=y
CONFIG_HAVE_KERNEL_LZO=y
# CONFIG_KERNEL_GZIP is not set
-CONFIG_KERNEL_LZMA=y
-# CONFIG_KERNEL_XZ is not set
+# CONFIG_KERNEL_LZMA is not set
+CONFIG_KERNEL_XZ=y
# CONFIG_KERNEL_LZO is not set
CONFIG_DEFAULT_HOSTNAME="openadk"
CONFIG_SYSVIPC=y
@@ -77,8 +76,9 @@ CONFIG_TINY_RCU=y
# CONFIG_PREEMPT_RCU is not set
# CONFIG_RCU_STALL_COMMON is not set
# CONFIG_TREE_RCU_TRACE is not set
-# CONFIG_IKCONFIG is not set
-CONFIG_LOG_BUF_SHIFT=17
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+CONFIG_LOG_BUF_SHIFT=16
# CONFIG_CGROUPS is not set
# CONFIG_CHECKPOINT_RESTORE is not set
# CONFIG_NAMESPACES is not set
@@ -163,7 +163,7 @@ CONFIG_INLINE_READ_UNLOCK=y
CONFIG_INLINE_READ_UNLOCK_IRQ=y
CONFIG_INLINE_WRITE_UNLOCK=y
CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
-CONFIG_FREEZER=y
+# CONFIG_FREEZER is not set
#
# System Type
@@ -289,7 +289,7 @@ CONFIG_SPLIT_PTLOCK_CPUS=4
CONFIG_ZONE_DMA_FLAG=0
# CONFIG_KSM is not set
CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
-CONFIG_CROSS_MEMORY_ATTACH=y
+# CONFIG_CROSS_MEMORY_ATTACH is not set
CONFIG_NEED_PER_CPU_KM=y
# CONFIG_CLEANCACHE is not set
CONFIG_FORCE_MAX_ZONEORDER=11
@@ -326,7 +326,7 @@ CONFIG_CMDLINE=""
#
# At least one emulation must be selected
#
-# CONFIG_VFP is not set
+CONFIG_VFP=y
#
# Userspace binary formats
@@ -341,19 +341,10 @@ CONFIG_COREDUMP=y
#
# Power management options
#
-CONFIG_SUSPEND=y
-CONFIG_SUSPEND_FREEZER=y
-CONFIG_PM_SLEEP=y
-# CONFIG_PM_AUTOSLEEP is not set
-# CONFIG_PM_WAKELOCKS is not set
+# CONFIG_SUSPEND is not set
# CONFIG_PM_RUNTIME is not set
-CONFIG_PM=y
-# CONFIG_PM_DEBUG is not set
-# CONFIG_APM_EMULATION is not set
-CONFIG_PM_CLK=y
-CONFIG_CPU_PM=y
CONFIG_ARCH_SUSPEND_POSSIBLE=y
-CONFIG_ARM_CPU_SUSPEND=y
+# CONFIG_ARM_CPU_SUSPEND is not set
CONFIG_NET=y
#
@@ -739,9 +730,9 @@ CONFIG_DCACHE_WORD_ACCESS=y
CONFIG_EXPORTFS=y
CONFIG_FILE_LOCKING=y
CONFIG_FSNOTIFY=y
-# CONFIG_DNOTIFY is not set
-# CONFIG_INOTIFY_USER is not set
-# CONFIG_FANOTIFY is not set
+CONFIG_DNOTIFY=y
+CONFIG_INOTIFY_USER=y
+CONFIG_FANOTIFY=y
# CONFIG_QUOTA is not set
# CONFIG_QUOTACTL is not set
# CONFIG_AUTOFS4_FS is not set
@@ -789,7 +780,7 @@ CONFIG_DEBUG_KERNEL=y
# CONFIG_PANIC_ON_OOPS is not set
CONFIG_PANIC_ON_OOPS_VALUE=0
# CONFIG_DETECT_HUNG_TASK is not set
-CONFIG_SCHED_DEBUG=y
+# CONFIG_SCHED_DEBUG is not set
# CONFIG_SCHEDSTATS is not set
# CONFIG_TIMER_STATS is not set
# CONFIG_DEBUG_OBJECTS is not set
@@ -967,7 +958,6 @@ CONFIG_CRYPTO_HW=y
#
# Library routines
#
-CONFIG_BITREVERSE=y
CONFIG_GENERIC_STRNCPY_FROM_USER=y
CONFIG_GENERIC_STRNLEN_USER=y
CONFIG_GENERIC_PCI_IOMAP=y
@@ -976,9 +966,8 @@ CONFIG_GENERIC_IO=y
# CONFIG_CRC16 is not set
# CONFIG_CRC_T10DIF is not set
# CONFIG_CRC_ITU_T is not set
-CONFIG_CRC32=y
-# CONFIG_CRC32_SELFTEST is not set
-CONFIG_CRC32_SLICEBY8=y
+# CONFIG_CRC32 is not set
+# CONFIG_CRC32_SLICEBY8 is not set
# CONFIG_CRC32_SLICEBY4 is not set
# CONFIG_CRC32_SARWATE is not set
# CONFIG_CRC32_BIT is not set
diff --git a/target/config/Config.in b/target/config/Config.in
index 15981617e..f8f59eabf 100644
--- a/target/config/Config.in
+++ b/target/config/Config.in
@@ -93,21 +93,17 @@ depends on ADK_TARGET_KERNEL64 && ADK_LINUX_X86_64
config ADK_TARGET_ABI_64
boolean "64 Bit ABI"
select ADK_64
- select ADK_TARGET_MULTILIB_X86_64 if ADK_TARGET_WITH_MULTILIB
config ADK_TARGET_ABI_X32
boolean "x32 ABI (new)"
select ADK_x32
- select ADK_TARGET_MULTILIB_X86_X32 if ADK_TARGET_WITH_MULTILIB
config ADK_TARGET_ABI_32
boolean "32 Bit ABI"
select ADK_32
- select ADK_TARGET_MULTILIB_X86_32 if ADK_TARGET_WITH_MULTILIB
endchoice
-# multilib support
config ADK_TARGET_LIBC_PATH
string
default "lib32" if ADK_n32
@@ -120,71 +116,6 @@ config ADK_TARGET_LIBC_PATH
default "lib"
-menu "Target multilib support"
-depends on ADK_TARGET_DISABLED && \
- ( ADK_LINUX_X86_64 || ADK_LINUX_MIPS ) && \
- ( ADK_TARGET_LIB_EGLIBC || ADK_TARGET_LIB_GLIBC )
-
-config ADK_TARGET_WITH_MULTILIB
- boolean "multilib support"
-
-config ADK_TARGET_MULTILIB_MIPS_64
- boolean "64 bit libraries (n64 abi)"
- depends on ADK_LINUX_MIPS && ADK_TARGET_WITH_MULTILIB
- default y if ADK_n64
-
-config ADK_TARGET_MULTILIB_MIPS_N32
- boolean "32 bit libraries (n32 abi)"
- depends on ADK_LINUX_MIPS && ADK_TARGET_WITH_MULTILIB
- default y if ADK_n32
-
-config ADK_TARGET_MULTILIB_MIPS_O32
- boolean "32 bit libraries (o32 abi)"
- depends on ADK_LINUX_MIPS && ADK_TARGET_WITH_MULTILIB
- default y if ADK_o32
-
-config ADK_TARGET_MULTILIB_X86_64
- boolean "64 bit libraries"
- depends on ADK_LINUX_X86_64 && ADK_TARGET_WITH_MULTILIB
- default y if ADK_64
-
-config ADK_TARGET_MULTILIB_X86_32
- boolean "32 bit libraries"
- depends on ADK_LINUX_X86_64 && ADK_TARGET_WITH_MULTILIB
- default y if ADK_32
-
-config ADK_TARGET_MULTILIB_X86_X32
- boolean "x32 bit libraries"
- depends on ADK_LINUX_X86_64 && ADK_TARGET_WITH_MULTILIB
- default y if ADK_x32
-
-config ADK_MULTILIB_TARGET
- string
- default "m32" if ADK_TARGET_MULTILIB_X86_32 \
- && !ADK_TARGET_MULTILIB_X86_64 \
- && !ADK_TARGET_MULTILIB_X86_X32
- default "m64" if !ADK_TARGET_MULTILIB_X86_32 \
- && ADK_TARGET_MULTILIB_X86_64 \
- && !ADK_TARGET_MULTILIB_X86_X32
- default "x32" if !ADK_TARGET_MULTILIB_X86_32 \
- && !ADK_TARGET_MULTILIB_X86_64 \
- && ADK_TARGET_MULTILIB_X86_X32
- default "m32,m64" if ADK_TARGET_MULTILIB_X86_32 \
- && ADK_TARGET_MULTILIB_X86_64 \
- && !ADK_TARGET_MULTILIB_X86_X32
- default "mx32,m64" if !ADK_TARGET_MULTILIB_X86_32 \
- && ADK_TARGET_MULTILIB_X86_64 \
- && ADK_TARGET_MULTILIB_X86_X32
- default "m32,mx32" if ADK_TARGET_MULTILIB_X86_32 \
- && !ADK_TARGET_MULTILIB_X86_64 \
- && ADK_TARGET_MULTILIB_X86_X32
- default "m64,m32,mx32" if ADK_TARGET_MULTILIB_X86_32 \
- && ADK_TARGET_MULTILIB_X86_64 \
- && ADK_TARGET_MULTILIB_X86_X32
-
-
-endmenu
-
# submodel support
#
choice
diff --git a/target/linux/config/Config.in.debug b/target/linux/config/Config.in.debug
index 50c173321..cea0198d1 100644
--- a/target/linux/config/Config.in.debug
+++ b/target/linux/config/Config.in.debug
@@ -90,7 +90,8 @@ config ADK_KPACKAGE_KMOD_OPROFILE
prompt "kernel support for oprofile"
tristate
select ADK_KERNEL_PROFILING
- depends on !ADK_TARGET_SYSTEM_FOXBOARD_LX
+ depends on !ADK_LINUX_CRIS
+ depends on !ADK_LINUX_M68K
default n
help
use oprofile package to make use of the kernel support.
diff --git a/target/linux/config/Config.in.network b/target/linux/config/Config.in.network
index c0fae6e1e..00d05dcd4 100644
--- a/target/linux/config/Config.in.network
+++ b/target/linux/config/Config.in.network
@@ -4,6 +4,10 @@ config ADK_KERNEL_INET
boolean
default y
+config ADK_KERNEL_NET_CORE
+ boolean
+ default y
+
config ADK_KERNEL_IP_FIB_HASH
boolean
default y
diff --git a/target/m68k/kernel.config b/target/m68k/kernel.config
index f20c2239a..bf7ba4f8a 100644
--- a/target/m68k/kernel.config
+++ b/target/m68k/kernel.config
@@ -331,9 +331,7 @@ CONFIG_GENERIC_CPU_DEVICES=y
CONFIG_BLK_DEV=y
# CONFIG_ATARI_FLOPPY is not set
# CONFIG_BLK_DEV_COW_COMMON is not set
-CONFIG_BLK_DEV_LOOP=y
-CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
-# CONFIG_BLK_DEV_CRYPTOLOOP is not set
+# CONFIG_BLK_DEV_LOOP is not set
# CONFIG_BLK_DEV_DRBD is not set
# CONFIG_BLK_DEV_NBD is not set
# CONFIG_BLK_DEV_RAM is not set
@@ -363,76 +361,17 @@ CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
# Altera FPGA firmware download module
#
CONFIG_HAVE_IDE=y
-CONFIG_IDE=y
-
-#
-# Please see Documentation/ide/ide.txt for help/info on IDE drives
-#
-CONFIG_IDE_ATAPI=y
-# CONFIG_BLK_DEV_IDE_SATA is not set
-CONFIG_IDE_GD=y
-CONFIG_IDE_GD_ATA=y
-# CONFIG_IDE_GD_ATAPI is not set
-CONFIG_BLK_DEV_IDECD=y
-CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y
-# CONFIG_BLK_DEV_IDETAPE is not set
-# CONFIG_IDE_TASK_IOCTL is not set
-# CONFIG_IDE_PROC_FS is not set
-
-#
-# IDE chipset support/bugfixes
-#
-# CONFIG_BLK_DEV_PLATFORM is not set
-# CONFIG_BLK_DEV_FALCON_IDE is not set
-# CONFIG_BLK_DEV_IDEDMA is not set
+# CONFIG_IDE is not set
#
# SCSI device support
#
CONFIG_SCSI_MOD=y
# CONFIG_RAID_ATTRS is not set
-CONFIG_SCSI=y
-CONFIG_SCSI_DMA=y
-# CONFIG_SCSI_TGT is not set
+# CONFIG_SCSI is not set
+# CONFIG_SCSI_DMA is not set
# CONFIG_SCSI_NETLINK is not set
-# CONFIG_SCSI_PROC_FS is not set
-
-#
-# SCSI support type (disk, tape, CD-ROM)
-#
-CONFIG_BLK_DEV_SD=y
-# CONFIG_CHR_DEV_ST is not set
-# CONFIG_CHR_DEV_OSST is not set
-CONFIG_BLK_DEV_SR=y
-CONFIG_BLK_DEV_SR_VENDOR=y
-# CONFIG_CHR_DEV_SG is not set
-# CONFIG_CHR_DEV_SCH is not set
-# CONFIG_SCSI_MULTI_LUN is not set
-# CONFIG_SCSI_CONSTANTS is not set
-# CONFIG_SCSI_LOGGING is not set
-# CONFIG_SCSI_SCAN_ASYNC is not set
-
-#
-# SCSI Transports
-#
-CONFIG_SCSI_SPI_ATTRS=y
-# CONFIG_SCSI_FC_ATTRS is not set
-# CONFIG_SCSI_ISCSI_ATTRS is not set
-# CONFIG_SCSI_SAS_ATTRS is not set
-# CONFIG_SCSI_SAS_LIBSAS is not set
-# CONFIG_SCSI_SRP_ATTRS is not set
-CONFIG_SCSI_LOWLEVEL=y
-# CONFIG_ISCSI_TCP is not set
-# CONFIG_ISCSI_BOOT_SYSFS is not set
-# CONFIG_SCSI_UFSHCD is not set
-# CONFIG_LIBFC is not set
-# CONFIG_LIBFCOE is not set
-# CONFIG_SCSI_DEBUG is not set
-# CONFIG_ATARI_SCSI is not set
-# CONFIG_SCSI_DH is not set
-# CONFIG_SCSI_OSD_INITIATOR is not set
# CONFIG_MD is not set
-# CONFIG_TARGET_CORE is not set
CONFIG_NETDEVICES=y
# CONFIG_NET_CORE is not set
diff --git a/target/m68k/uclibc.config b/target/m68k/uclibc.config
index d1c132bc3..12e42b194 100644
--- a/target/m68k/uclibc.config
+++ b/target/m68k/uclibc.config
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Version: 0.9.33.2
-# Fri Sep 21 11:44:35 2012
+# Thu Oct 17 09:03:34 2013
#
# TARGET_alpha is not set
# TARGET_arm is not set
@@ -77,11 +77,12 @@ LDSO_LD_LIBRARY_PATH=y
UCLIBC_CTOR_DTOR=y
# LDSO_GNU_HASH_SUPPORT is not set
# HAS_NO_THREADS is not set
-LINUXTHREADS_OLD=y
+# LINUXTHREADS_OLD is not set
# LINUXTHREADS_NEW is not set
-# UCLIBC_HAS_THREADS_NATIVE is not set
+UCLIBC_HAS_THREADS_NATIVE=y
UCLIBC_HAS_THREADS=y
-PTHREADS_DEBUG_SUPPORT=y
+UCLIBC_HAS_TLS=y
+# PTHREADS_DEBUG_SUPPORT is not set
UCLIBC_HAS_SYSLOG=y
UCLIBC_HAS_LFS=y
# MALLOC is not set
@@ -194,6 +195,7 @@ UCLIBC_HAS_ERRNO_MESSAGES=y
UCLIBC_HAS_SIGNUM_MESSAGES=y
# UCLIBC_HAS_SYS_SIGLIST is not set
UCLIBC_HAS_GNU_GETOPT=y
+UCLIBC_HAS_STDIO_FUTEXES=y
UCLIBC_HAS_GNU_GETSUBOPT=y
#
@@ -234,7 +236,6 @@ UCLIBC_BUILD_NOEXECSTACK=y
CROSS_COMPILER_PREFIX=""
UCLIBC_EXTRA_CFLAGS=""
# DODEBUG is not set
-# DODEBUG_PT is not set
DOSTRIP=y
# DOASSERTS is not set
# SUPPORT_LD_DEBUG is not set
diff --git a/target/packages/pkg-available/mpdbox b/target/packages/pkg-available/mpdbox
index 889c85358..cedb79b04 100644
--- a/target/packages/pkg-available/mpdbox
+++ b/target/packages/pkg-available/mpdbox
@@ -34,7 +34,7 @@ config ADK_PKG_MPDBOX
select ADK_PACKAGE_LIGHTTPD_MOD_DIRLISTING
select ADK_PACKAGE_PHP
select ADK_PACKAGE_PHP_MOD_SESSION
- select ADK_PACKAGE_PHP_MOD_SQLITE
+ select ADK_PACKAGE_PHP_MOD_JSON
select ADK_PACKAGE_PHP_FASTCGI
select ADK_PACKAGE_SCREEN
select ADK_PACKAGE_VIM
diff --git a/toolchain/eglibc/Makefile b/toolchain/eglibc/Makefile
index 76b09237d..b9be77579 100644
--- a/toolchain/eglibc/Makefile
+++ b/toolchain/eglibc/Makefile
@@ -4,7 +4,6 @@
include $(TOPDIR)/rules.mk
include ../rules.mk
include Makefile.inc
-include Makefile.multilib
include ${TOPDIR}/mk/buildhlp.mk
# ssp partially supported
@@ -17,36 +16,6 @@ endif
EGLIBC_BUILD_DIR_INITIAL:= ${WRKDIR}/$(PKG_NAME)-$(PKG_VERSION)-headers
EGLIBC_BUILD_DIR_FINAL:= ${WRKDIR}/$(PKG_NAME)-$(PKG_VERSION)-final
-ifeq ($(ADK_TARGET_WITH_MULTILIB),y)
-$(WRKBUILD)/.headers_configure:
- for abi in $(TABI); do \
- mkdir -p $(EGLIBC_BUILD_DIR_INITIAL)-$${abi/*:/}; \
- $(CP) ${TOPDIR}/toolchain/eglibc/eglibc.config \
- $(EGLIBC_BUILD_DIR_INITIAL)-$${abi/*:/}/option-groups.config; \
- (cd $(EGLIBC_BUILD_DIR_INITIAL)-$${abi/*:/}; \
- ${EGLIBC_ENV} \
- CC="${REAL_GNU_TARGET_NAME}-gcc ${TCFLAGS}$${abi/*:/}" \
- $(WRKBUILD)/libc/configure \
- --prefix=$(STAGING_TARGET_DIR)-$${abi/*:/}/usr \
- --with-headers=$(STAGING_TARGET_DIR)-$${abi/*:/}/usr/include \
- --host=$${abi/:*/} \
- ${EGLIBC_CONFOPTS} \
- ); \
- done
- touch $@
-
-$(WRKBUILD)/.headers: $(WRKBUILD)/.headers_configure
- for abi in $(TABI); do \
- (cd $(EGLIBC_BUILD_DIR_INITIAL)-$${abi/*:/}; \
- ${EGLIBC_ENV} \
- CC="${REAL_GNU_TARGET_NAME}-gcc ${TCFLAGS}$${abi/*:/}" \
- $(MAKE) install-headers install-bootstrap-headers=yes cross-compiling=yes \
- ); \
- touch $(STAGING_TARGET_DIR)-$${abi/*:/}/usr/include/gnu/stubs.h; \
- touch $(STAGING_TARGET_DIR)-$${abi/*:/}/usr/include/gnu/stubs-{32,x32,64,o32,n32}.h; \
- done
- touch $@
-else
$(WRKBUILD)/.headers_configure:
mkdir -p $(EGLIBC_BUILD_DIR_INITIAL)
$(CP) ${TOPDIR}/toolchain/eglibc/eglibc.config \
@@ -71,7 +40,6 @@ $(WRKBUILD)/.headers: $(WRKBUILD)/.headers_configure
touch $(STAGING_TARGET_DIR)/usr/include/gnu/stubs.h
touch $(STAGING_TARGET_DIR)/usr/include/gnu/stubs-{32,x32,64,o32,n32,soft,hard}.h
touch $@
-endif
ifeq ($(ADK_TOOLCHAIN_GCC_USE_SSP),y)
EGLIBC_ENV+= libc_cv_ssp=yes
@@ -79,56 +47,6 @@ else
EGLIBC_ENV+= libc_cv_ssp=no
endif
-ifeq ($(ADK_TARGET_WITH_MULTILIB),y)
-$(WRKBUILD)/.configured:
- for abi in $(TABI); do \
- mkdir -p $(EGLIBC_BUILD_DIR_FINAL)-$${abi/*:/} ;\
- $(CP) ${TOPDIR}/toolchain/eglibc/eglibc.config \
- $(EGLIBC_BUILD_DIR_FINAL)-$${abi/*:/}/option-groups.config ;\
- (cd $(EGLIBC_BUILD_DIR_FINAL)-$${abi/*:/}; \
- ${EGLIBC_ENV} \
- CC="${REAL_GNU_TARGET_NAME}-gcc ${TCFLAGS}$${abi/*:/}" \
- $(WRKBUILD)/libc/configure \
- --prefix=/usr \
- --enable-shared \
- --enable-stackguard-randomization \
- --host=$${abi/:*/} \
- ${EGLIBC_CONFOPTS} \
- ); \
- done
- touch $@
-
-$(WRKBUILD)/.compiled: $(WRKBUILD)/.configured
- for abi in $(TABI); do \
- ${EGLIBC_ENV} $(MAKE) -C $(EGLIBC_BUILD_DIR_FINAL)-$${abi/*:/} cross-compiling=yes all ;\
- done
- touch $@
-
-$(WRKBUILD)/.installed: $(WRKBUILD)/.compiled
- for abi in $(TABI); do \
- ${EGLIBC_ENV} $(MAKE) -C $(EGLIBC_BUILD_DIR_FINAL)-$${abi/*:/} install_root=$(STAGING_TARGET_DIR)-$${abi/*:/} install ;\
- done
- # default libgcc searching for 64 bit libraries
- ${EGLIBC_ENV} $(MAKE) -C $(EGLIBC_BUILD_DIR_FINAL)-64 install_root=$(STAGING_TARGET_DIR) install
- touch $(STAGING_TARGET_DIR)/usr/include/gnu/stubs.h
- touch $(STAGING_TARGET_DIR)/usr/include/gnu/stubs-{32,x32,64,o32,n32}.h
- # for libgcc build we need C library files, 64 bit default
- mkdir -p $(STAGING_TARGET_DIR)/lib/$(REAL_GNU_TARGET_NAME)/4.7.2 ; \
- $(CP) $(STAGING_TARGET_DIR)-64/lib/* $(STAGING_TARGET_DIR)-64/usr/lib/* \
- $(STAGING_TARGET_DIR)/lib/$(REAL_GNU_TARGET_NAME)/4.7.2/; \
- rm $(STAGING_TARGET_DIR)/lib/$(REAL_GNU_TARGET_NAME)/4.7.2/libc.so ; \
- for abi in $(TABI); do \
- mkdir -p $(STAGING_TARGET_DIR)/lib/$(REAL_GNU_TARGET_NAME)/4.7.2/$${abi/*:/} ; \
- $(CP) $(STAGING_TARGET_DIR)-$${abi/*:/}/lib/* $(STAGING_TARGET_DIR)-$${abi/*:/}/usr/lib/* \
- $(STAGING_TARGET_DIR)/lib/$(REAL_GNU_TARGET_NAME)/4.7.2/$${abi/*:/} ; \
- rm $(STAGING_TARGET_DIR)/lib/$(REAL_GNU_TARGET_NAME)/4.7.2/$${abi/*:/}/libc.so ; \
- done
- ${INSTALL_DIR} ${STAGING_TARGET_DIR}/etc
- ${INSTALL_DATA} ${WRKBUILD}/libc/posix/gai.conf ${STAGING_TARGET_DIR}/etc/
- ${INSTALL_DATA} ${WRKBUILD}/libc/nscd/nscd.conf ${STAGING_TARGET_DIR}/etc/
- ${INSTALL_DATA} ${WRKBUILD}/libc/nss/nsswitch.conf ${STAGING_TARGET_DIR}/etc/
- touch $@
-else
$(WRKBUILD)/.configured:
mkdir -p $(EGLIBC_BUILD_DIR_FINAL)
$(CP) ${TOPDIR}/toolchain/eglibc/eglibc.config \
@@ -161,23 +79,8 @@ $(WRKBUILD)/.installed: $(EGLIBC_BUILD_DIR_FINAL)/libc.so
${INSTALL_DATA} ${WRKBUILD}/libc/nscd/nscd.conf ${STAGING_TARGET_DIR}/etc/
${INSTALL_DATA} ${WRKBUILD}/libc/nss/nsswitch.conf ${STAGING_TARGET_DIR}/etc/
touch $@
-endif
$(WRKBUILD)/.fixup:
-ifeq ($(ADK_TARGET_WITH_MULTILIB),y)
-ifeq ($(ADK_TARGET_ABI_64),y)
- ${CP} $(STAGING_TARGET_DIR)-64/lib/* $(STAGING_TARGET_DIR)/lib
- ${CP} $(STAGING_TARGET_DIR)-64/usr/lib/* $(STAGING_TARGET_DIR)/usr/lib
-endif
-ifeq ($(ADK_TARGET_ABI_32),y)
- ${CP} $(STAGING_TARGET_DIR)-32/lib/* $(STAGING_TARGET_DIR)/lib
- ${CP} $(STAGING_TARGET_DIR)-32/usr/lib/* $(STAGING_TARGET_DIR)/usr/lib
-endif
-ifeq ($(ADK_TARGET_ABI_X32),y)
- ${CP} $(STAGING_TARGET_DIR)-x32/lib/* $(STAGING_TARGET_DIR)/lib
- ${CP} $(STAGING_TARGET_DIR)-x32/usr/lib/* $(STAGING_TARGET_DIR)/usr/lib
-endif
-endif
touch $@
include ${TOPDIR}/mk/toolchain.mk
diff --git a/toolchain/eglibc/Makefile.multilib b/toolchain/eglibc/Makefile.multilib
deleted file mode 100644
index 825f5d63d..000000000
--- a/toolchain/eglibc/Makefile.multilib
+++ /dev/null
@@ -1,47 +0,0 @@
-# This file is part of the OpenADK project. OpenADK is copyrighted
-# material, please see the LICENCE file in the top-level directory.
-
-# multilib support
-ifeq ($(ADK_TARGET_WITH_MULTILIB),y)
-TABI:=
-TCFLAGS:=
-ifeq ($(ADK_TARGET_MULTILIB_X86_X32),y)
-TABI+=x86_64-openadk-linux-gnu:x32
-TCFLAGS:=-m
-endif
-ifeq ($(ADK_TARGET_MULTILIB_X86_32),y)
-TABI+=i486-openadk-linux-gnu:32
-TCFLAGS:=-m
-endif
-ifeq ($(ADK_TARGET_MULTILIB_X86_64),y)
-TABI+=x86_64-openadk-linux-gnu:64
-TCFLAGS:=-m
-endif
-ifeq ($(ADK_TARGET_MULTILIB_MIPS_N32),y)
-ifeq ($(ADK_KERNEL_CPU_LITTLE_ENDIAN),y)
-TABI+=mips64el-openadk-linux-gnu:n32
-TCFLAGS:=-mabi=
-else
-TABI+=mips64-openadk-linux-gnu:n32
-TCFLAGS:=-mabi=
-endif
-endif
-ifeq ($(ADK_TARGET_MULTILIB_MIPS_O32),y)
-ifeq ($(ADK_KERNEL_CPU_LITTLE_ENDIAN),y)
-TABI+=mips64el-openadk-linux-gnu:32
-TCFLAGS:=-mabi=
-else
-TABI+=mips64-openadk-linux-gnu:32
-TCFLAGS:=-mabi=
-endif
-endif
-ifeq ($(ADK_TARGET_MULTILIB_MIPS_64),y)
-ifeq ($(ADK_KERNEL_CPU_LITTLE_ENDIAN),y)
-TABI+=mips64el-openadk-linux-gnu:64
-TCFLAGS:=-mabi=
-else
-TABI+=mips64-openadk-linux-gnu:64
-TCFLAGS:=-mabi=
-endif
-endif
-endif
diff --git a/toolchain/gcc/Makefile b/toolchain/gcc/Makefile
index d09264718..deef63a5c 100644
--- a/toolchain/gcc/Makefile
+++ b/toolchain/gcc/Makefile
@@ -33,11 +33,16 @@ else
GCC_CONFOPTS+= --disable-sjlj-exceptions
endif
+ifeq ($(ADK_LINUX_SH)$(ADK_LINUX_X86_64),)
+GCC_CONFOPTS+= --disable-biarch --disable-multilib
+endif
ifeq ($(ADK_LINUX_SH),y)
GCC_CONFOPTS+= --with-multilib-list=m4,m4-nofpu
-else
-GCC_CONFOPTS+= --disable-biarch \
- --disable-multilib
+endif
+ifeq ($(ADK_LINUX_X86_64),y)
+ifeq ($(ADK_x32),y)
+GCC_CONFOPTS+= --with-multilib-list=mx32
+endif
endif
ifeq ($(ADK_TOOLCHAIN_GCC_SSP),y)
diff --git a/toolchain/gcc/patches/4.7.3/musl-cris.patch b/toolchain/gcc/patches/4.7.3/musl-cris.patch
new file mode 100644
index 000000000..4889263a1
--- /dev/null
+++ b/toolchain/gcc/patches/4.7.3/musl-cris.patch
@@ -0,0 +1,11 @@
+diff -Nur gcc-4.7.3.orig/gcc/config/cris/linux.h gcc-4.7.3/gcc/config/cris/linux.h
+--- gcc-4.7.3.orig/gcc/config/cris/linux.h 2011-04-11 20:46:05.000000000 +0200
++++ gcc-4.7.3/gcc/config/cris/linux.h 2013-10-11 10:01:51.000000000 +0200
+@@ -104,6 +104,7 @@
+ #define CRIS_DEFAULT_CPU_VERSION CRIS_CPU_NG
+
+ #define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1"
++#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-cris.1"
+
+ #undef CRIS_LINK_SUBTARGET_SPEC
+ #define CRIS_LINK_SUBTARGET_SPEC \
diff --git a/toolchain/glibc/Makefile b/toolchain/glibc/Makefile
index f8f0080fc..306927fc6 100644
--- a/toolchain/glibc/Makefile
+++ b/toolchain/glibc/Makefile
@@ -12,10 +12,8 @@ endif
# ssp partially supported
TARGET_CFLAGS:= $(filter-out -fstack-protector,$(TARGET_CFLAGS))
-#TARGET_CFLAGS:= $(filter-out -flto,$(TARGET_CFLAGS))
include Makefile.inc
-include Makefile.multilib
include ${TOPDIR}/mk/buildhlp.mk
ifeq ($(ADK_TARGET_NO_FPU),y)
@@ -30,32 +28,6 @@ endif
GLIBC_BUILD_DIR_INITIAL:= ${WRKDIR}/$(PKG_NAME)-$(PKG_VERSION)-headers
GLIBC_BUILD_DIR_FINAL:= ${WRKDIR}/$(PKG_NAME)-$(PKG_VERSION)-final
-ifeq ($(ADK_TARGET_WITH_MULTILIB),y)
-$(WRKBUILD)/.headers_configure:
- for abi in $(TABI); do \
- mkdir -p $(GLIBC_BUILD_DIR_INITIAL)-$${abi/*:/}; \
- (cd $(GLIBC_BUILD_DIR_INITIAL)-$${abi/*:/}; \
- ${GLIBC_ENV} \
- CC="${REAL_GNU_TARGET_NAME}-gcc -m$${abi/*:/}" \
- $(WRKBUILD)/configure \
- --prefix=$(STAGING_TARGET_DIR)-$${abi/*:/}/usr \
- --with-sysroot=$(STAGING_TARGET_DIR)-$${abi/*:/} \
- --host=$${abi/:*/} \
- ${GLIBC_CONFOPTS} \
- ); \
- done
- touch $@
-
-$(WRKBUILD)/.headers: $(WRKBUILD)/.headers_configure
- for abi in $(TABI); do \
- (cd $(GLIBC_BUILD_DIR_INITIAL)-$${abi/*:/}; \
- ${GLIBC_ENV} \
- CC="${REAL_GNU_TARGET_NAME}-gcc -m$${abi/*:/}" \
- $(MAKE) ${GLIBC_MAKEOPTS} install-headers \
- ); \
- done
- touch $@
-else
$(WRKBUILD)/.headers_configure:
mkdir -p $(GLIBC_BUILD_DIR_INITIAL)
(cd $(GLIBC_BUILD_DIR_INITIAL); \
@@ -75,51 +47,7 @@ $(WRKBUILD)/.headers: $(WRKBUILD)/.headers_configure
touch $(STAGING_TARGET_DIR)/usr/include/gnu/stubs.h
touch $(STAGING_TARGET_DIR)/usr/include/gnu/stubs-{32,x32,64,soft,hard}.h
touch $@
-endif
-ifeq ($(ADK_TARGET_WITH_MULTILIB),y)
-$(WRKBUILD)/.configured:
- for abi in $(TABI); do \
- mkdir -p $(GLIBC_BUILD_DIR_FINAL)-$${abi/*:/} ;\
- (cd $(GLIBC_BUILD_DIR_FINAL)-$${abi/*:/}; \
- ${GLIBC_ENV} \
- CC="${REAL_GNU_TARGET_NAME}-gcc -m$${abi/*:/}" \
- $(WRKBUILD)/configure \
- --prefix=/usr \
- --enable-shared \
- --enable-stackguard-randomization \
- --host=$${abi/:*/} \
- ${GLIBC_CONFOPTS} \
- ); \
- done
- touch $@
-
-$(WRKBUILD)/.compiled: $(WRKBUILD)/.configured
- for abi in $(TABI); do \
- ${GLIBC_ENV} $(MAKE) ${GLIBC_MAKEOPTS} -C $(GLIBC_BUILD_DIR_FINAL)-$${abi/*:/} all ;\
- done
- touch $@
-
-$(WRKBUILD)/.installed: $(WRKBUILD)/.compiled
- for abi in $(TABI); do \
- ${GLIBC_ENV} $(MAKE) -C $(GLIBC_BUILD_DIR_FINAL)-$${abi/*:/} install_root=$(STAGING_TARGET_DIR)-$${abi/*:/} install ;\
- done
- # default libgcc searching for 64 bit libraries
- ${GLIBC_ENV} $(MAKE) -C $(GLIBC_BUILD_DIR_FINAL)-64 install_root=$(STAGING_TARGET_DIR) install
- touch $(STAGING_TARGET_DIR)/usr/include/gnu/stubs.h
- touch $(STAGING_TARGET_DIR)/usr/include/gnu/stubs-{32,x32,64,soft,hard}.h
- for abi in $(TABI); do \
- mkdir -p $(STAGING_TARGET_DIR)/lib/$(REAL_GNU_TARGET_NAME)/4.7.2/$${abi/*:/} ; \
- $(CP) $(STAGING_TARGET_DIR)-$${abi/*:/}/lib/* $(STAGING_TARGET_DIR)-$${abi/*:/}/usr/lib/* \
- $(STAGING_TARGET_DIR)/lib/$(REAL_GNU_TARGET_NAME)/4.7.2/$${abi/*:/} ; \
- rm $(STAGING_TARGET_DIR)/lib/$(REAL_GNU_TARGET_NAME)/4.7.2/$${abi/*:/}/libc.so ; \
- done
- mkdir -p ${STAGING_TARGET_DIR}/etc
- ${INSTALL_DATA} ${WRKBUILD}/libc/posix/gai.conf ${STAGING_TARGET_DIR}/etc/
- ${INSTALL_DATA} ${WRKBUILD}/libc/nscd/nscd.conf ${STAGING_TARGET_DIR}/etc/
- ${INSTALL_DATA} ${WRKBUILD}/libc/nss/nsswitch.conf ${STAGING_TARGET_DIR}/etc/
- touch $@
-else
$(WRKBUILD)/.configured:
mkdir -p $(GLIBC_BUILD_DIR_FINAL)
(cd $(GLIBC_BUILD_DIR_FINAL); \
@@ -143,23 +71,8 @@ $(WRKBUILD)/.installed:
${INSTALL_DATA} ${WRKBUILD}/nscd/nscd.conf ${STAGING_TARGET_DIR}/etc
${INSTALL_DATA} ${WRKBUILD}/nss/nsswitch.conf ${STAGING_TARGET_DIR}/etc
touch $@
-endif
$(WRKBUILD)/.fixup:
-ifeq ($(ADK_TARGET_WITH_MULTILIB),y)
-ifeq ($(ADK_TARGET_ABI_64),y)
- ${CP} $(STAGING_TARGET_DIR)-64/lib/* $(STAGING_TARGET_DIR)/lib
- ${CP} $(STAGING_TARGET_DIR)-64/usr/lib/* $(STAGING_TARGET_DIR)/usr/lib
-endif
-ifeq ($(ADK_TARGET_ABI_32),y)
- ${CP} $(STAGING_TARGET_DIR)-32/lib/* $(STAGING_TARGET_DIR)/lib
- ${CP} $(STAGING_TARGET_DIR)-32/usr/lib/* $(STAGING_TARGET_DIR)/usr/lib
-endif
-ifeq ($(ADK_TARGET_ABI_X32),y)
- ${CP} $(STAGING_TARGET_DIR)-x32/lib/* $(STAGING_TARGET_DIR)/lib
- ${CP} $(STAGING_TARGET_DIR)-x32/usr/lib/* $(STAGING_TARGET_DIR)/usr/lib
-endif
-endif
touch $@
include ${TOPDIR}/mk/toolchain.mk
diff --git a/toolchain/glibc/Makefile.multilib b/toolchain/glibc/Makefile.multilib
deleted file mode 100644
index 47cc0ff99..000000000
--- a/toolchain/glibc/Makefile.multilib
+++ /dev/null
@@ -1,16 +0,0 @@
-# This file is part of the OpenADK project. OpenADK is copyrighted
-# material, please see the LICENCE file in the top-level directory.
-
-# multilib support
-ifeq ($(ADK_TARGET_WITH_MULTILIB),y)
-TABI:=
-ifeq ($(ADK_TARGET_MULTILIB_X86_X32),y)
-TABI+=x86_64-openadk-linux-gnu:x32
-endif
-ifeq ($(ADK_TARGET_MULTILIB_X86_32),y)
-TABI+=i486-openadk-linux-gnu:32
-endif
-ifeq ($(ADK_TARGET_MULTILIB_X86_64),y)
-TABI+=x86_64-openadk-linux-gnu:64
-endif
-endif
diff --git a/toolchain/kernel-headers/Makefile b/toolchain/kernel-headers/Makefile
index 8b364d760..4346cb1a6 100644
--- a/toolchain/kernel-headers/Makefile
+++ b/toolchain/kernel-headers/Makefile
@@ -10,30 +10,6 @@ $(WRKBUILD)/.headers:
$(MAKE) -C $(WRKBUILD) HOSTCC=$(CC_FOR_BUILD) ARCH=$(ARCH) V=1 \
INSTALL_HDR_PATH=$(STAGING_DIR)/usr \
headers_install
-ifeq ($(ADK_TARGET_WITH_MULTILIB),y)
-ifeq ($(ADK_LINUX_MIPS),y)
- $(MAKE) -C $(WRKBUILD) HOSTCC=$(CC_FOR_BUILD) ARCH=mips V=1 \
- INSTALL_HDR_PATH=$(STAGING_TARGET_DIR)-n32/usr \
- headers_install
- $(MAKE) -C $(WRKBUILD) HOSTCC=$(CC_FOR_BUILD) ARCH=mips V=1 \
- INSTALL_HDR_PATH=$(STAGING_TARGET_DIR)-64/usr \
- headers_install
- $(MAKE) -C $(WRKBUILD) HOSTCC=$(CC_FOR_BUILD) ARCH=mips V=1 \
- INSTALL_HDR_PATH=$(STAGING_TARGET_DIR)-o32/usr \
- headers_install
-endif
-ifeq ($(ADK_LINUX_X86_64),y)
- $(MAKE) -C $(WRKBUILD) HOSTCC=$(CC_FOR_BUILD) ARCH=x86 V=1 \
- INSTALL_HDR_PATH=$(STAGING_TARGET_DIR)-32/usr \
- headers_install
- $(MAKE) -C $(WRKBUILD) HOSTCC=$(CC_FOR_BUILD) ARCH=x86 V=1 \
- INSTALL_HDR_PATH=$(STAGING_TARGET_DIR)-x32/usr \
- headers_install
- $(MAKE) -C $(WRKBUILD) HOSTCC=$(CC_FOR_BUILD) ARCH=x86 V=1 \
- INSTALL_HDR_PATH=$(STAGING_TARGET_DIR)-64/usr \
- headers_install
-endif
-endif
$(MAKE) -C $(WRKBUILD) HOSTCC=$(CC_FOR_BUILD) ARCH=$(ARCH) V=1 \
INSTALL_HDR_PATH=$(LINUX_HEADER_DIR) \
headers_install
diff --git a/toolchain/kernel-headers/patches/3.9.11/cris-header.patch b/toolchain/kernel-headers/patches/3.9.11/cris-header.patch
new file mode 100644
index 000000000..24df09aa9
--- /dev/null
+++ b/toolchain/kernel-headers/patches/3.9.11/cris-header.patch
@@ -0,0 +1,68 @@
+diff -Nur linux-3.9.11.orig/arch/cris/include/arch-v10/arch/Kbuild linux-3.9.11/arch/cris/include/arch-v10/arch/Kbuild
+--- linux-3.9.11.orig/arch/cris/include/arch-v10/arch/Kbuild 2013-07-21 02:16:17.000000000 +0200
++++ linux-3.9.11/arch/cris/include/arch-v10/arch/Kbuild 2013-10-14 11:02:43.000000000 +0200
+@@ -1 +1,5 @@
+ # CRISv10 arch
++header-y += ptrace.h
++header-y += user.h
++header-y += elf.h
++header-y += system.h
+diff -Nur linux-3.9.11.orig/arch/cris/include/asm/Kbuild linux-3.9.11/arch/cris/include/asm/Kbuild
+--- linux-3.9.11.orig/arch/cris/include/asm/Kbuild 2013-07-21 02:16:17.000000000 +0200
++++ linux-3.9.11/arch/cris/include/asm/Kbuild 2013-10-13 18:34:22.000000000 +0200
+@@ -1,9 +1,11 @@
+
+-header-y += arch-v10/
+-header-y += arch-v32/
+-
++header-y += ../arch-v10/arch/
++header-y += ../arch-v32/arch/
++header-y += elf.h
++header-y += user.h
+
+ generic-y += clkdev.h
+ generic-y += exec.h
+ generic-y += module.h
+ generic-y += trace_clock.h
++generic-y += user.h
+diff -Nur linux-3.9.11.orig/arch/cris/include/uapi/asm/Kbuild linux-3.9.11/arch/cris/include/uapi/asm/Kbuild
+--- linux-3.9.11.orig/arch/cris/include/uapi/asm/Kbuild 2013-07-21 02:16:17.000000000 +0200
++++ linux-3.9.11/arch/cris/include/uapi/asm/Kbuild 2013-10-13 16:18:43.000000000 +0200
+@@ -1,8 +1,8 @@
+ # UAPI Header export list
+ include include/uapi/asm-generic/Kbuild.asm
+
+-header-y += arch-v10/
+-header-y += arch-v32/
++header-y += ../arch-v10/arch/
++header-y += ../arch-v32/arch/
+ header-y += auxvec.h
+ header-y += bitsperlong.h
+ header-y += byteorder.h
+diff -Nur linux-3.9.11.orig/include/uapi/asm-generic/Kbuild linux-3.9.11/include/uapi/asm-generic/Kbuild
+--- linux-3.9.11.orig/include/uapi/asm-generic/Kbuild 2013-07-21 02:16:17.000000000 +0200
++++ linux-3.9.11/include/uapi/asm-generic/Kbuild 2013-10-13 20:09:39.000000000 +0200
+@@ -34,3 +34,4 @@
+ header-y += types.h
+ header-y += ucontext.h
+ header-y += unistd.h
++header-y += user.h
+diff -Nur linux-3.9.11.orig/include/uapi/asm-generic/Kbuild.asm linux-3.9.11/include/uapi/asm-generic/Kbuild.asm
+--- linux-3.9.11.orig/include/uapi/asm-generic/Kbuild.asm 2013-07-21 02:16:17.000000000 +0200
++++ linux-3.9.11/include/uapi/asm-generic/Kbuild.asm 2013-10-13 18:42:03.000000000 +0200
+@@ -18,6 +18,7 @@
+ header-y += ipcbuf.h
+ header-y += mman.h
+ header-y += msgbuf.h
++header-y += page.h
+ header-y += param.h
+ header-y += poll.h
+ header-y += posix_types.h
+@@ -38,6 +39,7 @@
+ header-y += termios.h
+ header-y += types.h
+ header-y += unistd.h
++header-y += user.h
+
+ header-y += $(foreach hdr,$(opt-header), \
+ $(if \