upg glibc binutils

This commit is contained in:
joborun linux 2023-08-05 03:08:12 +03:00
parent a903c3a51e
commit 9fbe64c316
13 changed files with 108 additions and 153 deletions

View File

@ -8,7 +8,7 @@
pkgname=binutils
pkgver=2.41
_commit=31b78cc991781265d9404bd55151691bedd6d556
pkgrel=02
pkgrel=03
pkgdesc='A set of programs to assemble and manipulate binary and object files'
#url='https://www.gnu.org/software/binutils'
url='https://ftp.gnu.org/gnu/binutils'
@ -20,6 +20,7 @@ optdepends=('debuginfod: for debuginfod server/client functionality')
conflicts=(binutils-multilib)
replaces=(binutils-multilib)
backup=('etc/gprofng.rc')
provides=( libctf.so libgprofng.so libsframe.so )
options=(staticlibs !distcc !ccache)
# options=(staticlibs !distcc !ccache debug) ## uncomment this line to have the debug pkg produced
# the above was removed by arch in version 2.40-1
@ -139,5 +140,5 @@ validpgpkeys=(3A24BC1E8FB409FA9F14371813FCEF89DD9E3C4F)
sha256sums=(SKIP
2d430b66f84a19c154725ec535280c493be1d34f1a90f95208dce02fecd0e4e4) # gold-warn-unsupported.patch
## e692762cff3ff2154a2db9e37a944d0b8fe8b30698654fe3ab4ce3bd5ad1c09e binutils-2.41-02-x86_64.pkg.tar.lz
## 2fe847fbc4bb048ceda5e9d5e3efebad5efec11527886f0eb94dbf17b6d0b8fe binutils-2.41-03-x86_64.pkg.tar.lz

View File

@ -8,7 +8,7 @@
pkgname=binutils
pkgver=2.41
_commit=31b78cc991781265d9404bd55151691bedd6d556
pkgrel=2
pkgrel=3
pkgdesc='A set of programs to assemble and manipulate binary and object files'
arch=(x86_64)
url='https://www.gnu.org/software/binutils/'
@ -19,6 +19,11 @@ checkdepends=(dejagnu debuginfod bc)
optdepends=('debuginfod: for debuginfod server/client functionality')
conflicts=(binutils-multilib)
replaces=(binutils-multilib)
provides=(
libctf.so
libgprofng.so
libsframe.so
)
backup=('etc/gprofng.rc')
options=(staticlibs !distcc !ccache)
source=(git+https://sourceware.org/git/binutils-gdb.git#commit=${_commit}

View File

@ -10,7 +10,6 @@ pkgver=1.3_20230209
pkgrel=01
epoch=1
pkgdesc="A tool to display dialog boxes from shell scripts"
arch=('x86_64')
url="https://invisible-island.net/dialog/"
depends=('sh' 'ncurses')
provides=('libdialog.so')
@ -32,7 +31,9 @@ package() {
make DESTDIR="$pkgdir" install-full
}
#---- license gpg-key sha256sums ----
#---- arch license gpg-key & sha256sums ----
arch=(x86_64)
license=('LGPL2.1')
@ -41,6 +42,10 @@ validpgpkeys=('19882D92DDA4C400C22C0D56CC2AF4472167BE03') # Thomas E. Dickey (se
sha256sums=(0c26282305264be2217f335f3798f48b1dce3cf12c5a076bf231cadf77a6d6a8 # dialog-1.3-20230209.tgz
355495d1aa1de5951307c44b9de36200edd0df1f1ef737682e2b3e694f4a9331) # dialog-1.3-20230209.tgz.asc
# Note to packager:
ls -l *pkg.tar.lz
echo "you must rename this package to meet SF naming before you move to the repo"
mv $(ls -l $pkgname*pkg.tar.lz) $pkgname-$epoch_$pkgver-$pkgrel-$arch.pkg.tar.lz >pkg-mv.log
## c4654fdca6e9dd687e0071efbbe7ad7e5ad86c2a0b54bee1adfbc3bae17451e9 dialog-1:1.3_20230209-01-x86_64.pkg.tar.lz

View File

@ -12,7 +12,7 @@ pkgbase=glibc
pkgname=(glibc lib32-glibc)
pkgver=2.38
_commit=36f2487f13e3540be9ee0fb51876b1da72176d3f
pkgrel=01
pkgrel=02
url='https://www.gnu.org/software/libc'
makedepends=(git gd lib32-gcc-libs python)
#optdepends=('perl: for mtrace')
@ -23,8 +23,8 @@ source=(git+https://sourceware.org/git/glibc.git#commit=${_commit}
locale-gen
lib32-glibc.conf
sdt.h sdt-config.h
PATCH-nscd-Do-not-rebuild-getaddrinfo-bug-30709.patch)
# reenable_DT_HASH.patch)
PATCH-nscd-Do-not-rebuild-getaddrinfo-bug-30709.patch
reenable_DT_HASH.patch)
prepare() {
mkdir -p glibc-build lib32-glibc-build
@ -33,6 +33,12 @@ prepare() {
cd glibc
patch -Np1 < ../PATCH-nscd-Do-not-rebuild-getaddrinfo-bug-30709.patch
# Re-enable `--hash-style=both` for building shared objects due to issues with EPIC's EAC
# which relies on DT_HASH to be present in these libs.
# reconsider 2023-01
patch -Np1 -i "${srcdir}"/reenable_DT_HASH.patch
}
build() {
@ -216,7 +222,9 @@ sha256sums=(SKIP
c27424154a6096ae32c0824b785e05de6acef33d9224fd6147d1936be9b4962b # lib32-glibc.conf
774061aff612a377714a509918a9e0e0aafce708b87d2d7e06b1bd1f6542fe70 # sdt.h
cdc234959c6fdb43f000d3bb7d1080b0103f4080f5e67bcfe8ae1aaf477812f0 # sdt-config.h
e749a59ef980a77cf6433c87ed7b5020d65c7a3e2900c577b8a7880386ec670f) # PATCH-nscd-Do-not-rebuild-getaddrinfo-bug-30709.patch
e749a59ef980a77cf6433c87ed7b5020d65c7a3e2900c577b8a7880386ec670f # PATCH-nscd-Do-not-rebuild-getaddrinfo-bug-30709.patch
cf9fe494f7ec69752a63d1b0a9ad689aa620888ae9b902b6383a6fbc7c1726a7) # reenable_DT_HASH.patch
## 824fcdecabb1a3b9413ea15cfffabecbe632f13b34c95b4879e9f5a827470016 glibc-2.38-02-x86_64.pkg.tar.lz
## af881e4f47c49080853f8ecdfddd4f96a681b40fcf856c5e36742a12e83b4b3a lib32-glibc-2.38-02-x86_64.pkg.tar.lz
## 4912edc358ae1b136d7f72568c18097629677c1ebd9b1af676d78a4e03066650 lib32-glibc-2.38-01-x86_64.pkg.tar.lz
## 82f99adf6c5bbc2604383f84ffe551c4eb10c3534077b89d4649bcb2360a8af7 glibc-2.38-01-x86_64.pkg.tar.lz

View File

@ -10,7 +10,7 @@ pkgbase=glibc
pkgname=(glibc lib32-glibc)
pkgver=2.38
_commit=36f2487f13e3540be9ee0fb51876b1da72176d3f
pkgrel=1
pkgrel=2
arch=(x86_64)
url='https://www.gnu.org/software/libc'
license=(GPL LGPL)
@ -21,6 +21,7 @@ source=(git+https://sourceware.org/git/glibc.git#commit=${_commit}
locale-gen
lib32-glibc.conf
sdt.h sdt-config.h
reenable_DT_HASH.patch
PATCH-nscd-Do-not-rebuild-getaddrinfo-bug-30709.patch
)
validpgpkeys=(7273542B39962DF7B299931416792B4EA25340F8 # Carlos O'Donell
@ -31,6 +32,7 @@ b2sums=('SKIP'
'7c265e6d36a5c0dff127093580827d15519b6c7205c2e1300e82f0fb5b9dd00b6accb40c56581f18179c4fbbc95bd2bf1b900ace867a83accde0969f7b609f8a'
'a6a5e2f2a627cc0d13d11a82458cfd0aa75ec1c5a3c7647e5d5a3bb1d4c0770887a3909bfda1236803d5bc9801bfd6251e13483e9adf797e4725332cd0d91a0e'
'214e995e84b342fe7b2a7704ce011b7c7fc74c2971f98eeb3b4e677b99c860addc0a7d91b8dc0f0b8be7537782ee331999e02ba48f4ccc1c331b60f27d715678'
'35e03ed912e1b0cd23783ab83ce919412885c141344905b8b67bbad4a86c48cf3e893806060e48d5737514ff80cea0b58b0e1f15707c32224579c416dcd810c0'
'2a83dad4bcca543a5a85e91ebbe2bbccb4f863044d9e6e65806be0ea43ba70dd4e1e76e1548f9d189e996d4fcda0afc75efebdc9431fe10f2b66d3d2e878615b')
prepare() {
@ -39,6 +41,11 @@ prepare() {
[[ -d glibc-$pkgver ]] && ln -s glibc-$pkgver glibc
cd glibc
# Re-enable `--hash-style=both` for building shared objects due to issues with EPIC's EAC
# which relies on DT_HASH to be present in these libs.
# reconsider 2023-01
patch -Np1 -i "${srcdir}"/reenable_DT_HASH.patch
patch -Np1 < ../PATCH-nscd-Do-not-rebuild-getaddrinfo-bug-30709.patch
}

View File

@ -1,145 +1,28 @@
From e47de5cb2d4dbecb58f569ed241e8e95c568f03c Mon Sep 17 00:00:00 2001
From: Florian Weimer <fweimer@redhat.com>
Date: Fri, 29 Apr 2022 16:37:51 +0200
Subject: [PATCH] Do not use --hash-style=both for building glibc shared
objects
From 31915e55f9c34f6137ab1c5ac002375a2d5d4589 Mon Sep 17 00:00:00 2001
From: Frederik Schwan <frederik.schwan@linux.com>
Date: Fri, 4 Aug 2023 15:19:57 +0200
Subject: [PATCH] force --hash-style=both to keep compatibility with old niche
software
The comment indicates that --hash-style=both was used to maintain
compatibility with static dlopen, but we had many internal ABI
changes since then, so this compatiblity does not add value anymore.
Reviewed-by: Carlos O'Donell <carlos@redhat.com>
---
Makeconfig | 9 +++++++++
Makerules | 7 +++++++
config.make.in | 1 +
configure | 28 ++++++++++++++++++++++++++++
configure.ac | 16 ++++++++++++++++
5 files changed, 61 insertions(+)
Makeconfig | 4 ++++
1 file changed, 4 insertions(+)
diff --git b/Makeconfig a/Makeconfig
index 760f14e92f..0aa5fb0099 100644
--- b/Makeconfig
+++ a/Makeconfig
@@ -362,6 +362,15 @@ relro-LDFLAGS = -Wl,-z,relro
diff --git a/Makeconfig b/Makeconfig
index 77d7fd14df..2ae67c4beb 100644
--- a/Makeconfig
+++ b/Makeconfig
@@ -378,6 +378,10 @@ 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
+
ifeq (no,$(build-pie-default))
pie-default = $(no-pie-ccflag)
else # build-pie-default
diff --git b/Makerules a/Makerules
index 354528b8c7..428464f092 100644
--- b/Makerules
+++ a/Makerules
@@ -557,6 +557,13 @@ $(common-objpfx)shlib.lds: $(common-objpfx)config.make $(..)Makerules
-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) \
diff --git b/config.make.in a/config.make.in
index fff4c78dd0..bf728c71c0 100644
--- b/config.make.in
+++ a/config.make.in
@@ -70,6 +70,7 @@ have-libcap = @have_libcap@
have-cc-with-libunwind = @libc_cv_cc_with_libunwind@
fno-unit-at-a-time = @fno_unit_at_a_time@
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 --git b/configure a/configure
index 716dc041b6..5a730dc5fc 100755
--- b/configure
+++ a/configure
@@ -622,6 +622,7 @@ libc_cv_cc_nofma
libc_cv_mtls_dialect_gnu2
fno_unit_at_a_time
libc_cv_has_glob_dat
+libc_cv_hashstyle
libc_cv_fpie
libc_cv_z_execstack
ASFLAGS_config
@@ -6193,6 +6194,33 @@ $as_echo "$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; }
+
+
{ $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 --git b/configure.ac a/configure.ac
index d08ad4d64e..a045f6608e 100644
--- b/configure.ac
+++ a/configure.ac
@@ -1360,6 +1360,22 @@ LIBC_TRY_CC_OPTION([-fpie], [libc_cv_fpie=yes], [libc_cv_fpie=no])
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
# Linker options to enable and disable DT_RELR.
ifeq ($(have-dt-relr),yes)
dt-relr-ldflag = -Wl,-z,pack-relative-relocs
--
2.37.1
2.41.0

View File

@ -336,4 +336,9 @@ sha256sums=(SKIP
adad61d98de32e241a1cf55a166699de449533fa16e15e97a326515f80639ef7 # grub.default.66
98b23d41e223bdc0a6e20bdcb3aa77e642f29b64081b1fd2f575314172fc89df) # sbat.csv
# Note to packager:
ls -l *pkg.tar.lz
echo "you must rename this package to meet SF naming before you move to the repo"
mv $(ls -l $pkgname*pkg.tar.lz) $pkgname-$epoch_$pkgver-$pkgrel-$arch.pkg.tar.lz >pkg-mv.log
## be47ba937340775e8fa7b66ac004d95139101db47cd74b79391103bf8635d494 grub-2:2.12rc1-01-x86_64.pkg.tar.lz

View File

@ -11,7 +11,6 @@ pkgver=1.8.9
pkgrel=01
epoch=1
pkgdesc='Linux kernel packet control tool - w/o ipv6 & systemd'
arch=(x86_64)
url='https://www.netfilter.org/projects/iptables/index.html'
depends=(libnftnl libpcap libnfnetlink libnetfilter_conntrack bash)
makedepends=(linux-api-headers)
@ -89,7 +88,9 @@ _package() {
ln -srt "$pkgdir/etc/iptables" "$pkgdir"/usr/share/iptables/{empty,simple_firewall}.rules
}
#---- license gpg-key sha256sums ----
#---- arch license gpg-key & sha256sums ----
arch=(x86_64)
license=(GPL2)
@ -108,3 +109,10 @@ sha256sums=(ef6639a43be8325a4f8ea68123ffac236cb696e8c78501b64e8106afb008c87f #
3784e61958cf96a8e5e04df885defadf1cd70caa1e9d6c6f144bdbc64441eabe # iptables-format-security-libxt_NAT.patch
770ceaedce26d05eb1b9d0c4c65f5b8e92facd1dc0652a29c859336d6bc347f6) # iptables-apply-default-path.patch
# Note to packager:
ls -l *pkg.tar.lz
echo "you must rename this package to meet SF naming before you move to the repo"
mv $(ls -l $pkgname*pkg.tar.lz) $pkgname-$epoch_$pkgver-$pkgrel-$arch.pkg.tar.lz >pkg-mv.log
##

View File

@ -52,4 +52,10 @@ validpgpkeys=('AE27252BD6846E7D6EAE1DD6F153A7C833235259') # Mark Nudelman
sha256sums=(2f201d64b828b88af36dfe6cfdba3e0819ece2e446ebe6224813209aaefed04f # less-633.tar.gz
08707590b9d350f66394430960971c776f48649c2d2b175f9b8f23acbde551f7) # less-633.tar.gz.sig
# Note to packager:
ls -l *pkg.tar.lz
echo "you must rename this package to meet SF naming before you move to the repo"
mv $(ls -l $pkgname*pkg.tar.lz) $pkgname-$epoch_$pkgver-$pkgrel-$arch.pkg.tar.lz >pkg-mv.log
## 5dea7d3f876493a9dbfa27a5c5a3976d4d83c180e3ccd18af47b98bf722b225b less-1:633-01-x86_64.pkg.tar.lz

View File

@ -10,7 +10,6 @@ epoch=1
pkgver=1.9.4
pkgrel=01
pkgdesc='Extremely fast compression algorithm'
arch=('x86_64')
#url='http://www.lz4.org/'
url='https://lz4.github.io/lz4/'
makedepends=('git' 'gcc')
@ -52,8 +51,17 @@ package() {
make install PREFIX=/usr DESTDIR="$pkgdir"
}
#---- license gpg-key sha256sums ----
#---- arch license gpg-key & sha256sums ----
arch=(x86_64)
license=('GPL2')
sha256sums=(SKIP)
# Note to packager:
ls -l *pkg.tar.lz
echo "you must rename this package to meet SF naming before you move to the repo"
mv $(ls -l $pkgname*pkg.tar.lz) $pkgname-$epoch_$pkgver-$pkgrel-$arch.pkg.tar.lz >pkg-mv.log

View File

@ -9,7 +9,6 @@ pkgver=070224
pkgrel=06
epoch=1
pkgdesc="The original ex/vi text editor"
arch=('x86_64')
url="https://ex-vi.sourceforge.net/"
depends=('ncurses')
optdepends=('s-nail: used by the preserve command for notification')
@ -55,7 +54,9 @@ package() {
install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}
#---- license gpg-key sha256sums ----
#---- arch license gpg-key & sha256sums ----
arch=(x86_64)
license=('custom:ex')
@ -70,3 +71,8 @@ sha256sums=(c3e52dd44edd1f6bf0b52207f717c56149dc50aac0d131fff3851d589727f52f # e
f0ef9ed2ccea98bf47b08dd3faa2abb911b4e6c0579f5294e9d0e8742282ff65) # preserve-dir.patch
# Note to packager:
ls -l *pkg.tar.lz
echo "you must rename this package to meet SF naming before you move to the repo"
mv $(ls -l $pkgname*pkg.tar.lz) $pkgname-$epoch_$pkgver-$pkgrel-$arch.pkg.tar.lz >pkg-mv.log

View File

@ -11,7 +11,6 @@ pkgrel=08
epoch=2
pkgdesc='A utility providing key negotiation for WPA wireless networks w/o systemd'
url='https://w1.fi/wpa_supplicant/'
arch=(x86_64)
depends=(openssl libdbus readline libnl pcsclite)
#options=(debug) ## uncomment this line to have the debug pkg produced
backup=('etc/wpa_supplicant/wpa_supplicant.conf')
@ -85,7 +84,9 @@ package() {
# rm "$pkgdir"/usr/share/man/man8/wpa_{priv,gui}.8
}
#---- license gpg-key sha256sums ----
#---- arch license gpg-key & sha256sums ----
arch=(x86_64)
license=(GPL)
@ -102,3 +103,8 @@ sha256sums=(20df7ae5154b3830355f8ab4269123a87affdea59fe74fe9292a91d0d7e17b2f #
24e844b0a08fe3fede1676cedfe29643375ae56ab1a5fe4f5783765a7b759c15) # 0002-AP-guard-FT-SAE-code-with-CONFIG_IEEE80211R_AP.patch
# Note to packager:
ls -l *pkg.tar.lz
echo "you must rename this package to meet SF naming before you move to the repo"
mv $(ls -l $pkgname*pkg.tar.lz) $pkgname-$epoch_$pkgver-$pkgrel-$arch.pkg.tar.lz >pkg-mv.log

View File

@ -71,3 +71,10 @@ sha256sums=(b3a24de97a8fdbc835b9833169501030b8977031bcb54b3b3ac13740f846ab30 #
## e46172298b68e56b19b38cdfb57187b0e6690d00033297fe3c710e175e9ab6ec minizip-1:1.2.13-03-x86_64.pkg.tar.lz
## 69cb255bc9ae0a31ea470a95371b25afb957bf97d4c874916ef93b386a24e827 zlib-1:1.2.13-03-x86_64.pkg.tar.lz
# Note to packager:
ls -l *pkg.tar.lz
echo "you must rename this package to meet SF naming before you move to the repo"
mv $(ls -l $pkgname*pkg.tar.lz) $pkgname-$epoch_$pkgver-$pkgrel-$arch.pkg.tar.lz >pkg-mv.log