1
0
Fork 0
mirror of git://slackware.nl/current.git synced 2025-01-14 08:01:11 +01:00
slackware-current/testing/source/glibc/patches/reenable_DT_HASH.patch
Patrick J Volkerding e9c0b54c5c Thu Sep 28 21:37:06 UTC 2023
ap/mpg123-1.32.2-x86_64-1.txz:  Upgraded.
l/cairo-1.18.0-x86_64-1.txz:  Upgraded.
l/gtk4-4.12.3-x86_64-1.txz:  Upgraded.
x/fonttosfnt-1.2.3-x86_64-1.txz:  Upgraded.
xap/geeqie-2.1-x86_64-2.txz:  Rebuilt.
  Patched and recompiled against lua-5.4.6.
xap/mozilla-firefox-115.3.1esr-x86_64-1.txz:  Upgraded.
  This update contains a security fix.
  For more information, see:
    https://www.mozilla.org/en-US/firefox/115.3.1/releasenotes/
    https://www.mozilla.org/en-US/security/advisories/mfsa2023-44/
    https://www.cve.org/CVERecord?id=CVE-2023-5217
  (* Security fix *)
xfce/xfce4-panel-4.18.5-x86_64-1.txz:  Upgraded.
testing/packages/aaa_glibc-solibs-2.38-x86_64-1.txz:  Added.
testing/packages/glibc-2.38-x86_64-1.txz:  Added.
  Instead of building the deprecated glibc crypt library, bundle
  libxcrypt-4.4.36 (both .so.1 compat version and .so.2 new API version).
testing/packages/glibc-i18n-2.38-x86_64-1.txz:  Added.
testing/packages/glibc-profile-2.38-x86_64-1.txz:  Added.
2023-09-29 00:41:46 +02:00

101 lines
3.5 KiB
Diff

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@
have-cxx-thread_local = @libc_cv_cxx_thread_local@
have-loop-to-function = @libc_cv_cc_loop_to_function@
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
+libc_cv_hashstyle
libc_cv_fpie
libc_cv_z_execstack
ASFLAGS_config
@@ -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
+$as_echo_n "checking for --hash-style option... " >&6; }
+if ${libc_cv_hashstyle+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat > conftest.c <<EOF
+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'
+ { { 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_hashstyle=yes
+else
+ libc_cv_hashstyle=no
+fi
+rm -f conftest*
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_hashstyle" >&5
+$as_echo "$libc_cv_hashstyle" >&6; }
+
{ 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)
+AC_CACHE_CHECK(for --hash-style option,
+ libc_cv_hashstyle, [dnl
+cat > conftest.c <<EOF
+int _start (void) { return 42; }
+EOF
+if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS $no_ssp
+ -fPIC -shared -o conftest.so conftest.c
+ -Wl,--hash-style=both -nostdlib 1>&AS_MESSAGE_LOG_FD])
+then
+ libc_cv_hashstyle=yes
+else
+ libc_cv_hashstyle=no
+fi
+rm -f conftest*])
+AC_SUBST(libc_cv_hashstyle)
+
AC_CACHE_CHECK(for GLOB_DAT reloc,
libc_cv_has_glob_dat, [dnl
cat > conftest.c <<EOF