diff --git a/.abf.yml b/.abf.yml index 1961499..394b2ea 100644 --- a/.abf.yml +++ b/.abf.yml @@ -1,3 +1,3 @@ sources: - glibc-b4e23c75aea756b4bddc4abcf27a1c6dca8b6bd3.tar.xz: 21fa90dd9ef35f8be7e8fa2e9c019ecd059a985a + glibc-1e04dcec491bd8f48b5b74ce3e8414132578a645.tar.xz: d62c0cafade2ec3f5297ef2ddef43dea92b5edbf glibc-manpages.tar.bz2: ca54bfb832b703c8e35170fcc1c1f5470b45ff0f diff --git a/964d15a007d7fb1258f2ad7c8cf4afcfb9a65719.patch b/964d15a007d7fb1258f2ad7c8cf4afcfb9a65719.patch deleted file mode 100644 index cf0850a..0000000 --- a/964d15a007d7fb1258f2ad7c8cf4afcfb9a65719.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 964d15a007d7fb1258f2ad7c8cf4afcfb9a65719 Mon Sep 17 00:00:00 2001 -From: Qingqing Li -Date: Thu, 21 Sep 2023 20:11:36 +0800 -Subject: [PATCH 1/1] elf: Fix compile error with -DNDEBUG [BZ #18755] -MIME-Version: 1.0 -Content-Type: text/plain; charset=utf8 -Content-Transfer-Encoding: 8bit - -Compilation fails when building with -DNDEBUG after commit a3189f66a5f2fe86568286fa025fa153be04c6c0. -Here is the error: - -dl-close.c: In function ‘_dl_close_worker’: -dl-close.c:140:22: error: unused variable ‘nloaded’ [-Werror=unused-variable] - 140 | const unsigned int nloaded = ns->_ns_nloaded; - -Add __attribute_maybe_unused__ for‘nloaded’to fix it. - -Reviewed-by: Adhemerval Zanella ---- - elf/dl-close.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/elf/dl-close.c b/elf/dl-close.c -index c9a7d06577..24cc4750a5 100644 ---- a/elf/dl-close.c -+++ b/elf/dl-close.c -@@ -137,7 +137,7 @@ _dl_close_worker (struct link_map *map, bool force) - dl_close_state = pending; - - bool any_tls = false; -- const unsigned int nloaded = ns->_ns_nloaded; -+ const unsigned int nloaded __attribute_maybe_unused__ = ns->_ns_nloaded; - - /* Run over the list and assign indexes to the link maps. */ - int idx = 0; --- -2.39.3 - diff --git a/glibc-2.29-strict-aliasing.patch b/glibc-2.29-strict-aliasing.patch index 864fade..e34d33a 100644 --- a/glibc-2.29-strict-aliasing.patch +++ b/glibc-2.29-strict-aliasing.patch @@ -1,7 +1,6 @@ -diff --git a/csu/Makefile b/csu/Makefile -index fcd277e6..8c4ed5e4 100644 ---- a/csu/Makefile -+++ b/csu/Makefile +diff -up glibc-2.38/csu/Makefile.63~ glibc-2.38/csu/Makefile +--- glibc-2.38/csu/Makefile.63~ 2023-07-31 19:54:16.000000000 +0200 ++++ glibc-2.38/csu/Makefile 2023-10-04 23:39:02.115269934 +0200 @@ -121,7 +121,7 @@ endif asm-CPPFLAGS += -I$(objpfx). @@ -11,11 +10,10 @@ index fcd277e6..8c4ed5e4 100644 include ../Rules -diff --git a/debug/Makefile b/debug/Makefile -index 52f9a785..f6f9f7f7 100644 ---- a/debug/Makefile -+++ b/debug/Makefile -@@ -99,6 +99,7 @@ CFLAGS-pread_chk.c += -fexceptions -fasynchronous-unwind-tables +diff -up glibc-2.38/debug/Makefile.63~ glibc-2.38/debug/Makefile +--- glibc-2.38/debug/Makefile.63~ 2023-07-31 19:54:16.000000000 +0200 ++++ glibc-2.38/debug/Makefile 2023-10-04 23:39:02.115269934 +0200 +@@ -166,6 +166,7 @@ CFLAGS-pread_chk.c += -fexceptions -fasy CFLAGS-pread64_chk.c += -fexceptions -fasynchronous-unwind-tables CFLAGS-recv_chk.c += -fexceptions -fasynchronous-unwind-tables CFLAGS-recvfrom_chk.c += -fexceptions -fasynchronous-unwind-tables @@ -23,11 +21,10 @@ index 52f9a785..f6f9f7f7 100644 # Need to make sure the settings here override what configure might have # set up for us, so keep the CFLAGS/CPPFLAGS split logical as the order is: -diff --git a/inet/Makefile b/inet/Makefile -index f5249ab2..f4055d70 100644 ---- a/inet/Makefile -+++ b/inet/Makefile -@@ -113,6 +113,20 @@ CFLAGS-ifaddrs.c += $(config-cflags-wno-ignored-attributes) +diff -up glibc-2.38/inet/Makefile.63~ glibc-2.38/inet/Makefile +--- glibc-2.38/inet/Makefile.63~ 2023-07-31 19:54:16.000000000 +0200 ++++ glibc-2.38/inet/Makefile 2023-10-04 23:39:02.115269934 +0200 +@@ -113,6 +113,20 @@ CFLAGS-ifaddrs.c += $(config-cflags-wno- CFLAGS-tst-checks-posix.c += -std=c99 CFLAGS-tst-sockaddr.c += -fno-strict-aliasing @@ -48,11 +45,10 @@ index f5249ab2..f4055d70 100644 endif # Install the rpc database file. -diff --git a/libio/Makefile b/libio/Makefile -index 52892a28..760e80a0 100644 ---- a/libio/Makefile -+++ b/libio/Makefile -@@ -162,6 +162,18 @@ CFLAGS-putc_u.c += $(config-cflags-wno-ignored-attributes) +diff -up glibc-2.38/libio/Makefile.63~ glibc-2.38/libio/Makefile +--- glibc-2.38/libio/Makefile.63~ 2023-07-31 19:54:16.000000000 +0200 ++++ glibc-2.38/libio/Makefile 2023-10-04 23:39:02.115269934 +0200 +@@ -179,6 +179,18 @@ CFLAGS-putc_u.c += $(config-cflags-wno-i CFLAGS-iofgets_u.c += $(config-cflags-wno-ignored-attributes) CFLAGS-iofputs_u.c += $(config-cflags-wno-ignored-attributes) # XXX Do we need filedoalloc and wfiledoalloc? Others? @@ -69,13 +65,12 @@ index 52892a28..760e80a0 100644 +CFLAGS-oldiopopen.c += -fno-strict-aliasing +CFLAGS-oldstdfiles.c += -fno-strict-aliasing - CFLAGS-tst_putwc.c += -DOBJPFX=\"$(objpfx)\" - -diff --git a/libio/libioP.h b/libio/libioP.h -index a5f00822..e9bb971e 100644 ---- a/libio/libioP.h -+++ b/libio/libioP.h -@@ -842,8 +842,8 @@ extern struct _IO_FILE_plus _IO_stderr_; + # Prevent fortification as these are built with -O0 + CFLAGS-tst-bz24051.c += $(no-fortify-source) +diff -up glibc-2.38/libio/libioP.h.63~ glibc-2.38/libio/libioP.h +--- glibc-2.38/libio/libioP.h.63~ 2023-07-31 19:54:16.000000000 +0200 ++++ glibc-2.38/libio/libioP.h 2023-10-04 23:39:02.115269934 +0200 +@@ -937,8 +937,8 @@ extern struct _IO_FILE_plus _IO_stderr_; static inline bool _IO_legacy_file (FILE *fp) { @@ -86,7 +81,7 @@ index a5f00822..e9bb971e 100644 } #endif -@@ -853,8 +853,8 @@ static inline void +@@ -948,8 +948,8 @@ static inline void _IO_deallocate_file (FILE *fp) { /* The current stream variables. */ @@ -97,11 +92,10 @@ index a5f00822..e9bb971e 100644 return; #if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1) if (_IO_legacy_file (fp)) -diff --git a/locale/Makefile b/locale/Makefile -index d7036b08..17ba6bff 100644 ---- a/locale/Makefile -+++ b/locale/Makefile -@@ -106,6 +106,7 @@ CPPFLAGS-locale-programs = -DLOCALE_PATH='$(localepath)' \ +diff -up glibc-2.38/locale/Makefile.63~ glibc-2.38/locale/Makefile +--- glibc-2.38/locale/Makefile.63~ 2023-07-31 19:54:16.000000000 +0200 ++++ glibc-2.38/locale/Makefile 2023-10-04 23:39:02.116269942 +0200 +@@ -106,6 +106,7 @@ CPPFLAGS-locale-programs = -DLOCALE_PATH CFLAGS-charmap.c += -Wno-write-strings -Wno-char-subscripts CFLAGS-locfile.c += -Wno-write-strings -Wno-char-subscripts CFLAGS-charmap-dir.c += -Wno-write-strings @@ -109,11 +103,10 @@ index d7036b08..17ba6bff 100644 # Set libof-* for each routine. cpp-srcs-left := $(localedef-modules) $(localedef-aux) $(locale-modules) \ -diff --git a/misc/Makefile b/misc/Makefile -index 1a09f777..d811012b 100644 ---- a/misc/Makefile -+++ b/misc/Makefile -@@ -158,6 +158,8 @@ CFLAGS-mmap.op = $(no-stack-protector) +diff -up glibc-2.38/misc/Makefile.63~ glibc-2.38/misc/Makefile +--- glibc-2.38/misc/Makefile.63~ 2023-07-31 19:54:16.000000000 +0200 ++++ glibc-2.38/misc/Makefile 2023-10-04 23:39:02.116269942 +0200 +@@ -332,6 +332,8 @@ CFLAGS-mmap.op = $(no-stack-protector) CFLAGS-mmap64.o = $(no-stack-protector) CFLAGS-mmap64.op = $(no-stack-protector) @@ -122,10 +115,9 @@ index 1a09f777..d811012b 100644 include ../Rules $(objpfx)libg.a: $(dep-dummy-lib); $(make-dummy-lib) -diff --git a/nis/Makefile b/nis/Makefile -index 6caccbe3..976cad3f 100644 ---- a/nis/Makefile -+++ b/nis/Makefile +diff -up glibc-2.38/nis/Makefile.63~ glibc-2.38/nis/Makefile +--- glibc-2.38/nis/Makefile.63~ 2023-07-31 19:54:16.000000000 +0200 ++++ glibc-2.38/nis/Makefile 2023-10-04 23:39:02.116269942 +0200 @@ -52,6 +52,7 @@ endif # have-GLIBC_2.28 include ../Rules @@ -134,11 +126,10 @@ index 6caccbe3..976cad3f 100644 libnsl-libc = $(common-objpfx)linkobj/libc.so # Target-specific variable setting to link objects using deprecated -diff --git a/nptl/Makefile b/nptl/Makefile -index 6d1ae452..96d23161 100644 ---- a/nptl/Makefile -+++ b/nptl/Makefile -@@ -262,6 +262,22 @@ CFLAGS-sem_clockwait.c = -fexceptions -fasynchronous-unwind-tables +diff -up glibc-2.38/nptl/Makefile.63~ glibc-2.38/nptl/Makefile +--- glibc-2.38/nptl/Makefile.63~ 2023-07-31 19:54:16.000000000 +0200 ++++ glibc-2.38/nptl/Makefile 2023-10-04 23:39:02.116269942 +0200 +@@ -263,6 +263,22 @@ CFLAGS-sem_clockwait.c = -fexceptions -f CFLAGS-futex-internal.c += -fexceptions -fasynchronous-unwind-tables @@ -161,10 +152,9 @@ index 6d1ae452..96d23161 100644 LDLIBS-tst-once5 = -lstdc++ CFLAGS-tst-thread_local1.o = -std=gnu++11 LDLIBS-tst-thread_local1 = -lstdc++ -diff --git a/nscd/Makefile b/nscd/Makefile -index c2e70d33..fd2d235c 100644 ---- a/nscd/Makefile -+++ b/nscd/Makefile +diff -up glibc-2.38/nscd/Makefile.63~ glibc-2.38/nscd/Makefile +--- glibc-2.38/nscd/Makefile.63~ 2023-10-04 23:39:01.822267461 +0200 ++++ glibc-2.38/nscd/Makefile 2023-10-04 23:39:02.116269942 +0200 @@ -79,6 +79,14 @@ CFLAGS-nscd_gethst_r.c += -fexceptions CFLAGS-nscd_getai.c += -fexceptions CFLAGS-nscd_initgroups.c += -fexceptions @@ -177,14 +167,13 @@ index c2e70d33..fd2d235c 100644 +CFLAGS-aicache.c += -fno-strict-aliasing +CFLAGS-gai.c += -fno-strict-aliasing + - CPPFLAGS-nscd += -D_FORTIFY_SOURCE=2 - ifeq (yesyes,$(have-fpie)$(build-shared)) -diff --git a/nss/Makefile b/nss/Makefile -index 6ef5bf23..c4d0bda8 100644 ---- a/nss/Makefile -+++ b/nss/Makefile -@@ -236,6 +236,9 @@ $(objpfx)mtrace-tst-nss-gai-hv2-canonname.out: \ + CFLAGS-nscd += $(pie-ccflag) + endif +diff -up glibc-2.38/nss/Makefile.63~ glibc-2.38/nss/Makefile +--- glibc-2.38/nss/Makefile.63~ 2023-10-04 23:39:02.116269942 +0200 ++++ glibc-2.38/nss/Makefile 2023-10-04 23:39:46.028646255 +0200 +@@ -237,6 +237,9 @@ $(objpfx)mtrace-tst-nss-gai-hv2-canonnam $(objpfx)tst-nss-gai-hv2-canonname.mtrace; } > $@; \ $(evaluate-test) @@ -194,11 +183,10 @@ index 6ef5bf23..c4d0bda8 100644 # Disable DT_RUNPATH on NSS tests so that the glibc internal NSS # functions can load testing NSS modules via DT_RPATH. LDFLAGS-tst-nss-test1 = -Wl,--disable-new-dtags -diff --git a/posix/Makefile b/posix/Makefile -index 38a42795..b671f618 100644 ---- a/posix/Makefile -+++ b/posix/Makefile -@@ -280,6 +280,12 @@ CFLAGS-execvp.os = -fomit-frame-pointer +diff -up glibc-2.38/posix/Makefile.63~ glibc-2.38/posix/Makefile +--- glibc-2.38/posix/Makefile.63~ 2023-07-31 19:54:16.000000000 +0200 ++++ glibc-2.38/posix/Makefile 2023-10-04 23:39:02.116269942 +0200 +@@ -589,6 +589,12 @@ CFLAGS-execvp.os = -fomit-frame-pointer CFLAGS-execlp.os = -fomit-frame-pointer CFLAGS-nanosleep.c += -fexceptions -fasynchronous-unwind-tables CFLAGS-fork.c = $(libio-mtsafe) $(config-cflags-wno-ignored-attributes) @@ -211,11 +199,10 @@ index 38a42795..b671f618 100644 tstgetopt-ARGS = -a -b -cfoobar --required foobar --optional=bazbug \ --none random --col --color --colour -diff --git a/resolv/Makefile b/resolv/Makefile -index 60f5d468..a659ba2d 100644 ---- a/resolv/Makefile -+++ b/resolv/Makefile -@@ -236,6 +236,18 @@ include ../gen-locales.mk +diff -up glibc-2.38/resolv/Makefile.63~ glibc-2.38/resolv/Makefile +--- glibc-2.38/resolv/Makefile.63~ 2023-10-04 23:39:01.901268128 +0200 ++++ glibc-2.38/resolv/Makefile 2023-10-04 23:39:02.116269942 +0200 +@@ -237,6 +237,18 @@ include ../gen-locales.mk CFLAGS-res_hconf.c += -fexceptions CFLAGS-inet_pton.c += $(config-cflags-wno-ignored-attributes) @@ -234,23 +221,21 @@ index 60f5d468..a659ba2d 100644 # The DNS NSS modules needs the resolver. $(objpfx)libnss_dns.so: $(objpfx)libresolv.so -diff --git a/rt/Makefile b/rt/Makefile -index a97333dc..900c560f 100644 ---- a/rt/Makefile -+++ b/rt/Makefile +diff -up glibc-2.38/rt/Makefile.63~ glibc-2.38/rt/Makefile +--- glibc-2.38/rt/Makefile.63~ 2023-10-04 23:39:02.093269748 +0200 ++++ glibc-2.38/rt/Makefile 2023-10-04 23:39:02.116269942 +0200 @@ -100,6 +100,8 @@ CFLAGS-aio_suspend.c += -fexceptions CFLAGS-mq_timedreceive.c += -fexceptions -fasynchronous-unwind-tables CFLAGS-mq_timedsend.c += -fexceptions -fasynchronous-unwind-tables +CFLAGS-timer_create.c += -fno-strict-aliasing + - LDFLAGS-rt.so = -Wl,--enable-new-dtags,-z,nodelete - - $(objpfx)librt.so: $(shared-thread-library) -diff --git a/setjmp/Makefile b/setjmp/Makefile -index e5733a8c..6b994c86 100644 ---- a/setjmp/Makefile -+++ b/setjmp/Makefile + # Exclude fortified routines from being built with _FORTIFY_SOURCE + routines_no_fortify += \ + mq_open \ +diff -up glibc-2.38/setjmp/Makefile.63~ glibc-2.38/setjmp/Makefile +--- glibc-2.38/setjmp/Makefile.63~ 2023-07-31 19:54:16.000000000 +0200 ++++ glibc-2.38/setjmp/Makefile 2023-10-04 23:39:02.116269942 +0200 @@ -36,6 +36,10 @@ tests-internal := \ gen-as-const-headers += jmp_buf-macros.sym @@ -261,12 +246,11 @@ index e5733a8c..6b994c86 100644 + include ../Rules - $(objpfx)tst-setjmp-fp: $(libm) -diff --git a/stdio-common/Makefile b/stdio-common/Makefile -index fdc49f32..2ba834c0 100644 ---- a/stdio-common/Makefile -+++ b/stdio-common/Makefile -@@ -392,6 +392,10 @@ $(objpfx)tst-errno-manual.out: tst-errno-manual.py \ + # This test messes the stack on purpose, which triggers longjump fortify +diff -up glibc-2.38/stdio-common/Makefile.63~ glibc-2.38/stdio-common/Makefile +--- glibc-2.38/stdio-common/Makefile.63~ 2023-07-31 19:54:16.000000000 +0200 ++++ glibc-2.38/stdio-common/Makefile 2023-10-04 23:39:02.116269942 +0200 +@@ -432,6 +432,10 @@ $(objpfx)tst-errno-manual.out: tst-errno CFLAGS-vfprintf.c += -Wno-uninitialized CFLAGS-vfwprintf.c += -Wno-uninitialized @@ -277,10 +261,9 @@ index fdc49f32..2ba834c0 100644 CFLAGS-tmpfile.c += -fexceptions CFLAGS-tmpfile64.c += -fexceptions -diff --git a/sunrpc/Makefile b/sunrpc/Makefile -index ec2ea04c..54169763 100644 ---- a/sunrpc/Makefile -+++ b/sunrpc/Makefile +diff -up glibc-2.38/sunrpc/Makefile.63~ glibc-2.38/sunrpc/Makefile +--- glibc-2.38/sunrpc/Makefile.63~ 2023-07-31 19:54:16.000000000 +0200 ++++ glibc-2.38/sunrpc/Makefile 2023-10-04 23:39:02.116269942 +0200 @@ -97,6 +97,21 @@ CFLAGS-pmap_rmt.c += -fexceptions CFLAGS-clnt_perr.c += -fexceptions CFLAGS-openchild.c += -fexceptions @@ -303,11 +286,10 @@ index ec2ea04c..54169763 100644 $(objpfx)tst-getmyaddr: $(common-objpfx)linkobj/libc.so $(objpfx)tst-xdrmem: $(common-objpfx)linkobj/libc.so $(objpfx)tst-xdrmem2: $(common-objpfx)linkobj/libc.so -diff --git a/support/Makefile b/support/Makefile -index 48cd7458..21e67357 100644 ---- a/support/Makefile -+++ b/support/Makefile -@@ -220,6 +220,8 @@ ifeq ($(build-shared),yes) +diff -up glibc-2.38/support/Makefile.63~ glibc-2.38/support/Makefile +--- glibc-2.38/support/Makefile.63~ 2023-07-31 19:54:16.000000000 +0200 ++++ glibc-2.38/support/Makefile 2023-10-04 23:39:02.116269942 +0200 +@@ -226,6 +226,8 @@ ifeq ($(build-shared),yes) libsupport-inhibit-o += .o endif @@ -316,10 +298,9 @@ index 48cd7458..21e67357 100644 CFLAGS-support_paths.c = \ -DSRCDIR_PATH=\"`cd .. ; pwd`\" \ -DOBJDIR_PATH=\"`cd $(objpfx)/..; pwd`\" \ -diff --git a/sysdeps/powerpc/powerpc32/power4/multiarch/init-arch.h b/sysdeps/powerpc/powerpc32/power4/multiarch/init-arch.h -index 3dd00e02..90bfb0db 100644 ---- a/sysdeps/powerpc/powerpc32/power4/multiarch/init-arch.h -+++ b/sysdeps/powerpc/powerpc32/power4/multiarch/init-arch.h +diff -up glibc-2.38/sysdeps/powerpc/powerpc32/power4/multiarch/init-arch.h.63~ glibc-2.38/sysdeps/powerpc/powerpc32/power4/multiarch/init-arch.h +--- glibc-2.38/sysdeps/powerpc/powerpc32/power4/multiarch/init-arch.h.63~ 2023-07-31 19:54:16.000000000 +0200 ++++ glibc-2.38/sysdeps/powerpc/powerpc32/power4/multiarch/init-arch.h 2023-10-04 23:39:02.116269942 +0200 @@ -17,6 +17,8 @@ #include diff --git a/glibc.spec b/glibc.spec index 67806ac..45d1230 100644 --- a/glibc.spec +++ b/glibc.spec @@ -3,7 +3,7 @@ # Package from the last commit from there # Only important patches are ported into it # (instead of applying many commits as patches) -%define commit b4e23c75aea756b4bddc4abcf27a1c6dca8b6bd3 +%define commit 1e04dcec491bd8f48b5b74ce3e8414132578a645 %define commit_short %(echo %{commit} | head -c6) %bcond_with crosscompilers @@ -146,11 +146,11 @@ end \ Summary: The GNU libc libraries Name: %{cross_prefix}%{oname} Epoch: 6 -Version: 2.37 +Version: 2.38 #Source0: http://ftp.gnu.org/gnu/glibc/%{oname}-%{version}.tar.xz # use ./upd.sh to make a tarball and automatically update Release Source0: glibc-%{commit}.tar.xz -Release: 5.git%{commit_short}.1 +Release: 1.git%{commit_short}.1 License: LGPLv2+ and LGPLv2+ with exceptions and GPLv2+ Group: System/Libraries Url: http://www.gnu.org/software/libc/ @@ -208,8 +208,6 @@ Patch1050: https://803950.bugs.gentoo.org/attachment.cgi?id=757176#/nss-dont-cra Patch1051: https://raw.githubusercontent.com/archlinux/svntogit-packages/e1d69d80d07494e3c086ee2c5458594d5261d2e4/trunk/reenable_DT_HASH.patch # Rosa patch rosa2023.1: /usr merge Patch1052: glibc.fix.sbin.patch -# from upstream: https://sourceware.org/git/?p=glibc.git;a=commit;h=964d15a007d7fb1258f2ad7c8cf4afcfb9a65719 -Patch1053: 964d15a007d7fb1258f2ad7c8cf4afcfb9a65719.patch BuildRequires: autoconf2.5 BuildRequires: %{cross_prefix}binutils >= 2.30-7 diff --git a/reenable_DT_HASH.patch b/reenable_DT_HASH.patch index a71ab5a..7b7fe9e 100644 --- a/reenable_DT_HASH.patch +++ b/reenable_DT_HASH.patch @@ -1,18 +1,38 @@ -diff -up glibc-2.36/config.make.in.60~ glibc-2.36/config.make.in ---- glibc-2.36/config.make.in.60~ 2022-08-24 17:40:34.246826821 +0200 -+++ glibc-2.36/config.make.in 2022-08-24 17:41:45.676352975 +0200 -@@ -69,6 +69,7 @@ have-libaudit = @have_libaudit@ +diff -up glibc-2.38/Makeconfig.45~ glibc-2.38/Makeconfig +--- glibc-2.38/Makeconfig.45~ 2023-08-01 01:02:58.246719027 +0200 ++++ glibc-2.38/Makeconfig 2023-08-01 01:02:58.303719582 +0200 +@@ -381,6 +381,15 @@ relro-LDFLAGS = -Wl,-z,relro + LDFLAGS.so += $(relro-LDFLAGS) + LDFLAGS-rtld += $(relro-LDFLAGS) + ++ifeq (yes,$(have-hash-style)) ++# For the time being we unconditionally use 'both'. At some time we ++# should declare statically linked code as 'out of luck' and compile ++# with --hash-style=gnu only. ++hashstyle-LDFLAGS = -Wl,--hash-style=both ++LDFLAGS.so += $(hashstyle-LDFLAGS) ++LDFLAGS-rtld += $(hashstyle-LDFLAGS) ++endif ++ + # Linker options to enable and disable DT_RELR. + ifeq ($(have-dt-relr),yes) + dt-relr-ldflag = -Wl,-z,pack-relative-relocs +diff -up glibc-2.38/Makerules.45~ glibc-2.38/Makerules +diff -up glibc-2.38/config.make.in.45~ glibc-2.38/config.make.in +--- glibc-2.38/config.make.in.45~ 2023-08-01 01:02:58.301719562 +0200 ++++ glibc-2.38/config.make.in 2023-08-01 01:03:54.721267748 +0200 +@@ -71,6 +71,7 @@ have-libaudit = @have_libaudit@ have-libcap = @have_libcap@ have-cc-with-libunwind = @libc_cv_cc_with_libunwind@ bind-now = @bindnow@ +have-hash-style = @libc_cv_hashstyle@ - use-default-link = @use_default_link@ have-cxx-thread_local = @libc_cv_cxx_thread_local@ have-loop-to-function = @libc_cv_cc_loop_to_function@ -diff -up glibc-2.36/configure.60~ glibc-2.36/configure ---- glibc-2.36/configure.60~ 2022-07-30 00:03:09.000000000 +0200 -+++ glibc-2.36/configure 2022-08-24 17:42:09.997531784 +0200 -@@ -621,6 +621,7 @@ libc_cv_cc_submachine + have-textrel_ifunc = @libc_cv_textrel_ifunc@ +diff -up glibc-2.38/configure.45~ glibc-2.38/configure +--- glibc-2.38/configure.45~ 2023-07-31 19:54:16.000000000 +0200 ++++ glibc-2.38/configure 2023-08-01 01:04:54.904850299 +0200 +@@ -655,6 +655,7 @@ libc_cv_cc_submachine libc_cv_cc_nofma libc_cv_mtls_dialect_gnu2 libc_cv_has_glob_dat @@ -20,8 +40,8 @@ diff -up glibc-2.36/configure.60~ glibc-2.36/configure libc_cv_fpie libc_cv_z_execstack ASFLAGS_config -@@ -6192,6 +6193,33 @@ $as_echo "$libc_cv_fpie" >&6; } - +@@ -7107,6 +7108,32 @@ fi + printf "%s\n" "$libc_cv_fpie" >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for --hash-style option" >&5 @@ -33,8 +53,8 @@ diff -up glibc-2.36/configure.60~ glibc-2.36/configure +int _start (void) { return 42; } +EOF +if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS $no_ssp -+ -fPIC -shared -o conftest.so conftest.c -+ -Wl,--hash-style=both -nostdlib 1>&5' ++ -fPIC -shared -o conftest.so conftest.c ++ -Wl,--hash-style=both -nostdlib 1>&5' + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 + (eval $ac_try) 2>&5 + ac_status=$? @@ -50,14 +70,13 @@ diff -up glibc-2.36/configure.60~ glibc-2.36/configure +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_hashstyle" >&5 +$as_echo "$libc_cv_hashstyle" >&6; } + -+ - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GLOB_DAT reloc" >&5 - $as_echo_n "checking for GLOB_DAT reloc... " >&6; } - if ${libc_cv_has_glob_dat+:} false; then : -diff -up glibc-2.36/configure.ac.60~ glibc-2.36/configure.ac ---- glibc-2.36/configure.ac.60~ 2022-07-30 00:03:09.000000000 +0200 -+++ glibc-2.36/configure.ac 2022-08-24 17:40:34.249826843 +0200 -@@ -1360,6 +1360,22 @@ LIBC_TRY_CC_OPTION([-fpie], [libc_cv_fpi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GLOB_DAT reloc" >&5 + printf %s "checking for GLOB_DAT reloc... " >&6; } +diff -up glibc-2.38/configure.ac.45~ glibc-2.38/configure.ac +--- glibc-2.38/configure.ac.45~ 2023-07-31 19:54:16.000000000 +0200 ++++ glibc-2.38/configure.ac 2023-08-01 01:02:58.303719582 +0200 +@@ -1339,6 +1339,22 @@ LIBC_TRY_CC_OPTION([-fpie], [libc_cv_fpi AC_SUBST(libc_cv_fpie) @@ -80,39 +99,3 @@ diff -up glibc-2.36/configure.ac.60~ glibc-2.36/configure.ac AC_CACHE_CHECK(for GLOB_DAT reloc, libc_cv_has_glob_dat, [dnl cat > conftest.c </dev/null | \ - sed > $@T \ - -e '/^=========/,/^=========/!d;/^=========/d' \ -+ $(if $(filter yes,$(have-hash-style)), \ -+ -e 's/^.*\.gnu\.hash[ ]*:.*$$/ .note.ABI-tag : { *(.note.ABI-tag) } &/' \ -+ -e '/^[ ]*\.hash[ ]*:.*$$/{h;d;}' \ -+ -e '/DATA_SEGMENT_ALIGN/{H;g}' \ -+ , \ -+ -e 's/^.*\.hash[ ]*:.*$$/ .note.ABI-tag : { *(.note.ABI-tag) } &/' \ -+ ) \ - -e 's/^.*\*(\.dynbss).*$$/& \ - PROVIDE(__start___libc_freeres_ptrs = .); \ - *(__libc_freeres_ptrs) \ diff --git a/upd.sh b/upd.sh index bb8c1f9..42ff2fc 100755 --- a/upd.sh +++ b/upd.sh @@ -11,7 +11,7 @@ version="$(grep '^Version:' glibc.spec | awk '{print $NF}')" [ -n "$version" ] # get latest available commit (version) -new_commit="$(git ls-remote git://sourceware.org/git/glibc.git release/2.37/master | awk '{print $1}')" +new_commit="$(git ls-remote git://sourceware.org/git/glibc.git release/2.38/master | awk '{print $1}')" [ -n "$new_commit" ] if [ "$old_commit" = "$new_commit" ]; then echo "There are no updates"