summaryrefslogtreecommitdiff
path: root/toolchain
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2014-03-02 15:26:07 +0100
committerWaldemar Brodkorb <wbx@openadk.org>2014-03-02 15:26:07 +0100
commitf6c5a79972bcd216429484eb706fc47c7bb52a75 (patch)
tree4f5e17701c66df5d2359486687f1fd41b2fb469e /toolchain
parent00fa581bc6acc3158b3008019e81802a5d70418c (diff)
parentb8e1fbce6811e906e7c8bd21f4e7fe1aa4881585 (diff)
resolve merge conflict
Diffstat (limited to 'toolchain')
-rw-r--r--toolchain/Makefile6
-rw-r--r--toolchain/eglibc/Makefile99
-rw-r--r--toolchain/eglibc/Makefile.inc34
-rw-r--r--toolchain/eglibc/eglibc.config47
-rw-r--r--toolchain/eglibc/patches/cygwin.patch9
-rw-r--r--toolchain/eglibc/patches/eglibc-cross.patch80
-rw-r--r--toolchain/eglibc/patches/sparc64.patch21
-rw-r--r--toolchain/gcc/Makefile12
8 files changed, 9 insertions, 299 deletions
diff --git a/toolchain/Makefile b/toolchain/Makefile
index 460cbf97f..db5f65fd5 100644
--- a/toolchain/Makefile
+++ b/toolchain/Makefile
@@ -10,7 +10,7 @@
# 6) build and install initial static gcc
# 7) build and install full libc
# 8) build and install full shared gcc
-# 9) rebuild and install full libc (in case of musl)
+# 9) rebuild and install full libc (in case of musl/uclibc)
# 10) build and install gdb debugger
include $(TOPDIR)/rules.mk
@@ -20,10 +20,6 @@ ifeq ($(ADK_TARGET_LIB_GLIBC),y)
TARGETS+=glibc
LIBC:=glibc
endif
-ifeq ($(ADK_TARGET_LIB_EGLIBC),y)
-TARGETS+=eglibc
-LIBC:=eglibc
-endif
ifeq ($(ADK_TARGET_LIB_UCLIBC),y)
TARGETS+=uClibc
LIBC:=uClibc
diff --git a/toolchain/eglibc/Makefile b/toolchain/eglibc/Makefile
deleted file mode 100644
index 20b6f33ac..000000000
--- a/toolchain/eglibc/Makefile
+++ /dev/null
@@ -1,99 +0,0 @@
-# This file is part of the OpenADK project. OpenADK is copyrighted
-# material, please see the LICENCE file in the top-level directory.
-
-include $(TOPDIR)/rules.mk
-include ../rules.mk
-
-# eglibc does not compile with Os on some architectures
-ifeq ($(ADK_LINUX_SPARC),y)
-TARGET_CFLAGS_LIBC:= $(subst Os,O2,$(TARGET_CFLAGS))
-endif
-ifeq ($(ADK_LINUX_MICROBLAZE),y)
-TARGET_CFLAGS_LIBC:= $(subst Os,O2,$(TARGET_CFLAGS))
-endif
-ifeq ($(ADK_LINUX_PPC64),y)
-TARGET_CFLAGS_LIBC:= $(subst Os,O2,$(TARGET_CFLAGS))
-endif
-
-# ssp not supported
-TARGET_CFLAGS_LIBC:= $(filter-out -fstack-protector,$(TARGET_CFLAGS_LIBC))
-
-include Makefile.inc
-include ${TOPDIR}/mk/buildhlp.mk
-
-EGLIBC_BUILD_DIR_INITIAL:= ${WRKDIR}/$(PKG_NAME)-$(PKG_VERSION)-headers
-EGLIBC_BUILD_DIR_FINAL:= ${WRKDIR}/$(PKG_NAME)-$(PKG_VERSION)-final
-
-$(WRKBUILD)/.headers_configure:
- mkdir -p $(EGLIBC_BUILD_DIR_INITIAL)
- $(CP) ${TOPDIR}/toolchain/eglibc/eglibc.config \
- $(WRKBUILD)/libc/option-groups.config
- (cd $(EGLIBC_BUILD_DIR_INITIAL); \
- ${EGLIBC_ENV} \
- CC="${GNU_TARGET_NAME}-gcc $(ADK_TARGET_ABI_CFLAGS)" \
- $(WRKBUILD)/libc/configure \
- --prefix=$(STAGING_TARGET_DIR)/usr \
- --with-headers=$(STAGING_TARGET_DIR)/usr/include \
- --host=$(GNU_TARGET_NAME) \
- ${EGLIBC_CONFOPTS} \
- );
- touch $@
-
-$(WRKBUILD)/.headers: $(WRKBUILD)/.headers_configure
- (cd $(EGLIBC_BUILD_DIR_INITIAL); \
- ${EGLIBC_ENV} \
- CC="${GNU_TARGET_NAME}-gcc $(ADK_TARGET_ABI_CFLAGS)" \
- $(MAKE) install-headers install-bootstrap-headers=yes cross-compiling=yes \
- );
- 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 $@
-
-ifeq ($(ADK_TOOLCHAIN_GCC_USE_SSP),y)
-EGLIBC_ENV+= libc_cv_ssp=yes
-else
-EGLIBC_ENV+= libc_cv_ssp=no
-endif
-
-$(WRKBUILD)/.configured:
- mkdir -p $(EGLIBC_BUILD_DIR_FINAL)
- $(CP) ${TOPDIR}/toolchain/eglibc/eglibc.config \
- $(EGLIBC_BUILD_DIR_FINAL)/option-groups.config
- (cd $(EGLIBC_BUILD_DIR_FINAL); \
- ${EGLIBC_ENV} \
- CC="${GNU_TARGET_NAME}-gcc $(ADK_TARGET_ABI_CFLAGS)" \
- $(WRKBUILD)/libc/configure \
- --prefix=/usr \
- --enable-shared \
- --enable-stackguard-randomization \
- --host=$(GNU_TARGET_NAME) \
- ${EGLIBC_CONFOPTS} \
- );
- touch $@
-
-$(EGLIBC_BUILD_DIR_FINAL)/libc.so:
-$(WRKBUILD)/.compiled: $(WRKBUILD)/.configured
- ${EGLIBC_ENV} \
- CC="${GNU_TARGET_NAME}-gcc $(ADK_TARGET_ABI_CFLAGS)" \
- $(MAKE) -C $(EGLIBC_BUILD_DIR_FINAL) cross-compiling=yes all
- touch $@
-
-$(WRKBUILD)/.installed: $(EGLIBC_BUILD_DIR_FINAL)/libc.so
- ${EGLIBC_ENV} \
- CC="${GNU_TARGET_NAME}-gcc $(ADK_TARGET_ABI_CFLAGS)" \
- $(MAKE) -C $(EGLIBC_BUILD_DIR_FINAL) install_root=$(STAGING_TARGET_DIR) install
- ${INSTALL_DIR} ${STAGING_TARGET_DIR}/etc
- ${INSTALL_DATA} ${WRKBUILD}/libc/posix/gai.conf ${STAGING_TARGET_DIR}/etc/
- ${INSTALL_DATA} ${WRKBUILD}/libc/nss/nsswitch.conf ${STAGING_TARGET_DIR}/etc/
- touch $@
-
-$(WRKBUILD)/.fixup:
- -find $(STAGING_TARGET_DIR) $(STAGING_HOST_DIR) -name \*.la -delete
- -find $(STAGING_TARGET_DIR) -type -f -name \*_pic\* -delete
- rm -rf $(STAGING_TARGET_DIR)/usr/share/locale $(STAGING_TARGET_DIR)/usr/share/i18n
- rm -rf $(STAGING_TARGET_DIR)/usr/lib/gconv
- PATH="$(TARGET_PATH)" debug='' prefix='${TARGET_CROSS}' ${BASH} ${SCRIPT_DIR}/rstrip.sh $(STAGING_TARGET_DIR)
- debug='' prefix=' ' ${BASH} ${SCRIPT_DIR}/rstrip.sh $(STAGING_HOST_DIR)
- touch $@
-
-include ${TOPDIR}/mk/toolchain.mk
diff --git a/toolchain/eglibc/Makefile.inc b/toolchain/eglibc/Makefile.inc
deleted file mode 100644
index 7213a45c3..000000000
--- a/toolchain/eglibc/Makefile.inc
+++ /dev/null
@@ -1,34 +0,0 @@
-# This file is part of the OpenADK project. OpenADK is copyrighted
-# material, please see the LICENCE file in the top-level directory.
-
-PKG_NAME:= eglibc
-PKG_VERSION:= 2.19
-PKG_RELEASE:= 1
-PKG_MD5SUM:= b54dfce017ee3132f7b2a8d8f46067cf
-PKG_SITES:= http://openadk.org/distfiles/
-EGLIBC_CONFOPTS:= --build=$(GNU_HOST_NAME) \
- --without-cvs \
- --disable-profile \
- --disable-debug \
- --enable-kernel=2.6.32 \
- --without-gd \
- --disable-nscd \
- --with-__thread \
- --with-tls \
- --disable-obsolete-rpc \
- --enable-add-ons \
- --disable-nls
-EGLIBC_ENV:= PATH='${TARGET_PATH}' \
- BUILD_CC=${CC_FOR_BUILD} \
- GCC_HONOUR_COPTS=s \
- CFLAGS="$(TARGET_CFLAGS_LIBC)" \
- CC=${GNU_TARGET_NAME}-gcc \
- CXX=${GNU_TARGET_NAME}-g++ \
- AR=${GNU_TARGET_NAME}-ar \
- RANLIB=${GNU_TARGET_NAME}-ranlib \
- libc_cv_cc_with_libunwind=no \
- libc_cv_forced_unwind=yes \
- libc_cv_c_cleanup=yes \
- libc_cv_gnu99_inline=yes \
- libc_cv_initfini_array=yes \
- libc_cv_slibdir="/lib"
diff --git a/toolchain/eglibc/eglibc.config b/toolchain/eglibc/eglibc.config
deleted file mode 100644
index f0304ff85..000000000
--- a/toolchain/eglibc/eglibc.config
+++ /dev/null
@@ -1,47 +0,0 @@
-# This file sets default values for all option group variables
-# mentioned in option-groups.def; see that file for a description of
-# each option group.
-#
-# Subdirectory makefiles include this file before including the user's
-# settings from option-groups.config at the top of the build tree;
-# that file need only refer to those options whose default settings
-# are to be changed.
-#
-# By default, all option groups are enabled.
-OPTION_EGLIBC_ADVANCED_INET6 = y
-OPTION_EGLIBC_BACKTRACE = y
-OPTION_EGLIBC_BIG_MACROS = y
-OPTION_EGLIBC_BSD = y
-OPTION_EGLIBC_CXX_TESTS = n
-OPTION_EGLIBC_CATGETS = y
-OPTION_EGLIBC_CHARSETS = n
-OPTION_EGLIBC_CRYPT = y
-OPTION_EGLIBC_CRYPT_UFC = y
-OPTION_EGLIBC_DB_ALIASES = n
-OPTION_EGLIBC_ENVZ = y
-OPTION_EGLIBC_FCVT = y
-OPTION_EGLIBC_FMTMSG = y
-OPTION_EGLIBC_FSTAB = y
-OPTION_EGLIBC_FTRAVERSE = y
-OPTION_EGLIBC_GETLOGIN = y
-OPTION_EGLIBC_IDN = n
-OPTION_EGLIBC_INET = y
-OPTION_EGLIBC_INET_ANL = y
-OPTION_EGLIBC_LIBM = y
-OPTION_EGLIBC_LOCALES = y
-OPTION_EGLIBC_LOCALE_CODE = y
-OPTION_EGLIBC_MEMUSAGE = y
-OPTION_EGLIBC_NIS = n
-OPTION_EGLIBC_NSSWITCH = y
-OPTION_EGLIBC_RCMD = y
-OPTION_EGLIBC_RTLD_DEBUG = y
-OPTION_EGLIBC_SPAWN = y
-OPTION_EGLIBC_STREAMS = y
-OPTION_EGLIBC_SUNRPC = n
-OPTION_EGLIBC_UTMP = y
-OPTION_EGLIBC_UTMPX = y
-OPTION_EGLIBC_WORDEXP = y
-OPTION_POSIX_C_LANG_WIDE_CHAR = y
-OPTION_POSIX_REGEXP = y
-OPTION_POSIX_REGEXP_GLIBC = y
-OPTION_POSIX_WIDE_CHAR_DEVICE_IO = y
diff --git a/toolchain/eglibc/patches/cygwin.patch b/toolchain/eglibc/patches/cygwin.patch
deleted file mode 100644
index 647d27a25..000000000
--- a/toolchain/eglibc/patches/cygwin.patch
+++ /dev/null
@@ -1,9 +0,0 @@
-diff -Nur eglibc-2.17.orig/libc/ports/sysdeps/arm/nptl/pthread_spin_lock.c eglibc-2.17/libc/ports/sysdeps/arm/nptl/pthread_spin_lock.c
---- eglibc-2.17.orig/libc/ports/sysdeps/arm/nptl/pthread_spin_lock.c 2013-05-08 14:27:27.000000000 +0200
-+++ eglibc-2.17/libc/ports/sysdeps/arm/nptl/pthread_spin_lock.c 2013-07-10 12:48:57.000000000 +0200
-@@ -20,4 +20,4 @@
- /* We can't use the normal "#include <nptl/pthread_spin_lock.c>" because
- it will resolve to this very file. Using "sysdeps/.." as reference to the
- top level directory does the job. */
--#include <sysdeps/../nptl/pthread_spin_lock.c>
-+#include <../sysdeps/../nptl/pthread_spin_lock.c>
diff --git a/toolchain/eglibc/patches/eglibc-cross.patch b/toolchain/eglibc/patches/eglibc-cross.patch
deleted file mode 100644
index 6d74ec327..000000000
--- a/toolchain/eglibc/patches/eglibc-cross.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-diff -Nur eglibc-2.18.orig/libc/sunrpc/rpc/types.h eglibc-2.18/libc/sunrpc/rpc/types.h
---- eglibc-2.18.orig/libc/sunrpc/rpc/types.h 2013-09-13 10:20:22.000000000 +0200
-+++ eglibc-2.18/libc/sunrpc/rpc/types.h 2014-01-25 13:23:20.000000000 +0100
-@@ -70,6 +70,7 @@
- #endif
-
- #ifndef __u_char_defined
-+#if !defined(__APPLE__) && !defined(__BSD__)
- typedef __u_char u_char;
- typedef __u_short u_short;
- typedef __u_int u_int;
-@@ -79,11 +80,14 @@
- typedef __fsid_t fsid_t;
- # define __u_char_defined
- #endif
-+#endif
- #ifndef __daddr_t_defined
-+#if !defined(__APPLE__) && !defined(__BSD__)
- typedef __daddr_t daddr_t;
- typedef __caddr_t caddr_t;
- # define __daddr_t_defined
- #endif
-+#endif
-
- #include <sys/time.h>
- #include <sys/param.h>
-diff -Nur eglibc-2.18.orig/libc/sunrpc/rpc_main.c eglibc-2.18/libc/sunrpc/rpc_main.c
---- eglibc-2.18.orig/libc/sunrpc/rpc_main.c 2013-09-13 10:20:22.000000000 +0200
-+++ eglibc-2.18/libc/sunrpc/rpc_main.c 2014-01-25 09:57:31.000000000 +0100
-@@ -38,7 +38,6 @@
- #include <stdio.h>
- #include <string.h>
- #include <unistd.h>
--#include <libintl.h>
- #include <locale.h>
- #include <ctype.h>
- #include <sys/types.h>
-@@ -51,6 +50,8 @@
- #include "rpc_scan.h"
- #include "proto.h"
-
-+#define gettext(X) (X)
-+
- #include "../version.h"
- #define PACKAGE _libc_intl_domainname
-
-@@ -958,10 +959,12 @@
- abort ();
- temp = rindex (cmd->infile, '.');
- cp = stpcpy (mkfilename, "Makefile.");
-- if (temp != NULL)
-- *((char *) stpncpy (cp, cmd->infile, temp - cmd->infile)) = '\0';
-- else
-+ if (temp != NULL) {
-+ strncpy (cp, cmd->infile, temp - cmd->infile);
-+ cp[temp - cmd->infile - 1] = '\0';
-+ } else {
- stpcpy (cp, cmd->infile);
-+ }
-
- }
- else
-diff -Nur eglibc-2.18.orig/libc/sunrpc/rpc_scan.c eglibc-2.18/libc/sunrpc/rpc_scan.c
---- eglibc-2.18.orig/libc/sunrpc/rpc_scan.c 2013-09-13 10:20:22.000000000 +0200
-+++ eglibc-2.18/libc/sunrpc/rpc_scan.c 2014-01-25 09:57:31.000000000 +0100
-@@ -37,12 +37,13 @@
- #include <stdio.h>
- #include <ctype.h>
- #include <string.h>
--#include <libintl.h>
- #include "rpc_scan.h"
- #include "rpc_parse.h"
- #include "rpc_util.h"
- #include "proto.h"
-
-+#define gettext(X) (X)
-+
- #define startcomment(where) (where[0] == '/' && where[1] == '*')
- #define endcomment(where) (where[-1] == '*' && where[0] == '/')
-
diff --git a/toolchain/eglibc/patches/sparc64.patch b/toolchain/eglibc/patches/sparc64.patch
deleted file mode 100644
index 1fa281a9a..000000000
--- a/toolchain/eglibc/patches/sparc64.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff -Nur eglibc-2.12.1.orig/libc/sysdeps/sparc/sparc64/Makefile eglibc-2.12.1/libc/sysdeps/sparc/sparc64/Makefile
---- eglibc-2.12.1.orig/libc/sysdeps/sparc/sparc64/Makefile 2010-09-28 19:13:11.000000000 +0200
-+++ eglibc-2.12.1/libc/sysdeps/sparc/sparc64/Makefile 2011-01-02 12:43:41.009426907 +0100
-@@ -1,3 +1,5 @@
-+sysdep-CFLAGS += -mcpu=v9 -Wa,-Av9a
-+
- ifeq ($(subdir),csu)
- sysdep_routines += hp-timing
- elide-routines.os += hp-timing
-@@ -10,3 +12,11 @@
- ifeq ($(subdir),string)
- sysdep_routines += align-cpy
- endif
-+
-+ASFLAGS-.o += -Wa,-Av9a
-+ASFLAGS-.os += -Wa,-Av9a
-+ASFLAGS-.op += -Wa,-Av9a
-+ASFLAGS-.og += -Wa,-Av9a
-+ASFLAGS-.ob += -Wa,-Av9a
-+ASFLAGS-.oS += -Wa,-Av9a
-+
diff --git a/toolchain/gcc/Makefile b/toolchain/gcc/Makefile
index d29778c2e..bbbd3d09c 100644
--- a/toolchain/gcc/Makefile
+++ b/toolchain/gcc/Makefile
@@ -199,12 +199,16 @@ $(WRKBUILD)/.installed: $(WRKBUILD)/.compiled
# fix linking g++ apps with libtool
@-test -d $(STAGING_TARGET_DIR)/lib32 && \
cd $(STAGING_TARGET_DIR)/lib32 && \
- ln -sf libstdc++.so.6.0.17 libstdc++.so && \
- ln -sf libstdc++.so.6.0.17 libstdc++.so.6
+ ln -sf libstdc++.so.6.0.18 libstdc++.so && \
+ ln -sf libstdc++.so.6.0.18 libstdc++.so.6
+ @-test -d $(STAGING_TARGET_DIR)/libx32 && \
+ cd $(STAGING_TARGET_DIR)/libx32 && \
+ ln -sf libstdc++.so.6.0.18 libstdc++.so && \
+ ln -sf libstdc++.so.6.0.18 libstdc++.so.6
@-test -d $(STAGING_TARGET_DIR)/lib64 && \
cd $(STAGING_TARGET_DIR)/lib64 && \
- ln -sf libstdc++.so.6.0.17 libstdc++.so && \
- ln -sf libstdc++.so.6.0.17 libstdc++.so.6
+ ln -sf libstdc++.so.6.0.18 libstdc++.so && \
+ ln -sf libstdc++.so.6.0.18 libstdc++.so.6
# cleanup unneeded docs
rm -rf $(STAGING_HOST_DIR)/share
touch $@