summaryrefslogtreecommitdiff
path: root/toolchain
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2010-12-30 22:45:29 +0100
committerWaldemar Brodkorb <wbx@openadk.org>2010-12-30 22:45:29 +0100
commit220a96f9926788ed531717f78e44fdf1e7ab3b34 (patch)
tree406f65eea71fabd8cf66c2bd1108ec63f8c349ee /toolchain
parent38af8185ea05a1c5d1abb32a68a025e3b4afa4d6 (diff)
rework architecture / embedded systems concept
Make configuration of new targets cheap. Just add a new file in target/arch/sys-enabled/foo. See other files for syntax. While doing runtime tests with the new infrastructure I've updated a lot of other stuff: - gcc 4.5.2 - uClibc 0.9.32-rc1 (NPTL) - strongswan, php, miredo, parted, util-linux-ng, e2fsprogs I promise, this is the last big fat commit this year ;)
Diffstat (limited to 'toolchain')
-rw-r--r--toolchain/Makefile13
-rw-r--r--toolchain/binutils/Makefile6
-rw-r--r--toolchain/eglibc/Makefile3
-rw-r--r--toolchain/gcc/Makefile46
-rw-r--r--toolchain/gcc/Makefile.inc4
-rw-r--r--toolchain/gdb/Makefile4
-rw-r--r--toolchain/glibc/Makefile6
-rw-r--r--toolchain/gmp/Makefile2
-rw-r--r--toolchain/kernel-headers/Makefile10
-rw-r--r--toolchain/mpc/Makefile4
-rw-r--r--toolchain/mpfr/Makefile2
-rw-r--r--toolchain/uClibc/Makefile10
-rw-r--r--toolchain/uClibc/Makefile.inc4
-rw-r--r--toolchain/uClibc/patches/cris.patch97
-rw-r--r--toolchain/uClibc/patches/devel-prefix-lib.patch78
-rw-r--r--toolchain/uClibc/patches/fix-daemon-pthread.patch18
16 files changed, 156 insertions, 151 deletions
diff --git a/toolchain/Makefile b/toolchain/Makefile
index 2c4b24db2..1e36c6b5f 100644
--- a/toolchain/Makefile
+++ b/toolchain/Makefile
@@ -32,7 +32,6 @@ DOWNLOAD:=kernel-headers-download $(patsubst %,%-download,$(TARGETS))
TARGETS_INSTALL:=$(patsubst %,%-install,$(TARGETS))
TARGETS_CLEAN:=$(patsubst %,%-clean,$(TARGETS))
-all: install
install: $(TARGETS_INSTALL)
clean: $(TARGETS_CLEAN)
download: $(DOWNLOAD)
@@ -47,11 +46,11 @@ gcc-configure: $(LIBC)-prepare
$(LIBC)-compile: gcc-configure
gcc-compile: $(LIBC)-install
-$(STAGING_TOOLS):
- @mkdir -p $(STAGING_TOOLS)/lib
- @mkdir -p $(STAGING_TOOLS)/include
- @mkdir -p $(STAGING_TOOLS)/$(REAL_GNU_TARGET_NAME)
- @ln -sf ../lib $(STAGING_TOOLS)/$(REAL_GNU_TARGET_NAME)/lib
+$(STAGING_HOST_DIR):
+ @mkdir -p $(STAGING_HOST_DIR)/lib
+ @mkdir -p $(STAGING_HOST_DIR)/include
+ @mkdir -p $(STAGING_HOST_DIR)/$(REAL_GNU_TARGET_NAME)
+ @ln -sf ../lib $(STAGING_HOST_DIR)/$(REAL_GNU_TARGET_NAME)/lib
$(TOOLCHAIN_BUILD_DIR):
@mkdir -p $(TOOLCHAIN_BUILD_DIR)
@@ -60,7 +59,7 @@ $(TOOLCHAIN_BUILD_DIR):
$(TRACE) toolchain/$(patsubst %-download,%,$@)/download
$(MAKE) -C $(patsubst %-download,%,$@) fetch
-%-prepare: $(STAGING_TOOLS) $(TOOLCHAIN_BUILD_DIR)
+%-prepare: $(STAGING_HOST_DIR) $(TOOLCHAIN_BUILD_DIR)
$(TRACE) toolchain/$(patsubst %-prepare,%,$@)/prepare
@if test x"$(patsubst %-prepare,%,$@)" = x"$(LIBC)"; then \
$(MAKE) -C $(patsubst %-prepare,%,$@) prepare \
diff --git a/toolchain/binutils/Makefile b/toolchain/binutils/Makefile
index c4b0501fe..b2c281e37 100644
--- a/toolchain/binutils/Makefile
+++ b/toolchain/binutils/Makefile
@@ -18,13 +18,13 @@ $(WRKBUILD)/.headers:
$(WRKBUILD)/.configured:
(cd $(WRKBUILD); \
$(WRKBUILD)/configure \
- --prefix=$(STAGING_TOOLS) \
+ --prefix=$(STAGING_HOST_DIR) \
--build=$(GNU_HOST_NAME) \
--host=$(GNU_HOST_NAME) \
--target=$(REAL_GNU_TARGET_NAME) \
--disable-nls \
--with-sysroot=$(TOOLCHAIN_SYSROOT) \
- --with-sysroot=$(STAGING_DIR) \
+ --with-sysroot=$(STAGING_TARGET_DIR) \
--disable-multilib \
--disable-dependency-tracking \
--disable-libtool-lock \
@@ -41,7 +41,7 @@ $(WRKBUILD)/.compiled: $(WRKBUILD)/.configured
$(WRKBUILD)/.installed: $(WRKBUILD)/.compiled
$(MAKE) -C $(WRKBUILD) install
# needed on hosts without readelf
- $(CP) $(WRKBUILD)/binutils/readelf $(STAGING_TOOLS)/bin
+ $(CP) $(WRKBUILD)/binutils/readelf $(STAGING_HOST_DIR)/bin
touch $@
include ${TOPDIR}/mk/toolchain.mk
diff --git a/toolchain/eglibc/Makefile b/toolchain/eglibc/Makefile
index 7f12ce725..a4d54bb69 100644
--- a/toolchain/eglibc/Makefile
+++ b/toolchain/eglibc/Makefile
@@ -62,6 +62,7 @@ $(WRKBUILD)/.headers: $(WRKBUILD)/.headers_configure
PATH='${TARGET_PATH}' \
$(MAKE) install-headers install-bootstrap-headers=yes \
);
+ touch $(TOOLCHAIN_SYSROOT)/usr/include/gnu/stubs.h
touch $@
$(WRKBUILD)/.configured:
@@ -83,7 +84,7 @@ $(WRKBUILD)/.compiled:
touch $@
$(WRKBUILD)/.installed:
- ${EGLIBC_ENV} $(MAKE) -C $(EGLIBC_BUILD_DIR_FINAL) install_root=$(STAGING_DIR) install
+ ${EGLIBC_ENV} $(MAKE) -C $(EGLIBC_BUILD_DIR_FINAL) install_root=$(STAGING_TARGET_DIR) install
touch $@
include ${TOPDIR}/mk/toolchain.mk
diff --git a/toolchain/gcc/Makefile b/toolchain/gcc/Makefile
index 5df3c10d0..7e806c68c 100644
--- a/toolchain/gcc/Makefile
+++ b/toolchain/gcc/Makefile
@@ -5,14 +5,13 @@ include $(TOPDIR)/rules.mk
include ../rules.mk
include Makefile.inc
-GCC_CONFOPTS= --prefix=$(STAGING_TOOLS) \
+GCC_CONFOPTS= --prefix=$(STAGING_HOST_DIR) \
--build=$(GNU_HOST_NAME) \
--host=$(GNU_HOST_NAME) \
--target=$(REAL_GNU_TARGET_NAME) \
- --with-gmp=$(STAGING_TOOLS) \
- --with-mpfr=$(STAGING_TOOLS) \
+ --with-gmp=$(STAGING_HOST_DIR) \
+ --with-mpfr=$(STAGING_HOST_DIR) \
--disable-__cxa_atexit \
- --enable-target-optspace \
--with-gnu-ld \
--disable-libmudflap \
--disable-libgomp \
@@ -28,6 +27,18 @@ GCC_CONFOPTS= --prefix=$(STAGING_TOOLS) \
--without-cloog \
--disable-nls
+ifeq ($(ARCH),cris)
+GCC_CONFOPTS+= --disable-tls
+else
+GCC_CONFOPTS+= --enable-tls
+endif
+
+ifeq ($(ARCH),powerpc)
+GCC_CONFOPTS+= --disable-target-optspace
+else
+GCC_CONFOPTS+= --enable-target-optspace
+endif
+
ifeq ($(ADK_TARGET_NO_FPU),y)
GCC_CONFOPTS+= --with-float=soft
endif
@@ -40,12 +51,6 @@ ifeq ($(ADK_LINUX_MIPS64EL),y)
GCC_CONFOPTS+= --with-abi=64
endif
-ifeq ($(ADK_TARGET_LIB_UCLIBC),y)
-GCC_CONFOPTS+= --disable-tls
-else
-GCC_CONFOPTS+= --enable-tls
-endif
-
ifeq (${ADK_MAKE_PARALLEL},y)
GCC_MAKEOPTS+= -j${ADK_MAKE_JOBS}
endif
@@ -80,10 +85,10 @@ $(WRKBUILD)/.headers: $(GCC_BUILD_DIR_MINIMAL)/.compiled
touch $@
$(GCC_BUILD_DIR_INITIAL)/.configured:
- rm -rf $(STAGING_TOOLS)/$(REAL_GNU_TARGET_NAME)/sys-include
- ln -sf ${STAGING_DIR}/include $(STAGING_TOOLS)/$(REAL_GNU_TARGET_NAME)/sys-include
- rm -rf ${STAGING_TOOLS}/$(REAL_GNU_TARGET_NAME)/lib
- ln -sf ${STAGING_DIR}/lib $(STAGING_TOOLS)/$(REAL_GNU_TARGET_NAME)/lib
+ rm -rf $(STAGING_HOST_DIR)/$(REAL_GNU_TARGET_NAME)/sys-include
+ ln -sf ${STAGING_TARGET_DIR}/include $(STAGING_HOST_DIR)/$(REAL_GNU_TARGET_NAME)/sys-include
+ rm -rf ${STAGING_HOST_DIR}/$(REAL_GNU_TARGET_NAME)/lib
+ ln -sf ${STAGING_TARGET_DIR}/lib $(STAGING_HOST_DIR)/$(REAL_GNU_TARGET_NAME)/lib
mkdir -p $(GCC_BUILD_DIR_INITIAL)
(cd $(GCC_BUILD_DIR_INITIAL); rm -f config.cache; \
PATH='$(TARGET_PATH)' \
@@ -115,8 +120,8 @@ $(GCC_BUILD_DIR_FINAL)/.configured:
$(WRKBUILD)/configure \
${GCC_CONFOPTS} \
--enable-languages=c,c++ \
- --with-sysroot=$(STAGING_DIR) \
- --with-slibdir=$(STAGING_DIR)/lib \
+ --with-sysroot=$(STAGING_TARGET_DIR) \
+ --with-slibdir=$(STAGING_TARGET_DIR)/lib \
--enable-shared \
);
touch $@
@@ -127,14 +132,13 @@ $(WRKBUILD)/.compiled: $(GCC_BUILD_DIR_FINAL)/.configured
touch $@
$(WRKBUILD)/.installed: $(WRKBUILD)/.compiled
- PATH='$(TARGET_PATH)' \
- $(MAKE) -C $(GCC_BUILD_DIR_FINAL) install
+ PATH='$(TARGET_PATH)' $(MAKE) -C $(GCC_BUILD_DIR_FINAL) install
# workaround if you cross-compile binutils
- @-rm $(STAGING_DIR)/lib/libiberty.a
- @-rm $(STAGING_DIR)/usr/lib/libiberty.a
+ @-rm $(STAGING_TARGET_DIR)/lib/libiberty.a
+ @-rm $(STAGING_TARGET_DIR)/usr/lib/libiberty.a
# Set up the symlinks to enable lying about target name.
set -e; \
- (cd $(STAGING_TOOLS); \
+ (cd $(STAGING_HOST_DIR); \
ln -sf $(REAL_GNU_TARGET_NAME) $(GNU_TARGET_NAME); \
cd bin; \
for app in $(REAL_GNU_TARGET_NAME)-* ; do \
diff --git a/toolchain/gcc/Makefile.inc b/toolchain/gcc/Makefile.inc
index 968ad7804..585c0f85a 100644
--- a/toolchain/gcc/Makefile.inc
+++ b/toolchain/gcc/Makefile.inc
@@ -2,8 +2,8 @@
# material, please see the LICENCE file in the top-level directory.
PKG_NAME:= gcc
-PKG_VERSION:= 4.4.5
+PKG_VERSION:= 4.5.2
PKG_RELEASE:= 1
-PKG_MD5SUM:= 44b3192c4c584b9be5243d9e8e7e0ed1
+PKG_MD5SUM:= d6559145853fbaaa0fd7556ed93bce9a
PKG_SITES:= ${MASTER_SITE_GNU:=gcc/gcc-${PKG_VERSION}/}
DISTFILES:= $(PKG_NAME)-$(PKG_VERSION).tar.bz2
diff --git a/toolchain/gdb/Makefile b/toolchain/gdb/Makefile
index 52a40fb0d..bf7c7d457 100644
--- a/toolchain/gdb/Makefile
+++ b/toolchain/gdb/Makefile
@@ -16,7 +16,7 @@ $(WRKBUILD)/.configured:
(cd $(WRKBUILD); \
gdb_cv_func_sigsetjmp=yes \
./configure \
- --prefix=$(STAGING_TOOLS) \
+ --prefix=$(STAGING_HOST_DIR) \
--build=$(GNU_HOST_NAME) \
--host=$(GNU_HOST_NAME) \
--target=$(REAL_GNU_TARGET_NAME) \
@@ -42,7 +42,7 @@ $(WRKBUILD)/.compiled:
$(WRKBUILD)/.installed:
install -c $(WRKBUILD)/gdb/gdb $(TARGET_CROSS)gdb
- cd $(STAGING_TOOLS)/bin && \
+ cd $(STAGING_HOST_DIR)/bin && \
ln -fs $(TARGET_CROSS)gdb $(GNU_TARGET_NAME)-gdb
touch $@
diff --git a/toolchain/glibc/Makefile b/toolchain/glibc/Makefile
index 3d945a29c..4d39e2b27 100644
--- a/toolchain/glibc/Makefile
+++ b/toolchain/glibc/Makefile
@@ -66,8 +66,8 @@ $(WRKBUILD)/.compiled:
$(WRKBUILD)/.installed:
${GLIBC_ENV} $(MAKE) -C $(GLIBC_BUILD_DIR_FINAL) \
- install_root=$(STAGING_DIR) install
- touch $(STAGING_DIR)/usr/include/gnu/stubs.h
- touch $@
+ install_root=$(STAGING_TARGET_DIR) install
+ touch $(STAGING_TARGET_DIR)/usr/include/gnu/stubs.h
+ touch $(WRKBUILD)/.installed
include ${TOPDIR}/mk/toolchain.mk
diff --git a/toolchain/gmp/Makefile b/toolchain/gmp/Makefile
index 18dc3f83a..0e0ed0fca 100644
--- a/toolchain/gmp/Makefile
+++ b/toolchain/gmp/Makefile
@@ -14,7 +14,7 @@ $(WRKBUILD)/.headers:
$(WRKBUILD)/.configured:
(cd $(WRKBUILD); \
$(WRKBUILD)/configure \
- --prefix=$(STAGING_TOOLS) \
+ --prefix=$(STAGING_HOST_DIR) \
--disable-shared \
--enable-static \
);
diff --git a/toolchain/kernel-headers/Makefile b/toolchain/kernel-headers/Makefile
index 794351862..45160fab1 100644
--- a/toolchain/kernel-headers/Makefile
+++ b/toolchain/kernel-headers/Makefile
@@ -8,7 +8,7 @@ include ${TOPDIR}/mk/buildhlp.mk
$(WRKBUILD)/.headers:
$(MAKE) -C $(WRKBUILD) HOSTCC=$(HOSTCC) ARCH=$(ARCH) V=1 \
- INSTALL_HDR_PATH=$(STAGING_DIR)/usr \
+ INSTALL_HDR_PATH=$(STAGING_TARGET_DIR)/usr \
headers_install
$(MAKE) -C $(WRKBUILD) HOSTCC=$(HOSTCC) ARCH=$(ARCH) V=1 \
INSTALL_HDR_PATH=$(TOOLCHAIN_SYSROOT)/usr \
@@ -17,14 +17,14 @@ $(WRKBUILD)/.headers:
INSTALL_HDR_PATH=$(LINUX_HEADER_DIR) \
headers_install
# cryptodev.h from ocf-linux-20080917
- mkdir -p ${STAGING_DIR}/usr/include/crypto
- cp files/cryptodev.h ${STAGING_DIR}/usr/include/crypto/
+ mkdir -p ${STAGING_TARGET_DIR}/usr/include/crypto
+ cp files/cryptodev.h ${STAGING_TARGET_DIR}/usr/include/crypto/
ifeq ($(ARCH),cris)
ifeq ($(CPU_ARCH),crisv32)
- cd $(STAGING_DIR)/usr/include && ln -sf arch-v32/arch arch
+ cd $(STAGING_TARGET_DIR)/usr/include && ln -sf arch-v32/arch arch
cd $(TOOLCHAIN_SYSROOT)/usr/include && ln -sf arch-v32/arch arch
else
- cd $(STAGING_DIR)/usr/include && ln -sf arch-v10/arch arch
+ cd $(STAGING_TARGET_DIR)/usr/include && ln -sf arch-v10/arch arch
cd $(TOOLCHAIN_SYSROOT)/usr/include && ln -sf arch-v10/arch arch
endif
endif
diff --git a/toolchain/mpc/Makefile b/toolchain/mpc/Makefile
index d790e0912..81f5b151d 100644
--- a/toolchain/mpc/Makefile
+++ b/toolchain/mpc/Makefile
@@ -14,8 +14,8 @@ $(WRKBUILD)/.headers:
$(WRKBUILD)/.configured:
(cd $(WRKBUILD); \
$(WRKBUILD)/configure \
- --prefix=$(STAGING_TOOLS) \
- --with-gmp=$(STAGING_TOOLS) \
+ --prefix=$(STAGING_HOST_DIR) \
+ --with-gmp=$(STAGING_HOST_DIR) \
--disable-shared \
--enable-static \
);
diff --git a/toolchain/mpfr/Makefile b/toolchain/mpfr/Makefile
index 9feac6522..019d14d77 100644
--- a/toolchain/mpfr/Makefile
+++ b/toolchain/mpfr/Makefile
@@ -15,7 +15,7 @@ $(WRKBUILD)/.headers:
$(WRKBUILD)/.configured:
(cd $(WRKBUILD); \
$(WRKBUILD)/configure \
- --prefix=$(STAGING_TOOLS) \
+ --prefix=$(STAGING_HOST_DIR) \
--with-gmp-build=$(GMP_BUILD_DIR) \
--disable-shared \
--enable-static \
diff --git a/toolchain/uClibc/Makefile b/toolchain/uClibc/Makefile
index ee64a4940..194bce39a 100644
--- a/toolchain/uClibc/Makefile
+++ b/toolchain/uClibc/Makefile
@@ -15,7 +15,7 @@ endif
$(WRKBUILD)/.headers:
$(SED) 's,^CROSS=.*,CROSS=$(TARGET_CROSS),g' $(WRKBUILD)/Rules.mak
sed -e 's^KERNEL_HEADERS.*$$KERNEL_HEADERS=\"${TOOLCHAIN_SYSROOT}/usr/include\"' \
- $(TOPDIR)/target/$(ADK_TARGET)/uclibc.config >${WRKBUILD}/.config
+ $(TOPDIR)/target/$(ADK_TARGET_ARCH)/uclibc.config >${WRKBUILD}/.config
ifneq ($(ADK_DEBUG),)
$(SED) 's,DOSTRIP,DODEBUG,' ${WRKBUILD}/.config
endif
@@ -41,7 +41,7 @@ $(WRKBUILD)/.compiled:
$(WRKBUILD)/.install_headers: $(WRKBUILD)/.compiled
$(MAKE) -C $(WRKBUILD) \
- PREFIX=$(STAGING_DIR) \
+ PREFIX=$(STAGING_TARGET_DIR) \
DEVEL_PREFIX=/usr/ \
DEVEL_PREFIX_LIB=/ \
RUNTIME_PREFIX=/ \
@@ -51,14 +51,14 @@ $(WRKBUILD)/.install_headers: $(WRKBUILD)/.compiled
$(WRKBUILD)/.installed: $(WRKBUILD)/.install_headers
$(MAKE) -C $(WRKBUILD) \
- PREFIX=$(STAGING_DIR) \
+ PREFIX=$(STAGING_TARGET_DIR) \
DEVEL_PREFIX=/usr/ \
DEVEL_PREFIX_LIB=/ \
RUNTIME_PREFIX=/ \
CPU_CFLAGS="$(TARGET_CFLAGS)" \
install_runtime
- rm -rf $(STAGING_DIR)/lib/libc.so
- ln -s libc.so.0 $(STAGING_DIR)/lib/libc.so
+ rm -rf $(STAGING_TARGET_DIR)/lib/libc.so
+ ln -s libc.so.0 $(STAGING_TARGET_DIR)/lib/libc.so
touch $@
include ${TOPDIR}/mk/toolchain.mk
diff --git a/toolchain/uClibc/Makefile.inc b/toolchain/uClibc/Makefile.inc
index f02b99e1a..0b7812b5f 100644
--- a/toolchain/uClibc/Makefile.inc
+++ b/toolchain/uClibc/Makefile.inc
@@ -2,8 +2,8 @@
# material, please see the LICENCE file in the top-level directory.
PKG_NAME:= uClibc
-PKG_VERSION:= 0.9.30.3
+PKG_VERSION:= 0.9.32-rc1
PKG_RELEASE:= 1
-PKG_MD5SUM:= 73a4bf4a0fa508b01a7a3143574e3d21
+PKG_MD5SUM:= ec2ec3e187bd68327ee94c31846d275a
PKG_SITES:= http://uclibc.org/downloads/
DISTFILES:= $(PKG_NAME)-$(PKG_VERSION).tar.bz2
diff --git a/toolchain/uClibc/patches/cris.patch b/toolchain/uClibc/patches/cris.patch
new file mode 100644
index 000000000..9bd2ce795
--- /dev/null
+++ b/toolchain/uClibc/patches/cris.patch
@@ -0,0 +1,97 @@
+diff -Nur uClibc-0.9.32-rc1.orig/libc/sysdeps/linux/cris/sys/user.h uClibc-0.9.32-rc1/libc/sysdeps/linux/cris/sys/user.h
+--- uClibc-0.9.32-rc1.orig/libc/sysdeps/linux/cris/sys/user.h 1970-01-01 01:00:00.000000000 +0100
++++ uClibc-0.9.32-rc1/libc/sysdeps/linux/cris/sys/user.h 2010-12-28 16:41:14.000000000 +0100
+@@ -0,0 +1,81 @@
++#ifndef __ASM_CRIS_USER_H
++#define __ASM_CRIS_USER_H
++
++/* User-mode register used for core dumps. */
++
++struct user_fpregs {
++};
++
++struct user_regs_struct {
++ unsigned long r0; /* General registers. */
++ unsigned long r1;
++ unsigned long r2;
++ unsigned long r3;
++ unsigned long r4;
++ unsigned long r5;
++ unsigned long r6;
++ unsigned long r7;
++ unsigned long r8;
++ unsigned long r9;
++ unsigned long r10;
++ unsigned long r11;
++ unsigned long r12;
++ unsigned long r13;
++ unsigned long sp; /* R14, Stack pointer. */
++ unsigned long acr; /* R15, Address calculation register. */
++ unsigned long bz; /* P0, Constant zero (8-bits). */
++ unsigned long vr; /* P1, Version register (8-bits). */
++ unsigned long pid; /* P2, Process ID (8-bits). */
++ unsigned long srs; /* P3, Support register select (8-bits). */
++ unsigned long wz; /* P4, Constant zero (16-bits). */
++ unsigned long exs; /* P5, Exception status. */
++ unsigned long eda; /* P6, Exception data address. */
++ unsigned long mof; /* P7, Multiply overflow regiter. */
++ unsigned long dz; /* P8, Constant zero (32-bits). */
++ unsigned long ebp; /* P9, Exception base pointer. */
++ unsigned long erp; /* P10, Exception return pointer. */
++ unsigned long srp; /* P11, Subroutine return pointer. */
++ unsigned long nrp; /* P12, NMI return pointer. */
++ unsigned long ccs; /* P13, Condition code stack. */
++ unsigned long usp; /* P14, User mode stack pointer. */
++ unsigned long spc; /* P15, Single step PC. */
++};
++
++/*
++ * Core file format: The core file is written in such a way that gdb
++ * can understand it and provide useful information to the user (under
++ * linux we use the `trad-core' bfd). The file contents are as follows:
++ *
++ * upage: 1 page consisting of a user struct that tells gdb
++ * what is present in the file. Directly after this is a
++ * copy of the task_struct, which is currently not used by gdb,
++ * but it may come in handy at some point. All of the registers
++ * are stored as part of the upage. The upage should always be
++ * only one page long.
++ * data: The data segment follows next. We use current->end_text to
++ * current->brk to pick up all of the user variables, plus any memory
++ * that may have been sbrk'ed. No attempt is made to determine if a
++ * page is demand-zero or if a page is totally unused, we just cover
++ * the entire range. All of the addresses are rounded in such a way
++ * that an integral number of pages is written.
++ * stack: We need the stack information in order to get a meaningful
++ * backtrace. We need to write the data from usp to
++ * current->start_stack, so we round each of these in order to be able
++ * to write an integer number of pages.
++ */
++
++struct user {
++ struct user_regs_struct regs; /* entire machine state */
++ size_t u_tsize; /* text size (pages) */
++ size_t u_dsize; /* data size (pages) */
++ size_t u_ssize; /* stack size (pages) */
++ unsigned long start_code; /* text starting address */
++ unsigned long start_data; /* data starting address */
++ unsigned long start_stack; /* stack starting address */
++ long int signal; /* signal causing core dump */
++ unsigned long u_ar0; /* help gdb find registers */
++ unsigned long magic; /* identifies a core file */
++ char u_comm[32]; /* user command name */
++};
++
++#endif /* __ASM_CRIS_USER_H */
+diff -Nur uClibc-0.9.32-rc1.orig/libc/sysdeps/linux/cris/sysdep.h uClibc-0.9.32-rc1/libc/sysdeps/linux/cris/sysdep.h
+--- uClibc-0.9.32-rc1.orig/libc/sysdeps/linux/cris/sysdep.h 2010-12-17 20:05:17.000000000 +0100
++++ uClibc-0.9.32-rc1/libc/sysdeps/linux/cris/sysdep.h 2010-12-28 16:41:08.000000000 +0100
+@@ -20,6 +20,8 @@
+ #ifndef _SYSDEP_H_
+ #define _SYSDEP_H_
+
++#include <sys/syscall.h>
++
+ #ifndef C_LABEL
+
+ /* Define a macro we can use to construct the asm name for a C symbol. */
diff --git a/toolchain/uClibc/patches/devel-prefix-lib.patch b/toolchain/uClibc/patches/devel-prefix-lib.patch
deleted file mode 100644
index 336fad1c7..000000000
--- a/toolchain/uClibc/patches/devel-prefix-lib.patch
+++ /dev/null
@@ -1,78 +0,0 @@
-diff -Nur uClibc-0.9.30.3.orig/Makefile.in uClibc-0.9.30.3/Makefile.in
---- uClibc-0.9.30.3.orig/Makefile.in 2010-03-12 20:32:42.000000000 +0100
-+++ uClibc-0.9.30.3/Makefile.in 2010-03-12 22:05:15.486918488 +0100
-@@ -190,7 +190,7 @@
- install: install_runtime install_dev
-
-
--RUNTIME_PREFIX_LIB_FROM_DEVEL_PREFIX_LIB=$(shell $(top_srcdir)extra/scripts/relative_path.sh $(DEVEL_PREFIX)lib $(RUNTIME_PREFIX)lib)
-+RUNTIME_PREFIX_LIB_FROM_DEVEL_PREFIX_LIB=$(shell $(top_srcdir)extra/scripts/relative_path.sh $(DEVEL_PREFIX_LIB)lib $(RUNTIME_PREFIX)lib)
-
- $(top_builddir)extra/scripts/unifdef: $(top_srcdir)extra/scripts/unifdef.c|$(@D)
- $(hcompile.u)
-@@ -371,41 +371,41 @@
-
- # Installs development library links.
- install_dev: install_headers install_runtime
-- $(INSTALL) -d $(PREFIX)$(DEVEL_PREFIX)lib
-- -$(INSTALL) -m 644 lib/*.[ao] $(PREFIX)$(DEVEL_PREFIX)lib/
-+ $(INSTALL) -d $(PREFIX)$(DEVEL_PREFIX_LIB)lib
-+ -$(INSTALL) -m 644 lib/*.[ao] $(PREFIX)$(DEVEL_PREFIX_LIB)lib/
- ifeq ($(HAVE_SHARED),y)
- for i in `find lib/ -type l -name 'lib[a-zA-Z]*.so' | \
- $(SED) -e 's/lib\///'` ; do \
- $(LN) -sf $(RUNTIME_PREFIX_LIB_FROM_DEVEL_PREFIX_LIB)$$i.$(MAJOR_VERSION) \
-- $(PREFIX)$(DEVEL_PREFIX)lib/$$i; \
-+ $(PREFIX)$(DEVEL_PREFIX_LIB)lib/$$i; \
- done
- if [ -f $(top_builddir)lib/libc.so -a -f $(PREFIX)$(RUNTIME_PREFIX)lib/$(SHARED_MAJORNAME) ] ; then \
-- $(RM) $(PREFIX)$(DEVEL_PREFIX)lib/libc.so; \
-- $(SED) -e 's:$(NONSHARED_LIBNAME):$(DEVEL_PREFIX)lib/$(NONSHARED_LIBNAME):' \
-+ $(RM) $(PREFIX)$(DEVEL_PREFIX_LIB)lib/libc.so; \
-+ $(SED) -e 's:$(NONSHARED_LIBNAME):$(DEVEL_PREFIX_LIB)lib/$(NONSHARED_LIBNAME):' \
- -e 's:$(SHARED_MAJORNAME):$(RUNTIME_PREFIX)lib/$(SHARED_MAJORNAME):' \
- -e 's:$(UCLIBC_LDSO):$(RUNTIME_PREFIX)lib/$(UCLIBC_LDSO):' \
-- $(top_builddir)lib/libc.so > $(PREFIX)$(DEVEL_PREFIX)lib/libc.so; \
-+ $(top_builddir)lib/libc.so > $(PREFIX)$(DEVEL_PREFIX_LIB)lib/libc.so; \
- fi
- ifeq ($(UCLIBC_HAS_THREADS),y)
- ifneq ($(LINUXTHREADS_OLD),y)
- if [ -f $(top_builddir)lib/libpthread.so -a -f $(PREFIX)$(RUNTIME_PREFIX)lib/libpthread.so.$(MAJOR_VERSION) ] ; then \
-- $(RM) $(PREFIX)$(DEVEL_PREFIX)lib/libpthread.so; \
-- cp $(top_srcdir)extra/scripts/format.lds $(PREFIX)$(DEVEL_PREFIX)lib/libpthread.so; \
-- echo "GROUP ( $(RUNTIME_PREFIX)lib/libpthread.so.$(MAJOR_VERSION) $(DEVEL_PREFIX)lib/libpthread_nonshared.a )" \
-- >> $(PREFIX)$(DEVEL_PREFIX)lib/libpthread.so; \
-+ $(RM) $(PREFIX)$(DEVEL_PREFIX_LIB)lib/libpthread.so; \
-+ cp $(top_srcdir)extra/scripts/format.lds $(PREFIX)$(DEVEL_PREFIX_LIB)lib/libpthread.so; \
-+ echo "GROUP ( $(RUNTIME_PREFIX)lib/libpthread.so.$(MAJOR_VERSION) $(DEVEL_PREFIX_LIB)lib/libpthread_nonshared.a )" \
-+ >> $(PREFIX)$(DEVEL_PREFIX_LIB)lib/libpthread.so; \
- fi
- endif
- endif
- ifeq ($(PTHREADS_DEBUG_SUPPORT),y)
- $(LN) -sf $(RUNTIME_PREFIX_LIB_FROM_DEVEL_PREFIX_LIB)libthread_db.so.1 \
-- $(PREFIX)$(DEVEL_PREFIX)lib/libthread_db.so
-+ $(PREFIX)$(DEVEL_PREFIX_LIB)lib/libthread_db.so
- endif
- ifeq ($(DOPIC),y)
- # # If we build shared libraries then the static libs are PIC...
- # # Make _pic.a symlinks to make mklibs.py and similar tools happy.
- if [ -d lib ] ; then \
- for i in `find lib/ -type f -name 'lib*.a' | $(SED) -e 's/lib\///'` ; do \
-- $(LN) -sf $$i $(PREFIX)$(DEVEL_PREFIX)lib/`echo $$i \
-+ $(LN) -sf $$i $(PREFIX)$(DEVEL_PREFIX_LIB)lib/`echo $$i \
- | $(SED) -e 's/\.a$$/_pic.a/'`; \
- done ; \
- fi
-@@ -414,9 +414,9 @@
- ifeq ($(UCLIBC_FORMAT_SHARED_FLAT),y)
- for file in lib/lib*.gdb; do \
- if test -f $$file; then \
-- $(INSTALL) -m 755 $$file $(PREFIX)$(DEVEL_PREFIX)lib; \
-+ $(INSTALL) -m 755 $$file $(PREFIX)$(DEVEL_PREFIX_LIB)lib; \
- $(INSTALL) -m 755 `echo $$file | $(SED) 's/\.gdb$$//'` \
-- $(PREFIX)$(DEVEL_PREFIX)lib; \
-+ $(PREFIX)$(DEVEL_PREFIX_LIB)lib; \
- fi; \
- done
- endif
diff --git a/toolchain/uClibc/patches/fix-daemon-pthread.patch b/toolchain/uClibc/patches/fix-daemon-pthread.patch
deleted file mode 100644
index a137320c2..000000000
--- a/toolchain/uClibc/patches/fix-daemon-pthread.patch
+++ /dev/null
@@ -1,18 +0,0 @@
- Taken from OpenWrt, this patch fixes for a broken daemon() function
- in applications linked against pthread, as the fork() function provided
- by pthread has to be used then. It is said, that this won't fix for
- statically compiled binaries.
-
- See here: https://dev.openwrt.org/attachment/ticket/4809/fix-daemon-pthread.patch
- and here: https://bugs.busybox.net/show_bug.cgi?id=193
---- a/libc/unistd/daemon.c 2006-07-05 21:52:39.000000000 +0200
-+++ b/libc/unistd/daemon.c 2009-03-21 08:45:25.000000000 +0100
-@@ -54,7 +54,7 @@
- libc_hidden_proto(dup2)
- libc_hidden_proto(setsid)
- libc_hidden_proto(chdir)
--libc_hidden_proto(fork)
-+/* libc_hidden_proto(fork) */
-
- int daemon( int nochdir, int noclose )
- {