This commit is contained in:
Alexander Stefanov 2023-11-05 22:44:39 +00:00
parent 6c2e44b158
commit 7b10b400b5
6 changed files with 123 additions and 199 deletions

View file

@ -1,3 +1,3 @@
sources:
glibc-b4e23c75aea756b4bddc4abcf27a1c6dca8b6bd3.tar.xz: 21fa90dd9ef35f8be7e8fa2e9c019ecd059a985a
glibc-1e04dcec491bd8f48b5b74ce3e8414132578a645.tar.xz: d62c0cafade2ec3f5297ef2ddef43dea92b5edbf
glibc-manpages.tar.bz2: ca54bfb832b703c8e35170fcc1c1f5470b45ff0f

View file

@ -1,38 +0,0 @@
From 964d15a007d7fb1258f2ad7c8cf4afcfb9a65719 Mon Sep 17 00:00:00 2001
From: Qingqing Li <liqingqing3@huawei.com>
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 <adhemerval.zanella@linaro.org>
---
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

View file

@ -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 <ldsodefs.h>

View file

@ -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

View file

@ -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
@ -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 <<EOF
diff -up glibc-2.36/Makeconfig.60~ glibc-2.36/Makeconfig
--- glibc-2.36/Makeconfig.60~ 2022-08-24 17:40:34.246826821 +0200
+++ glibc-2.36/Makeconfig 2022-08-24 17:41:18.307151554 +0200
@@ -365,6 +365,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.36/Makerules.60~ glibc-2.36/Makerules
--- glibc-2.36/Makerules.60~ 2022-08-24 17:40:34.203826503 +0200
+++ glibc-2.36/Makerules 2022-08-24 17:40:34.246826821 +0200
@@ -558,6 +558,13 @@ $(common-objpfx)shlib.lds: $(common-objp
-Wl,--verbose 2>/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) \

2
upd.sh
View file

@ -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"