AutoBuild: glibc_standalone_rebuild started at 2025-04-28-01UTC (#11839)

* Update gawk, modify glibc_standalone

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Update build for glibc...

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Disable upx.

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Update binaries

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Adjust builder to do an upgrade before a build.

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Do not let the crew upgrade during build kill the build.

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Add i686 binary

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Add built packages for linux/amd64 to glibc_standalone_rebuild

* Add built packages for linux/arm/v7 to glibc_standalone_rebuild

---------

Signed-off-by: Satadru Pramanik <satadru@gmail.com>
Co-authored-by: Satadru Pramanik <satadru@gmail.com>
Co-authored-by: satmandu <satmandu@users.noreply.github.com>
This commit is contained in:
github-actions[bot]
2025-04-28 02:19:54 -05:00
committed by GitHub
parent ba6714c8c2
commit e7bf7baf67
8 changed files with 129 additions and 17 deletions

View File

@@ -885,7 +885,7 @@ def prepare_package(destdir)
strip_dir destdir
# use upx on executables
shrink_dir destdir
# shrink_dir destdir
end
end

View File

@@ -1,5 +1,5 @@
/usr/local/bin/gawk
/usr/local/bin/gawk-5.3.1
/usr/local/bin/gawk-5.3.2
/usr/local/bin/gawkbug
/usr/local/etc/profile.d/gawk.csh
/usr/local/etc/profile.d/gawk.sh
@@ -78,6 +78,7 @@
/usr/local/share/locale/ro/LC_MESSAGES/gawk.mo
/usr/local/share/locale/sr/LC_MESSAGES/gawk.mo
/usr/local/share/locale/sv/LC_MESSAGES/gawk.mo
/usr/local/share/locale/tr/LC_MESSAGES/gawk.mo
/usr/local/share/locale/uk/LC_MESSAGES/gawk.mo
/usr/local/share/locale/vi/LC_MESSAGES/gawk.mo
/usr/local/share/locale/zh_CN/LC_MESSAGES/gawk.mo

View File

@@ -801,6 +801,7 @@
/usr/local/opt/glibc-libs/libthread_db.so.1
/usr/local/opt/glibc-libs/libutil.a
/usr/local/opt/glibc-libs/libutil.so.1
/usr/local/opt/glibc-libs/locale/locale-archive
/usr/local/share/i18n/charmaps/ANSI_X3.110-1983.gz
/usr/local/share/i18n/charmaps/ANSI_X3.4-1968.gz
/usr/local/share/i18n/charmaps/ARMSCII-8.gz

View File

@@ -810,6 +810,7 @@
/usr/local/opt/glibc-libs/libthread_db.so.1
/usr/local/opt/glibc-libs/libutil.a
/usr/local/opt/glibc-libs/libutil.so.1
/usr/local/opt/glibc-libs/locale/locale-archive
/usr/local/opt/glibc-libs/rcrt1.o
/usr/local/share/i18n/charmaps/ANSI_X3.110-1983.gz
/usr/local/share/i18n/charmaps/ANSI_X3.4-1968.gz

View File

@@ -811,6 +811,7 @@
/usr/local/opt/glibc-libs/libthread_db.so.1
/usr/local/opt/glibc-libs/libutil.a
/usr/local/opt/glibc-libs/libutil.so.1
/usr/local/opt/glibc-libs/locale/locale-archive
/usr/local/opt/glibc-libs/rcrt1.o
/usr/local/share/i18n/charmaps/ANSI_X3.110-1983.gz
/usr/local/share/i18n/charmaps/ANSI_X3.4-1968.gz

View File

@@ -3,18 +3,18 @@ require 'buildsystems/autotools'
class Gawk < Autotools
description 'The gawk utility interprets a special-purpose programming language that makes it possible to handle simple data-reformatting jobs with just a few lines of code.'
homepage 'https://www.gnu.org/software/gawk/'
version '5.3.1'
version '5.3.2'
license 'GPL-2'
compatibility 'all'
source_url "https://ftpmirror.gnu.org/gawk/gawk-#{version}.tar.xz"
source_sha256 '694db764812a6236423d4ff40ceb7b6c4c441301b72ad502bb5c27e00cd56f78'
source_sha256 'f8c3486509de705192138b00ef2c00bbbdd0e84c30d5c07d23fc73a9dc4cc9cc'
binary_compression 'tar.zst'
binary_sha256({
aarch64: '2fd73496950cf2482815e4fb21a0e652f0b726be8fc5f7f16009d7dd3df2faa0',
armv7l: '2fd73496950cf2482815e4fb21a0e652f0b726be8fc5f7f16009d7dd3df2faa0',
i686: '71d84a28ad6d27b6a8c394592130fceaab5c7d4d62643daad9963aad6a129c58',
x86_64: '177e43ad886fca0a2701f42564d5ff084ee0efa3a3fb85319405a869641335bf'
aarch64: '154f49e5a9b9851c0301a98d16b94d962cb1f664c59e3f7d1750539c221efc6d',
armv7l: '154f49e5a9b9851c0301a98d16b94d962cb1f664c59e3f7d1750539c221efc6d',
i686: 'c1e0bce5e9d858e5d16107037a031e8e6b10d26f7e5eeb45ce2c8e0873a3f72a',
x86_64: '637fa0913219b0072b6992176489c937784de2a9a95db29f20c9807d54d18f50'
})
depends_on 'glibc' # R
@@ -24,8 +24,11 @@ class Gawk < Autotools
depends_on 'ncurses' => :build
depends_on 'readline' # R
no_shrink
# Tests on i686 run out of memory.
run_tests unless ARCH == 'i686'
# Tests appear to have container issues on other platforms.
# run_tests unless ARCH == 'i686'
configure_options '--without-libsigsegv-prefix'

View File

@@ -3,18 +3,18 @@ require 'package'
class Glibc_standalone < Package
description 'The GNU C Library project provides the core libraries for GNU/Linux systems.'
homepage 'https://www.gnu.org/software/libc/'
version '2.41'
version '2.41-1'
license 'LGPL-2.1+, BSD, HPND, ISC, inner-net, rc, and PCRE'
compatibility 'all'
source_url "https://ftpmirror.gnu.org/glibc/glibc-#{version}.tar.xz"
source_url "https://ftpmirror.gnu.org/glibc/glibc-#{version.split('-').first}.tar.xz"
source_sha256 'a5a26b22f545d6b7d7b3dd828e11e428f24f4fac43c934fb071b6a7d0828e901'
binary_compression 'tar.zst'
binary_sha256({
aarch64: '4d34f1aea3003156670485deecf5da4ff3f377de5260082edd1e27e3e8aa907e',
armv7l: '4d34f1aea3003156670485deecf5da4ff3f377de5260082edd1e27e3e8aa907e',
i686: '77a95bfa9bdf58c02e9534645eb45886a8bc0a0043d4ba0bbf39bd862bd63aeb',
x86_64: '595548c1f923322526925698a4b2fec064112f78878375388fb5889583619f2f'
aarch64: 'e19d852da8d4ead346d62003f9e5f15076ed5fae5bcd12dc9bd8f7f2602bc1b2',
armv7l: 'e19d852da8d4ead346d62003f9e5f15076ed5fae5bcd12dc9bd8f7f2602bc1b2',
i686: '5b3a5e7256520a0435604b53f93a743d58ea07bea950fe3ee5f371c296f640f1',
x86_64: '44220b48699ab3fb677d16c0b5172fac151c47edfa48015f170633a5a1dd18ed'
})
depends_on 'gawk' => :build
@@ -60,6 +60,110 @@ class Glibc_standalone < Package
system 'filefix'
system 'patch', '-p1', '-i', 'hardcode-library-path.patch'
# See https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/refs/heads/release-R136-16238.B/sys-libs/glibc/files/local/glibc-2.39/0009-Revert-Add-GLIBC_ABI_DT_RELR-for-DT_RELR-support.patch?pli=1%2F
File.write '0009-Revert-Add-GLIBC_ABI_DT_RELR-for-DT_RELR-support.patch', <<~GLIBC_ABI_DT_RELR_PATCH_EOF
diff --git a/elf/dl-version.c b/elf/dl-version.c
index 8966d612cc79..7fb5cb16d47b 100644
--- a/elf/dl-version.c
+++ b/elf/dl-version.c
@@ -359,30 +359,6 @@ _dl_check_map_versions (struct link_map *map, int verbose, int trace_mode)
\t}
}
- /* When there is a DT_VERNEED entry with libc.so on DT_NEEDED, issue
- an error if there is a DT_RELR entry without GLIBC_ABI_DT_RELR
- dependency. */
- if (dyn != NULL
- && map->l_info[DT_NEEDED] != NULL
- && map->l_info[DT_RELR] != NULL
- && __glibc_unlikely (!map->l_dt_relr_ref))
- {
- const char *strtab = (const void *) D_PTR (map, l_info[DT_STRTAB]);
- const ElfW(Dyn) *d;
- for (d = map->l_ld; d->d_tag != DT_NULL; ++d)
-\tif (d->d_tag == DT_NEEDED)
-\t {
-\t const char *name = strtab + d->d_un.d_val;
-\t if (strncmp (name, "libc.so.", 8) == 0)
-\t {
-\t\t_dl_exception_create
-\t\t (&exception, DSO_FILENAME (map->l_name),
-\t\t N_("DT_RELR without GLIBC_ABI_DT_RELR dependency"));
-\t\tgoto call_error;
-\t }
-\t }
- }
-
return result;
}
--
2.41.0
GLIBC_ABI_DT_RELR_PATCH_EOF
system 'patch', '-p1', '-i', '0009-Revert-Add-GLIBC_ABI_DT_RELR-for-DT_RELR-support.patch'
# See https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/refs/heads/release-R136-16238.B/sys-libs/glibc/files/local/glibc-2.39/0002-libc-Speed-up-large-memcpy-on-Cortex-A7-A15.patch
File.write '0002-libc-Speed-up-large-memcpy-on-Cortex-A7-A15.patch', <<~LIBC_SPEED_UP_PATCH_EOF
From e5b7f5d719e8fd03de363bc5bb5c28f1429e56bd Mon Sep 17 00:00:00 2001
From: Yunlian Jiang <yunlian@google.com>
Date: Fri, 1 Aug 2014 15:19:34 -0700
Subject: [PATCH 2/3] libc: Speed up large memcpy() on Cortex-A7/A15
Details please see crbug://331427
Experimentally it's been found that the "unaligned" memcpy() is
actually faster for sufficiently large memory copies. It appears that
the changeover point is a little different for different processors,
though. For A15 there's a lot more run-to-run variance for
medium-sized memcpy() but the changeover appears to be at ~16K. For
A7 (and maybe A9) the changeover seems to be a little further out.
We think the variance in A15 memcpy() is is due to different physical
addresses for the chunks of memory given to us by the kernel. It is
certain that the "aligned" code works faster at 4K and less and that
the "unaligned" code works faster with very large chunks of memory.
Since we care most about A15 performance and the A7 performance is not
that much worse (and actually better for SDRAM transfers), we'll pick
the number that's best for the A15.
Tests on snow (A15 only):
* Large (12M) aligned copies go from ~2350 MiB/s to ~2900 MiB/s.
* Medium (96K) aligned copies go from ~5900 MiB/s to ~6300 MiB/s.
* Medium (16K) aligned copies seem to be better but there's a lot of
noise (old=8151.8, 8736.6, 8168.7; new=9364.9, 9829.5, 9639.0)
* Small (4K, 8K) algined copies are unchanged.
For A7-only on pit:
* Large (12M) aligned copies go from 440 MiB/s to 930 MiB/s.
* Medium (96K) aligned copies regress from ~2650 MiB/s to ~2400 MiB/s.
* Medium (16K) aligned copies regress from ~3000 MiB/s to ~2800 MiB/s.
* Small (4K, 8K) aligned copies are unchanged.
See punybench changes at
<https://chromium-review.googlesource.com/#/c/182168/3> for how this
was tested. For A15 changes I ran 3 times and averaged (there wasn't
lots of variance except for 16K). For A7 changes I ran 2 times.
[Adrian: forward-ported to glibc 2.32]
---
sysdeps/arm/armv7/multiarch/memcpy_impl.S | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/sysdeps/arm/armv7/multiarch/memcpy_impl.S b/sysdeps/arm/armv7/multiarch/memcpy_impl.S
index dc701827..ac171cde 100644
--- a/sysdeps/arm/armv7/multiarch/memcpy_impl.S
+++ b/sysdeps/arm/armv7/multiarch/memcpy_impl.S
@@ -327,6 +327,10 @@ ENTRY(memcpy)
\tcmp\ttmp1, tmp2
\tbne\t.Lcpy_notaligned
+\t/* Use the non-aligned code for >=16K; faster on A7/A15 (A9 too?) */
+\tcmp\tcount, #0x4000
+\tbge\t.Lcpy_notaligned
+
#ifdef USE_VFP
\t/* Magic dust alert! Force VFP on Cortex-A9. Experiments show
\t that the FP pipeline is much better at streaming loads and
--
2.49.0
LIBC_SPEED_UP_PATCH_EOF
system 'patch', '-p1', '-i', '0002-libc-Speed-up-large-memcpy-on-Cortex-A7-A15.patch'
end
def self.build
@@ -101,11 +205,12 @@ class Glibc_standalone < Package
EOF
system build_env.transform_keys(&:to_s), '../configure', *config_opts
system 'make', "PARALLELMFLAGS='-j #{CREW_NPROC}'"
system "make PARALLELMFLAGS='-j #{CREW_NPROC}'"
end
end
def self.install
system 'make', "DESTDIR=#{CREW_DEST_DIR}", 'install', chdir: 'builddir'
system "make -j1 DESTDIR=#{CREW_DEST_DIR} localedata/install-locales || make -j1 DESTDIR=#{CREW_DEST_DIR} localedata/install-locales", chdir: 'builddir'
end
end

View File

@@ -2,7 +2,7 @@
# Mapping of /output should be set in the docker run options for the
# run-updater step of the generate job in .github/workflows/Updater.yml
cd /output/ || exit 1
crew update
crew update && yes | crew upgrade || true
git config --global --add safe.directory /output
export CREW_AGREE_TIMEOUT_SECONDS=1
set -x