eglibc: add version 2.15
SVN-Revision: 32101
This commit is contained in:
		| @@ -13,6 +13,10 @@ choice | |||||||
| 		bool "eglibc 2.14" | 		bool "eglibc 2.14" | ||||||
| 		depends !GCC_VERSION_LLVM | 		depends !GCC_VERSION_LLVM | ||||||
|  |  | ||||||
|  | 	config EGLIBC_VERSION_2_15 | ||||||
|  | 		bool "eglibc 2.15" | ||||||
|  | 		depends !GCC_VERSION_LLVM | ||||||
|  |  | ||||||
| endchoice | endchoice | ||||||
|  |  | ||||||
| config EGLIBC_REVISION | config EGLIBC_REVISION | ||||||
| @@ -21,6 +25,7 @@ config EGLIBC_REVISION | |||||||
| 	depends on TOOLCHAINOPTS && USE_EGLIBC | 	depends on TOOLCHAINOPTS && USE_EGLIBC | ||||||
| 	default "15508" if EGLIBC_VERSION_2_13 | 	default "15508" if EGLIBC_VERSION_2_13 | ||||||
| 	default "16488" if EGLIBC_VERSION_2_14 | 	default "16488" if EGLIBC_VERSION_2_14 | ||||||
|  | 	default "18909" if EGLIBC_VERSION_2_15 | ||||||
| 	default "" | 	default "" | ||||||
|  |  | ||||||
| menu "eglibc configuration" | menu "eglibc configuration" | ||||||
|   | |||||||
| @@ -3,4 +3,5 @@ config EGLIBC_VERSION | |||||||
| 	depends on USE_EGLIBC | 	depends on USE_EGLIBC | ||||||
| 	default "2.13" if EGLIBC_VERSION_2_13 | 	default "2.13" if EGLIBC_VERSION_2_13 | ||||||
| 	default "2.14.1" if EGLIBC_VERSION_2_14 | 	default "2.14.1" if EGLIBC_VERSION_2_14 | ||||||
|  | 	default "2.15" if EGLIBC_VERSION_2_15 | ||||||
| 	default "2.13" | 	default "2.13" | ||||||
|   | |||||||
| @@ -21,6 +21,9 @@ endif | |||||||
| ifneq ($(CONFIG_EGLIBC_VERSION_2_14),) | ifneq ($(CONFIG_EGLIBC_VERSION_2_14),) | ||||||
|   PKG_SOURCE_URL:=svn://svn.eglibc.org/branches/eglibc-2_14 |   PKG_SOURCE_URL:=svn://svn.eglibc.org/branches/eglibc-2_14 | ||||||
| endif | endif | ||||||
|  | ifneq ($(CONFIG_EGLIBC_VERSION_2_15),) | ||||||
|  |   PKG_SOURCE_URL:=svn://svn.eglibc.org/branches/eglibc-2_15 | ||||||
|  | endif | ||||||
|  |  | ||||||
| PATCH_DIR:=./patches/$(PKG_VERSION) | PATCH_DIR:=./patches/$(PKG_VERSION) | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										48
									
								
								toolchain/eglibc/patches/2.15/001-fix_autoconf_macro.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										48
									
								
								toolchain/eglibc/patches/2.15/001-fix_autoconf_macro.patch
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,48 @@ | |||||||
|  | --- a/libc/aclocal.m4 | ||||||
|  | +++ b/libc/aclocal.m4 | ||||||
|  | @@ -88,6 +88,12 @@ | ||||||
|  |  fi | ||||||
|  |  rm -fr contest*]) | ||||||
|  |   | ||||||
|  | +dnl Test a compiler option or options with an empty input file. | ||||||
|  | +dnl LIBC_TRY_CC_OPTION([options], [action-if-true], [action-if-false]) | ||||||
|  | +AC_DEFUN([LIBC_TRY_CC_OPTION], | ||||||
|  | +[AS_IF([AC_TRY_COMMAND([${CC-cc} $1 -xc /dev/null -S -o /dev/null])], | ||||||
|  | + [$2], [$3])]) | ||||||
|  | + | ||||||
|  |  AC_DEFUN([LIBC_PROG_BINUTILS], | ||||||
|  |  [# Was a --with-binutils option given? | ||||||
|  |  if test -n "$path_binutils"; then | ||||||
|  | --- a/libc/configure | ||||||
|  | +++ b/libc/configure | ||||||
|  | @@ -7404,7 +7404,14 @@ | ||||||
|  |  else | ||||||
|  |    libc_cv_cc_nofma= | ||||||
|  |  for opt in -ffp-contract=off -mno-fused-madd; do | ||||||
|  | -  LIBC_TRY_CC_OPTION($opt, libc_cv_cc_nofma=$opt; break) | ||||||
|  | +  if { ac_try='${CC-cc} $opt -xc /dev/null -S -o /dev/null' | ||||||
|  | +  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 | ||||||
|  | +  (eval $ac_try) 2>&5 | ||||||
|  | +  ac_status=$? | ||||||
|  | +  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 | ||||||
|  | +  test $ac_status = 0; }; }; then : | ||||||
|  | +  libc_cv_cc_nofma=$opt; break | ||||||
|  | +fi | ||||||
|  |  done | ||||||
|  |  fi | ||||||
|  |  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_cc_nofma" >&5 | ||||||
|  | --- a/libc/configure.in | ||||||
|  | +++ b/libc/configure.in | ||||||
|  | @@ -2238,10 +2238,9 @@ | ||||||
|  |  		 libc_cv_cc_submachine, [dnl | ||||||
|  |    libc_cv_cc_submachine=no | ||||||
|  |    for opt in "-march=$submachine" "-mcpu=$submachine"; do | ||||||
|  | -    if AC_TRY_COMMAND([${CC-cc} $opt -xc /dev/null -S -o /dev/null]); then | ||||||
|  | +    LIBC_TRY_CC_OPTION([$opt], [ | ||||||
|  |        libc_cv_cc_submachine="$opt" | ||||||
|  | -      break | ||||||
|  | -    fi | ||||||
|  | +      break], []) | ||||||
|  |    done]) | ||||||
|  |    if test "x$libc_cv_cc_submachine" = xno; then | ||||||
|  |      AC_MSG_ERROR([${CC-cc} does not support $submachine]) | ||||||
							
								
								
									
										71
									
								
								toolchain/eglibc/patches/2.15/100-fix_cross_rpcgen.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										71
									
								
								toolchain/eglibc/patches/2.15/100-fix_cross_rpcgen.patch
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,71 @@ | |||||||
|  | --- a/libc/sunrpc/proto.h | ||||||
|  | +++ b/libc/sunrpc/proto.h | ||||||
|  | @@ -56,12 +56,14 @@ void add_type(int len, const char *type) | ||||||
|  |     $build's C library and $host's GLIBC.  */ | ||||||
|  |  #ifdef _CROSS_RPCGEN_ | ||||||
|  |   | ||||||
|  | +#undef stpcpy | ||||||
|  | + | ||||||
|  |  /* Rather then defining _GNU_SOURCE before including $build's <string.h> | ||||||
|  |     we just declare stpcpy here.  */ | ||||||
|  |  extern char *stpcpy (char *, const char *); | ||||||
|  |   | ||||||
|  | -/* Use $build's i18n support as we can't use $host's.  */ | ||||||
|  | -#define _(X) (gettext (X)) | ||||||
|  | +/* Do not use i18n support  */ | ||||||
|  | +#define _(X) (X) | ||||||
|  |   | ||||||
|  |  /* rpcgen sources check for __GNU_LIBRARY__ to tweak for GLIBC code | ||||||
|  |     that rpcgen generates.  The proper fix would be to rename all those checks | ||||||
|  | --- a/libc/sunrpc/rpc/types.h | ||||||
|  | +++ b/libc/sunrpc/rpc/types.h | ||||||
|  | @@ -70,18 +70,23 @@ typedef unsigned long rpcport_t; | ||||||
|  |  #endif | ||||||
|  |   | ||||||
|  |  #ifndef __u_char_defined | ||||||
|  | -typedef __u_char u_char; | ||||||
|  | -typedef __u_short u_short; | ||||||
|  | -typedef __u_int u_int; | ||||||
|  | -typedef __u_long u_long; | ||||||
|  | -typedef __quad_t quad_t; | ||||||
|  | -typedef __u_quad_t u_quad_t; | ||||||
|  | -typedef __fsid_t fsid_t; | ||||||
|  | +typedef unsigned char u_char; | ||||||
|  | +typedef unsigned short u_short; | ||||||
|  | +typedef unsigned int u_int; | ||||||
|  | +typedef unsigned long u_long; | ||||||
|  | +#if __WORDSIZE == 64 | ||||||
|  | +typedef long int quad_t; | ||||||
|  | +typedef unsigned long int u_quad_t; | ||||||
|  | +#elif defined __GLIBC_HAVE_LONG_LONG | ||||||
|  | +typedef long long int quad_t; | ||||||
|  | +typedef unsigned long long int u_quad_t; | ||||||
|  | +#endif | ||||||
|  | +typedef u_quad_t fsid_t; | ||||||
|  |  # define __u_char_defined | ||||||
|  |  #endif | ||||||
|  | -#ifndef __daddr_t_defined | ||||||
|  | -typedef __daddr_t daddr_t; | ||||||
|  | -typedef __caddr_t caddr_t; | ||||||
|  | +#if !defined(__daddr_t_defined) && defined(linux) | ||||||
|  | +typedef long int daddr_t; | ||||||
|  | +typedef char *caddr_t; | ||||||
|  |  # define __daddr_t_defined | ||||||
|  |  #endif | ||||||
|  |   | ||||||
|  | --- a/libc/sunrpc/rpc_main.c | ||||||
|  | +++ b/libc/sunrpc/rpc_main.c | ||||||
|  | @@ -997,9 +997,10 @@ mkfile_output (struct commandline *cmd) | ||||||
|  |  	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); | ||||||
|  |   | ||||||
|  |      } | ||||||
							
								
								
									
										27
									
								
								toolchain/eglibc/patches/2.15/110-fix_cross_zic.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								toolchain/eglibc/patches/2.15/110-fix_cross_zic.patch
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,27 @@ | |||||||
|  | --- a/libc/timezone/zic.c | ||||||
|  | +++ b/libc/timezone/zic.c | ||||||
|  | @@ -8,6 +8,8 @@ static char	elsieid[] = "@(#)zic.c	8.19" | ||||||
|  |  #ifdef CROSS_ZIC | ||||||
|  |  #define REPORT_BUGS_TO "" | ||||||
|  |  #define PKGVERSION "" | ||||||
|  | +#undef _ | ||||||
|  | +#define _(X) (X) | ||||||
|  |  #else | ||||||
|  |  #include "config.h" | ||||||
|  |  #endif | ||||||
|  | @@ -490,6 +492,7 @@ char *	argv[]; | ||||||
|  |  #ifdef unix | ||||||
|  |  	(void) umask(umask(S_IWGRP | S_IWOTH) | (S_IWGRP | S_IWOTH)); | ||||||
|  |  #endif /* defined unix */ | ||||||
|  | +#ifndef CROSS_ZIC | ||||||
|  |  #if HAVE_GETTEXT | ||||||
|  |  	(void) setlocale(LC_ALL, ""); | ||||||
|  |  #ifdef TZ_DOMAINDIR | ||||||
|  | @@ -497,6 +500,7 @@ char *	argv[]; | ||||||
|  |  #endif /* defined TEXTDOMAINDIR */ | ||||||
|  |  	(void) textdomain(TZ_DOMAIN); | ||||||
|  |  #endif /* HAVE_GETTEXT */ | ||||||
|  | +#endif | ||||||
|  |  	progname = argv[0]; | ||||||
|  |  	if (TYPE_BIT(zic_t) < 64) { | ||||||
|  |  		(void) fprintf(stderr, "%s: %s\n", progname, | ||||||
							
								
								
									
										14
									
								
								toolchain/eglibc/patches/2.15/200-add-dl-search-paths.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								toolchain/eglibc/patches/2.15/200-add-dl-search-paths.patch
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,14 @@ | |||||||
|  | add /usr/lib to default search path for the dynamic linker | ||||||
|  |  | ||||||
|  | --- a/libc/Makeconfig | ||||||
|  | +++ b/libc/Makeconfig | ||||||
|  | @@ -539,6 +539,9 @@ | ||||||
|  |  default-rpath = $(libdir) | ||||||
|  |  endif | ||||||
|  |   | ||||||
|  | +# Add /usr/lib to default search path for the dynamic linker | ||||||
|  | +user-defined-trusted-dirs := /usr/lib | ||||||
|  | + | ||||||
|  |  ifndef link-extra-libs | ||||||
|  |  link-extra-libs = $(LDLIBS-$(@F)) | ||||||
|  |  link-extra-libs-static = $(link-extra-libs) | ||||||
		Reference in New Issue
	
	Block a user
	 Felix Fietkau
					Felix Fietkau