Browse Source

glibc: update to 2.31

Waldemar Brodkorb 4 years ago
parent
commit
ded166ac4e

+ 65 - 0
package/busybox/patches/009-Replace-obsolete-stime-API-with-clock_settime.patch

@@ -0,0 +1,65 @@
+diff -Nur busybox-1.26.2.orig/coreutils/date.c busybox-1.26.2/coreutils/date.c
+--- busybox-1.26.2.orig/coreutils/date.c	2016-12-10 18:46:36.000000000 +0100
++++ busybox-1.26.2/coreutils/date.c	2020-02-04 09:55:25.126083910 +0100
+@@ -267,6 +267,9 @@
+ 		time(&ts.tv_sec);
+ #endif
+ 	}
++#if !ENABLE_FEATURE_DATE_NANO
++	ts.tv_nsec = 0;
++#endif
+ 	localtime_r(&ts.tv_sec, &tm_time);
+ 
+ 	/* If date string is given, update tm_time, and maybe set date */
+@@ -289,11 +292,12 @@
+ 		if (date_str[0] != '@')
+ 			tm_time.tm_isdst = -1;
+ 		ts.tv_sec = validate_tm_time(date_str, &tm_time);
++		ts.tv_nsec = 0;
+ 
+ 		maybe_set_utc(opt);
+ 
+ 		/* if setting time, set it */
+-		if ((opt & OPT_SET) && stime(&ts.tv_sec) < 0) {
++		if ((opt & OPT_SET) && clock_settime(CLOCK_REALTIME, &ts) < 0) {
+ 			bb_perror_msg("can't set date");
+ 		}
+ 	}
+diff -Nur busybox-1.26.2.orig/libbb/missing_syscalls.c busybox-1.26.2/libbb/missing_syscalls.c
+--- busybox-1.26.2.orig/libbb/missing_syscalls.c	2016-09-27 18:53:50.000000000 +0200
++++ busybox-1.26.2/libbb/missing_syscalls.c	2020-02-04 09:55:58.848244715 +0100
+@@ -16,14 +16,6 @@
+ 	return syscall(__NR_getsid, pid);
+ }
+ 
+-int stime(const time_t *t)
+-{
+-	struct timeval tv;
+-	tv.tv_sec = *t;
+-	tv.tv_usec = 0;
+-	return settimeofday(&tv, NULL);
+-}
+-
+ int sethostname(const char *name, size_t len)
+ {
+ 	return syscall(__NR_sethostname, name, len);
+diff -Nur busybox-1.26.2.orig/util-linux/rdate.c busybox-1.26.2/util-linux/rdate.c
+--- busybox-1.26.2.orig/util-linux/rdate.c	2016-12-10 18:46:36.000000000 +0100
++++ busybox-1.26.2/util-linux/rdate.c	2020-02-04 09:56:53.927774023 +0100
+@@ -79,9 +79,13 @@
+ 		time(&current_time);
+ 		if (current_time == remote_time)
+ 			bb_error_msg("current time matches remote time");
+-		else
+-			if (stime(&remote_time) < 0)
+-				bb_perror_msg_and_die("can't set time of day");
++		else {
++			struct timespec ts;
++			ts.tv_sec = remote_time;
++			ts.tv_nsec = 0;
++			if (clock_settime(CLOCK_REALTIME, &ts) < 0)
++ 				bb_perror_msg_and_die("can't set time of day");
++		}
+ 	}
+ 
+ 	if (flags != 1) /* not lone -s */

+ 2 - 2
package/tzdata/Makefile

@@ -4,9 +4,9 @@
 include $(ADK_TOPDIR)/rules.mk
 
 PKG_NAME:=		tzdata
-PKG_VERSION:=		2014d
+PKG_VERSION:=		2019c
 PKG_RELEASE:=		1
-PKG_HASH:=		4b4966912f5d4a299b0bdf47e6f3103d82dc6a0b5a6b321e2b9d5662597a62f0 e9c775bb76c9700521ada77776277c25f8650a22b56d46c9f00f4147970ef13e
+PKG_HASH:=		79c7806dab09072308da0e3d22c37d3b245015a591891ea147d3b133b60ffc7c f6ebd3668e02d5ed223d3b7b1947561bf2d2da2f4bd1db61efefd9e06c167ed4
 PKG_DESCR:=		timezone data (/usr/share/zoneinfo)
 PKG_SECTION:=		base/apps
 PKG_URL:=		http://www.iana.org/time-zones/

+ 18 - 83
package/tzdata/patches/patch-Makefile

@@ -1,107 +1,42 @@
---- w-tzdata-2014d-1.orig/Makefile	2014-05-28 06:35:46.000000000 +0200
-+++ w-tzdata-2014d-1/Makefile	2014-05-30 09:15:54.792171067 +0200
-@@ -45,33 +45,33 @@ POSIXRULES=	America/New_York
- 
- # Everything gets put in subdirectories of. . .
- 
--TOPDIR=		/usr/local
-+TZTOPDIR=	/usr
- 
- # "Compiled" time zone information is placed in the "TZDIR" directory
- # (and subdirectories).
- # Use an absolute path name for TZDIR unless you're just testing the software.
- 
- TZDIR_BASENAME=	zoneinfo
--TZDIR=		$(TOPDIR)/etc/$(TZDIR_BASENAME)
-+TZDIR=		$(TZTOPDIR)/etc/$(TZDIR_BASENAME)
- 
- # Types to try, as an alternative to time_t.  int64_t should be first.
- TIME_T_ALTERNATIVES= int64_t int32_t uint32_t uint64_t
- 
- # The "tzselect", "zic", and "zdump" commands get installed in. . .
- 
--ETCDIR=		$(TOPDIR)/etc
-+ETCDIR=		$(TZTOPDIR)/etc
- 
- # If you "make INSTALL", the "date" command gets installed in. . .
- 
--BINDIR=		$(TOPDIR)/bin
-+BINDIR=		$(TZTOPDIR)/bin
- 
- # Manual pages go in subdirectories of. . .
- 
--MANDIR=		$(TOPDIR)/man
-+MANDIR=		$(TZTOPDIR)/man
- 
- # Library functions are put in an archive in LIBDIR.
- 
--LIBDIR=		$(TOPDIR)/lib
-+LIBDIR=		$(TZTOPDIR)/lib
- 
- # If you always want time values interpreted as "seconds since the epoch
- # (not counting leap seconds)", use
-@@ -224,7 +224,7 @@ GCC_DEBUG_FLAGS = -Dlint -g3 -O3 -fno-co
- # before the first Monday in January when a "%V" format is used and January 1
+--- w-tzdata-2019c-1.orig/Makefile	2019-07-01 09:06:38.000000000 +0200
++++ w-tzdata-2019c-1/Makefile	2020-02-04 09:33:12.012662611 +0100
+@@ -365,7 +365,7 @@ GCC_DEBUG_FLAGS = -DGCC_LINT -g3 -O3 -fn
+ # January's first Monday when a "%V" format is used and January 1
  # falls on a Friday, Saturday, or Sunday.
  
 -CFLAGS=
 +CFLAGS?=
  
  # Linker flags.  Default to $(LFLAGS) for backwards compatibility
- # to tzcode2012h and earlier.
-@@ -232,7 +232,7 @@ CFLAGS=
- LDFLAGS=	$(LFLAGS)
+ # to release 2012h and earlier.
+@@ -380,7 +380,7 @@ LEAPSECONDS=
+ # The zic command and its arguments.
  
  zic=		./zic
 -ZIC=		$(zic) $(ZFLAGS)
 +ZIC=		./zic_for_build $(ZFLAGS)
  
- ZFLAGS=
- 
-@@ -338,7 +338,7 @@ SHELL=		/bin/sh
+ # To shrink the size of installed TZif files,
+ # append "-r @N" to omit data before N-seconds-after-the-Epoch.
+@@ -579,7 +579,7 @@ SHELL=		/bin/sh
+ all:		tzselect yearistype zic zdump libtz.a $(TABDATA) \
+ 		  vanguard.zi main.zi rearguard.zi
  
- all:		tzselect zic zdump libtz.a $(TABDATA)
- 
--ALL:		all date
-+ALL:		zic_for_build date
+-ALL:		all date $(ENCHILADA)
++ALL:		zic_for_build date $(ENCHILADA)
  
  install:	all $(DATA) $(REDO) $(MANS)
- 		mkdir -p $(DESTDIR)$(ETCDIR) $(DESTDIR)$(TZDIR) \
-@@ -371,6 +371,14 @@ zdump:		$(TZDOBJS)
- zic:		$(TZCOBJS) yearistype
+ 		mkdir -p '$(DESTDIR)$(BINDIR)' \
+@@ -646,6 +646,12 @@ zdump:		$(TZDOBJS)
+ zic:		$(TZCOBJS)
  		$(CC) -o $@ $(CFLAGS) $(LDFLAGS) $(TZCOBJS) $(LDLIBS)
  
 +zic_for_build: version.h
 +		$(CC_FOR_BUILD) -c $(CFLAGS_FOR_BUILD) zic.c -o zic_build.o
 +		$(CC_FOR_BUILD) -c $(CFLAGS_FOR_BUILD) localtime.c -o localtime_build.o
 +		$(CC_FOR_BUILD) -c $(CFLAGS_FOR_BUILD) asctime.c -o asctime_build.o
-+		$(CC_FOR_BUILD) -c $(CFLAGS_FOR_BUILD) scheck.c -o scheck_build.o
-+		$(CC_FOR_BUILD) -c $(CFLAGS_FOR_BUILD) ialloc.c -o ialloc_build.o
-+		$(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) -o $@ zic_build.o localtime_build.o asctime_build.o scheck_build.o ialloc_build.o 
++		$(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) -o $@ zic_build.o localtime_build.o asctime_build.o
 +
  yearistype:	yearistype.sh
  		cp yearistype.sh yearistype
  		chmod +x yearistype
-@@ -378,11 +386,11 @@ yearistype:	yearistype.sh
- leapseconds:	$(LEAP_DEPS)
- 		$(AWK) -f leapseconds.awk leap-seconds.list >$@
- 
--posix_only:	zic $(TDATA)
-+posix_only:	zic_for_build $(TDATA)
- 		$(ZIC) -y $(YEARISTYPE) -d $(DESTDIR)$(TZDIR) \
- 			-L /dev/null $(TDATA)
- 
--right_only:	zic leapseconds $(TDATA)
-+right_only:	zic_for_build leapseconds $(TDATA)
- 		$(ZIC) -y $(YEARISTYPE) -d $(DESTDIR)$(TZDIR) \
- 			-L leapseconds $(TDATA)
- 
-@@ -520,7 +528,7 @@ check_time_t_alternatives:
- 		for type in $(TIME_T_ALTERNATIVES); do \
- 		  mkdir -p tzpublic/$$type && \
- 		  make clean_misc && \
--		  make TOPDIR=`pwd`/tzpublic/$$type \
-+		  make TZTOPDIR=`pwd`/tzpublic/$$type \
- 		    CFLAGS='$(CFLAGS) -Dtime_tz='"'$$type'" \
- 		    install && \
- 		  diff -qr tzpublic/int64_t/etc/zoneinfo tzpublic/$$type/etc/zoneinfo && \

+ 0 - 38
package/tzdata/patches/patch-localtime_c

@@ -1,38 +0,0 @@
---- w-tzdata-2014d-1.orig/localtime.c	2014-01-18 07:42:22.000000000 +0100
-+++ w-tzdata-2014d-1/localtime.c	2014-05-30 09:09:35.130879741 +0200
-@@ -1329,7 +1329,7 @@ localsub(const time_t *const timep, cons
- }
- 
- struct tm *
--localtime(const time_t *const timep)
-+localtime_tz(const time_t *const timep)
- {
- 	tzset();
- 	return localsub(timep, 0L, &tm);
-@@ -1550,7 +1550,7 @@ ctime(const time_t *const timep)
- **	to local time in the form of a string. It is equivalent to
- **		asctime(localtime(timer))
- */
--	return asctime(localtime(timep));
-+	return asctime(localtime_tz(timep));
- }
- 
- char *
-@@ -1929,7 +1929,7 @@ time1(struct tm *const tmp,
- }
- 
- time_t
--mktime(struct tm *const tmp)
-+mktime_tz(struct tm *const tmp)
- {
- 	tzset();
- 	return time1(tmp, localsub, 0L);
-@@ -1973,7 +1973,7 @@ timeoff(struct tm *const tmp, const long
- long
- gtime(struct tm *const tmp)
- {
--	const time_t	t = mktime(tmp);
-+	const time_t	t = mktime_tz(tmp);
- 
- 	if (t == WRONG)
- 		return -1;

+ 2 - 2
target/config/Config.in.libc

@@ -151,8 +151,8 @@ config ADK_TARGET_LIB_UCLIBC_NG_GIT
 	bool "git"
 	depends on ADK_TARGET_LIB_UCLIBC_NG && ADK_EXPERIMENTAL
 
-config ADK_TARGET_LIB_GLIBC_2_30
-	bool "2.30"
+config ADK_TARGET_LIB_GLIBC_2_31
+	bool "2.31"
 	depends on ADK_TARGET_LIB_GLIBC
 
 config ADK_TARGET_LIB_GLIBC_GIT

+ 6 - 6
toolchain/glibc/Makefile.inc

@@ -3,16 +3,16 @@
 
 PKG_NAME:=		glibc
 ifeq ($(ADK_LIBC_VERSION),git)
-PKG_VERSION:=		2.30.90
-PKG_GLIBCVER:=		2.30.9000
+PKG_VERSION:=		2.31.90
+PKG_GLIBCVER:=		2.31.9000
 PKG_SITES:=		git://sourceware.org/git/glibc.git
 PKG_RELEASE:=		1
 endif
-ifeq ($(ADK_TARGET_LIB_GLIBC_2_30),y)
-PKG_VERSION:=		2.30
-PKG_GLIBCVER:=		2.30
+ifeq ($(ADK_TARGET_LIB_GLIBC_2_31),y)
+PKG_VERSION:=		2.31
+PKG_GLIBCVER:=		2.31
 PKG_RELEASE:=		1
 PKG_SITES:=		${MASTER_SITE_GNU:=glibc/}
-PKG_HASH:=		e2c4114e569afbe7edbc29131a43be833850ab9a459d81beb2588016d2bbb8af
+PKG_HASH:=		9246fe44f68feeec8c666bb87973d590ce0137cca145df014c72ec95be9ffd17
 endif
 DISTFILES:=		$(PKG_NAME)-$(PKG_VERSION).tar.xz