summaryrefslogtreecommitdiff
path: root/toolchain/eglibc
diff options
context:
space:
mode:
Diffstat (limited to 'toolchain/eglibc')
-rw-r--r--toolchain/eglibc/Makefile21
-rw-r--r--toolchain/eglibc/Makefile.inc6
-rw-r--r--toolchain/eglibc/eglibc.config68
-rw-r--r--toolchain/eglibc/patches/eglibc-cross.patch92
4 files changed, 144 insertions, 43 deletions
diff --git a/toolchain/eglibc/Makefile b/toolchain/eglibc/Makefile
index 7b04ffa23..863cd88ba 100644
--- a/toolchain/eglibc/Makefile
+++ b/toolchain/eglibc/Makefile
@@ -7,6 +7,10 @@ include Makefile.inc
include ${TOPDIR}/mk/buildhlp.mk
+ifneq ($(ADK_DEBUG),)
+TARGET_CFLAGS+= -O2
+endif
+
EGLIBC_CONFOPTS:= \
--build=$(GNU_HOST_NAME) \
--host=$(REAL_GNU_TARGET_NAME) \
@@ -31,9 +35,9 @@ EGLIBC_ENV:= PATH='${TARGET_PATH}' \
libc_cv_forced_unwind=yes \
libc_cv_c_cleanup=yes \
libc_cv_gnu99_inline=yes \
- libc_cv_slibdir="/lib"
+ libc_cv_slibdir="/lib"
-ifeq ($(ADK_DEVICE_NO_FPU),y)
+ifeq ($(ADK_TARGET_NO_FPU),y)
EGLIBC_CONFOPTS+= --without-fp
endif
@@ -44,7 +48,6 @@ $(WRKBUILD)/.headers_configure:
mkdir -p $(EGLIBC_BUILD_DIR_INITIAL)
(cd ${WRKDIR}/$(PKG_NAME)-$(PKG_VERSION); \
ln -sf ../ports ${WRKDIR}/$(PKG_NAME)-$(PKG_VERSION)/libc);
- (cd ${WRKDIR}/$(PKG_NAME)-$(PKG_VERSION)/libc; autoconf --force);
$(CP) ${TOPDIR}/toolchain/eglibc/eglibc.config \
$(EGLIBC_BUILD_DIR_INITIAL)
(cd $(EGLIBC_BUILD_DIR_INITIAL); \
@@ -61,19 +64,9 @@ $(WRKBUILD)/.headers: $(WRKBUILD)/.headers_configure
PATH='${TARGET_PATH}' \
$(MAKE) -C $(EGLIBC_BUILD_DIR_INITIAL) \
install-headers install-bootstrap-headers=yes
- PATH='${TARGET_PATH}' \
- $(MAKE) -C $(EGLIBC_BUILD_DIR_INITIAL) \
- csu/subdir_lib
- ( cd $(EGLIBC_BUILD_DIR_INITIAL); \
- $(CP) csu/crt1.o csu/crti.o csu/crtn.o \
- $(TOOLCHAIN_SYSROOT)/usr/lib \
- );
- PATH='${TARGET_PATH}' \
- $(TARGET_CC) -nostdlib -nostartfiles -shared -x c /dev/null \
- -o $(TOOLCHAIN_SYSROOT)/usr/lib/libc.so
touch $@
-$(WRKBUILD)/.configured:
+$(WRKBUILD)/.configured:
mkdir -p $(EGLIBC_BUILD_DIR_FINAL)
$(CP) ${TOPDIR}/toolchain/eglibc/eglibc.config \
$(EGLIBC_BUILD_DIR_FINAL)
diff --git a/toolchain/eglibc/Makefile.inc b/toolchain/eglibc/Makefile.inc
index 4f11fba45..0dba0457c 100644
--- a/toolchain/eglibc/Makefile.inc
+++ b/toolchain/eglibc/Makefile.inc
@@ -2,7 +2,7 @@
# material, please see the LICENCE file in the top-level directory.
PKG_NAME:= eglibc
-PKG_VERSION:= 2.10.1
+PKG_VERSION:= 2.11.1
PKG_RELEASE:= 1
-PKG_MD5SUM:= 1b5d08c87de09018dcabd9974ba754d4
-PKG_SITES:= http://www.openadk.org/distfiles/
+PKG_MD5SUM:= 393cfbba56898bf7d5d5444fe3313cb4
+PKG_SITES:= http://openadk.org/distfiles/
diff --git a/toolchain/eglibc/eglibc.config b/toolchain/eglibc/eglibc.config
index 198741139..b7f5f96e1 100644
--- a/toolchain/eglibc/eglibc.config
+++ b/toolchain/eglibc/eglibc.config
@@ -1,26 +1,42 @@
-OPTION_EGLIBC_ADVANCED_INET6=y
-OPTION_EGLIBC_BACKTRACE=n
-OPTION_EGLIBC_BSD=y
-OPTION_EGLIBC_CXX_TESTS=n
-OPTION_EGLIBC_CATGETS=y
-OPTION_EGLIBC_CHARSETS=y
-OPTION_EGLIBC_DB_ALIASES=y
-OPTION_EGLIBC_ENVZ=y
-OPTION_EGLIBC_FSTAB=y
-OPTION_EGLIBC_GETLOGIN=y
-OPTION_EGLIBC_INET=y
-OPTION_EGLIBC_LIBM=y
-OPTION_EGLIBC_LOCALES=n
-OPTION_EGLIBC_LOCALE_CODE=y
-OPTION_EGLIBC_NIS=n
-OPTION_EGLIBC_NSSWITCH=y
-OPTION_EGLIBC_RCMD=y
-OPTION_EGLIBC_SPAWN=y
-OPTION_EGLIBC_STREAMS=y
-OPTION_EGLIBC_SUNRPC=y
-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_WIDE_CHAR_DEVICE_IO=y
+# 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 = n
+OPTION_EGLIBC_BIG_MACROS = y
+OPTION_EGLIBC_BSD = y
+OPTION_EGLIBC_CXX_TESTS = n
+OPTION_EGLIBC_CATGETS = n
+OPTION_EGLIBC_CHARSETS = n
+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_INET = y
+OPTION_EGLIBC_LIBM = y
+OPTION_EGLIBC_LOCALES = n
+OPTION_EGLIBC_LOCALE_CODE = n
+OPTION_EGLIBC_MEMUSAGE = y
+OPTION_EGLIBC_NIS = n
+OPTION_EGLIBC_NSSWITCH = n
+OPTION_EGLIBC_RCMD = y
+OPTION_EGLIBC_SPAWN = y
+OPTION_EGLIBC_STREAMS = y
+OPTION_EGLIBC_SUNRPC = y
+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 = n
+OPTION_POSIX_WIDE_CHAR_DEVICE_IO = y
diff --git a/toolchain/eglibc/patches/eglibc-cross.patch b/toolchain/eglibc/patches/eglibc-cross.patch
new file mode 100644
index 000000000..e2cc86c2e
--- /dev/null
+++ b/toolchain/eglibc/patches/eglibc-cross.patch
@@ -0,0 +1,92 @@
+diff -Nur eglibc-2.11.1.orig/libc/sunrpc/rpc/types.h eglibc-2.11.1/libc/sunrpc/rpc/types.h
+--- eglibc-2.11.1.orig/libc/sunrpc/rpc/types.h 2010-02-24 08:09:59.000000000 +0100
++++ eglibc-2.11.1/libc/sunrpc/rpc/types.h 2010-03-22 18:30:14.944408497 +0100
+@@ -68,6 +68,7 @@
+ #include <sys/types.h>
+ #endif
+
++#if !defined(_CROSS_RPCGEN_)
+ #ifndef __u_char_defined
+ typedef __u_char u_char;
+ typedef __u_short u_short;
+@@ -83,6 +84,7 @@
+ typedef __caddr_t caddr_t;
+ # define __daddr_t_defined
+ #endif
++#endif
+
+ #include <sys/time.h>
+ #include <sys/param.h>
+diff -Nur eglibc-2.11.1.orig/libc/sunrpc/rpc_clntout.c eglibc-2.11.1/libc/sunrpc/rpc_clntout.c
+--- eglibc-2.11.1.orig/libc/sunrpc/rpc_clntout.c 2010-02-24 08:10:01.000000000 +0100
++++ eglibc-2.11.1/libc/sunrpc/rpc_clntout.c 2010-03-22 18:30:38.973160151 +0100
+@@ -31,7 +31,7 @@
+ */
+ #include <stdio.h>
+ #include <string.h>
+-#include <rpc/types.h>
++#include "rpc/types.h"
+ #include "rpc_parse.h"
+ #include "rpc_util.h"
+ #include "proto.h"
+diff -Nur eglibc-2.11.1.orig/libc/sunrpc/rpc_main.c eglibc-2.11.1/libc/sunrpc/rpc_main.c
+--- eglibc-2.11.1.orig/libc/sunrpc/rpc_main.c 2010-02-24 08:10:00.000000000 +0100
++++ eglibc-2.11.1/libc/sunrpc/rpc_main.c 2010-03-22 18:31:31.245661003 +0100
+@@ -37,7 +37,11 @@
+ #include <stdio.h>
+ #include <string.h>
+ #include <unistd.h>
++#ifdef _CROSS_RPCGEN_
++#define gettext(X) (X)
++#else
+ #include <libintl.h>
++#endif
+ #include <ctype.h>
+ #include <sys/types.h>
+ #include <sys/param.h>
+diff -Nur eglibc-2.11.1.orig/libc/sunrpc/rpc_scan.c eglibc-2.11.1/libc/sunrpc/rpc_scan.c
+--- eglibc-2.11.1.orig/libc/sunrpc/rpc_scan.c 2010-02-24 08:10:00.000000000 +0100
++++ eglibc-2.11.1/libc/sunrpc/rpc_scan.c 2010-03-22 18:31:16.146907097 +0100
+@@ -36,7 +36,11 @@
+ #include <stdio.h>
+ #include <ctype.h>
+ #include <string.h>
++#ifdef _CROSS_RPCGEN_
++#define gettext(X) (X)
++#else
+ #include <libintl.h>
++#endif
+ #include "rpc_scan.h"
+ #include "rpc_parse.h"
+ #include "rpc_util.h"
+diff -Nur eglibc-2.11.1.orig/libc/timezone/Makefile eglibc-2.11.1/libc/timezone/Makefile
+--- eglibc-2.11.1.orig/libc/timezone/Makefile 2010-02-24 08:09:02.000000000 +0100
++++ eglibc-2.11.1/libc/timezone/Makefile 2010-03-22 18:50:04.134408513 +0100
+@@ -69,10 +69,11 @@
+ $(addprefix $(inst_zonedir)/, \
+ $(posixrules-file)))
+
+-install-others = $(addprefix $(inst_zonedir)/,$(zonenames) \
+- $(zonenames:%=posix/%) \
+- $(zonenames:%=right/%)) \
+- $(installed-localtime-file) $(installed-posixrules-file)
++install-others =
++#install-others = $(addprefix $(inst_zonedir)/,$(zonenames) \
++# $(zonenames:%=posix/%) \
++# $(zonenames:%=right/%)) \
++# $(installed-localtime-file) $(installed-posixrules-file)
+
+ ifeq ($(have-ksh),yes)
+ install-others += $(inst_zonedir)/iso3166.tab $(inst_zonedir)/zone.tab
+@@ -181,8 +182,9 @@
+ $(objpfx)zic: $(addprefix $(objpfx), $(zic-objs))
+
+ $(addprefix $(objpfx)cross-,$(zic-objs)): $(objpfx)cross-%.o: %.c
+- gcc $< -c $(OUTPUT_OPTION) $(CFLAGS-$*.c) $(CPPFLAGS-$*) \
+- -DCROSS_ZIC $(compile-mkdep-flags)
++ gcc $< -c $(OUTPUT_OPTION) \
++ $(filter-out -DHAVE_GETTEXT,$(CFLAGS-$*.c)) \
++ $(CPPFLAGS-$*) -DCROSS_ZIC $(compile-mkdep-flags)
+
+ $(objpfx)cross-zic: $(addprefix $(objpfx)cross-,$(zic-objs))
+ gcc $(addprefix $(objpfx)cross-,$(zic-objs)) -o $@