diff --git a/bin/crew b/bin/crew index 7006e7833..f45ca2255 100755 --- a/bin/crew +++ b/bin/crew @@ -885,7 +885,7 @@ def prepare_package(destdir) strip_dir destdir # use upx on executables - shrink_dir destdir + # shrink_dir destdir end end diff --git a/manifest/armv7l/g/gawk.filelist b/manifest/armv7l/g/gawk.filelist index 4e17cd1fa..332f0cd05 100644 --- a/manifest/armv7l/g/gawk.filelist +++ b/manifest/armv7l/g/gawk.filelist @@ -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 diff --git a/manifest/armv7l/g/glibc_standalone.filelist b/manifest/armv7l/g/glibc_standalone.filelist index 1a1dde8f3..fbe1d2610 100644 --- a/manifest/armv7l/g/glibc_standalone.filelist +++ b/manifest/armv7l/g/glibc_standalone.filelist @@ -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 diff --git a/manifest/i686/g/glibc_standalone.filelist b/manifest/i686/g/glibc_standalone.filelist index c5afe6499..750a8729d 100644 --- a/manifest/i686/g/glibc_standalone.filelist +++ b/manifest/i686/g/glibc_standalone.filelist @@ -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 diff --git a/manifest/x86_64/g/glibc_standalone.filelist b/manifest/x86_64/g/glibc_standalone.filelist index c2de213ff..284773a59 100644 --- a/manifest/x86_64/g/glibc_standalone.filelist +++ b/manifest/x86_64/g/glibc_standalone.filelist @@ -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 diff --git a/packages/gawk.rb b/packages/gawk.rb index 4bf297520..90f74aac0 100644 --- a/packages/gawk.rb +++ b/packages/gawk.rb @@ -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' diff --git a/packages/glibc_standalone.rb b/packages/glibc_standalone.rb index f70f739d6..c909708ef 100644 --- a/packages/glibc_standalone.rb +++ b/packages/glibc_standalone.rb @@ -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 + 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 + 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 diff --git a/tools/github_actions_update_builder.sh b/tools/github_actions_update_builder.sh index 90f1d0302..c9fc0bcb6 100755 --- a/tools/github_actions_update_builder.sh +++ b/tools/github_actions_update_builder.sh @@ -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