summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xbuild_all_v2.mk3
-rw-r--r--config/Kconfig6
-rw-r--r--config/rust/aarch64-v8a-linux-gnu.json40
-rw-r--r--config/rust/arm-v7a-linux-gnueabi.json41
-rw-r--r--config/rust/arm-v7a-linux-gnueabihf.json41
-rw-r--r--config/rust/loongarch64-linux-gnu.json25
-rw-r--r--config/rust/x86_64-v1-linux-gnu.json34
-rw-r--r--config/rust/x86_64-v3-linux-gnu.json34
-rw-r--r--config/rustc.toml826
-rw-r--r--config/uclibc-ng-1.0.42-arm-v7em-uclinuxeabihf.config (renamed from config/uclibc-ng-1.0.34-arm-v7em-uclinuxeabihf.config)10
-rw-r--r--config/uclibc-ng-1.0.42-arm-v7m-uclinuxeabi.config (renamed from config/uclibc-ng-1.0.34-arm-v7m-uclinuxeabi.config)10
-rwxr-xr-xdebian/bin/gencontrol.sh8
-rw-r--r--debian/changelog42
-rwxr-xr-xdebian/rules8
-rwxr-xr-xfixup_ptxconfigs.sh35
-rw-r--r--patches/binutils-2.40/0001-Fix-version-number-snafu-in-some-configuration-files.patch455
-rw-r--r--patches/binutils-2.40/0002-toplevel-Makefile.def-add-install-strip-dependency-o.patch63
-rw-r--r--patches/binutils-2.40/0003-bpf-fix-error-conversion-from-long-unsigned-int-to-u.patch216
-rw-r--r--patches/binutils-2.40/0004-gas-correct-symbol-name-comparison-in-.startof.-.siz.patch51
-rw-r--r--patches/binutils-2.40/0005-ppc32-and-LOAD-segment-with-RWX-permissions.patch116
-rw-r--r--patches/binutils-2.40/0006-PR30046-power-cmpi-leads-to-unknown-architecture.patch55
-rw-r--r--patches/binutils-2.40/0007-PR30155-ld-segfault-in-_bfd_nearby_section.patch148
-rw-r--r--patches/binutils-2.40/0008-PR30198-Assertion-and-segfault-when-linking-x86_64-e.patch47
-rw-r--r--patches/binutils-2.40/0009-PR30217-dynamic-relocations-using-local-dynamic-symb.patch154
-rw-r--r--patches/binutils-2.40/0010-coff_get_normalized_symtab-bfd_release.patch33
-rw-r--r--patches/binutils-2.40/0011-libctf-fix-assertion-failure-with-no-system-qsort_r.patch37
-rw-r--r--patches/binutils-2.40/0012-libctf-get-the-offsets-of-fields-of-unnamed-structs-.patch175
-rw-r--r--patches/binutils-2.40/0013-gas-arm-Fix-a-further-IT-predicated-vcvt-issue-in-th.patch203
-rw-r--r--patches/binutils-2.40/0014-gas-arm-Change-warning-message-to-not-reference-spec.patch782
-rw-r--r--patches/binutils-2.40/0015-lto-Don-t-add-indirect-symbols-for-versioned-aliases.patch96
-rw-r--r--patches/binutils-2.40/0016-PR30536-ppc64el-gold-linker-produces-unusable-clang-.patch42
-rw-r--r--patches/binutils-2.40/0017-powerpc-DT_RELACOUNT.patch37
-rw-r--r--patches/binutils-2.40/series21
-rw-r--r--patches/clang-10.0.1/0001-Use-lib-for-the-dynamic-linker-on-x86_64-by-default.patch27
-rw-r--r--patches/clang-10.0.1/series4
-rw-r--r--patches/elf2flt-2020.09/0001-ptxdist-don-t-move-real-ld-out-of-the-way.patch (renamed from patches/elf2flt-2019.12/0001-ptxdist-don-t-move-real-ld-out-of-the-way.patch)4
-rw-r--r--patches/elf2flt-2020.09/0002-elf2flt-handle-binutils-2.34.patch (renamed from patches/elf2flt-2019.12/0002-elf2flt-handle-binutils-2.34.patch)231
-rwxr-xr-xpatches/elf2flt-2020.09/autogen.sh (renamed from patches/elf2flt-2019.12/autogen.sh)0
-rw-r--r--patches/elf2flt-2020.09/series (renamed from patches/elf2flt-2019.12/series)0
-rw-r--r--patches/gcc-10-20200822/0200-gcc-i386-use-pure64-CLFS-patch.patch47
-rw-r--r--patches/gcc-10-20200822/0201-aarch64-change-paths-for-pure64.patch24
-rw-r--r--patches/gcc-10-20200822/0202-mips64el-set-default-ABI-to-N64.patch26
-rw-r--r--patches/gcc-10-20200822/series10
-rw-r--r--patches/gcc-13-20230603/0300-libstdc-pic.patch (renamed from patches/gcc-10-20200822/0300-libstdc-pic.patch)20
-rw-r--r--patches/gcc-13-20230603/series7
-rw-r--r--patches/glibc-2.37-22-g3593050c27dc/0100-add-install-lib-all-target.patch (renamed from patches/glibc-2.32/0100-add-install-lib-all-target.patch)4
-rw-r--r--patches/glibc-2.37-22-g3593050c27dc/0101-don-t-regen-docs-if-perl-is-not-found.patch (renamed from patches/glibc-2.32/0101-don-t-regen-docs-if-perl-is-not-found.patch)2
-rw-r--r--patches/glibc-2.37-22-g3593050c27dc/0200-Hack-around-mips-args-to-host-gcc.patch (renamed from patches/glibc-2.32/0200-Hack-around-mips-args-to-host-gcc.patch)0
-rw-r--r--patches/glibc-2.37-22-g3593050c27dc/series (renamed from patches/glibc-2.32/series)0
-rw-r--r--patches/lld-16.0.6/0001-HACK-add-local-copy-of-compact_unwind_encoding.h.patch567
-rw-r--r--patches/lld-16.0.6/series4
-rw-r--r--ptxconfigs/aarch64-v8a-linux-gnu_gcc-10.2.1_glibc-2.32_binutils-2.35_kernel-5.8-sanitized.ptxconfig143
-rw-r--r--ptxconfigs/aarch64-v8a-linux-gnu_gcc-13.1.1_clang-16.0.6_glibc-2.37_binutils-2.40_kernel-6.3.6-sanitized.ptxconfig (renamed from ptxconfigs/aarch64-v8a-linux-gnu_gcc-10.2.1_clang-10.0.1_glibc-2.32_binutils-2.35_kernel-5.8-sanitized.ptxconfig)66
-rw-r--r--ptxconfigs/arm-1136jfs-linux-gnueabi_gcc-13.1.1_glibc-2.37_binutils-2.40_kernel-6.3.6-sanitized.ptxconfig (renamed from ptxconfigs/arm-1136jfs-linux-gnueabi_gcc-10.2.1_glibc-2.32_binutils-2.35_kernel-5.8-sanitized.ptxconfig)46
-rw-r--r--ptxconfigs/arm-1136jfs-linux-gnueabihf_gcc-13.1.1_glibc-2.37_binutils-2.40_kernel-6.3.6-sanitized.ptxconfig (renamed from ptxconfigs/arm-1136jfs-linux-gnueabihf_gcc-10.2.1_glibc-2.32_binutils-2.35_kernel-5.8-sanitized.ptxconfig)46
-rw-r--r--ptxconfigs/arm-v4t-linux-gnueabi_gcc-13.1.1_glibc-2.37_binutils-2.40_kernel-6.3.6-sanitized.ptxconfig (renamed from ptxconfigs/arm-v4t-linux-gnueabi_gcc-10.2.1_glibc-2.32_binutils-2.35_kernel-5.8-sanitized.ptxconfig)46
-rw-r--r--ptxconfigs/arm-v5te-linux-gnueabi_gcc-13.1.1_glibc-2.37_binutils-2.40_kernel-6.3.6-sanitized.ptxconfig (renamed from ptxconfigs/arm-v5te-linux-gnueabi_gcc-10.2.1_glibc-2.32_binutils-2.35_kernel-5.8-sanitized.ptxconfig)46
-rw-r--r--ptxconfigs/arm-v7a-linux-gnueabi_gcc-10.2.1_glibc-2.32_binutils-2.35_kernel-5.8-sanitized.ptxconfig143
-rw-r--r--ptxconfigs/arm-v7a-linux-gnueabi_gcc-13.1.1_clang-16.0.6_glibc-2.37_binutils-2.40_kernel-6.3.6-sanitized.ptxconfig (renamed from ptxconfigs/arm-v7a-linux-gnueabi_gcc-10.2.1_clang-10.0.1_glibc-2.32_binutils-2.35_kernel-5.8-sanitized.ptxconfig)64
-rw-r--r--ptxconfigs/arm-v7a-linux-gnueabihf_gcc-10.2.1_glibc-2.32_binutils-2.35_kernel-5.8-sanitized.ptxconfig143
-rw-r--r--ptxconfigs/arm-v7a-linux-gnueabihf_gcc-13.1.1_clang-16.0.6_glibc-2.37_binutils-2.40_kernel-6.3.6-sanitized.ptxconfig (renamed from ptxconfigs/arm-v7a-linux-gnueabihf_gcc-10.2.1_clang-10.0.1_glibc-2.32_binutils-2.35_kernel-5.8-sanitized.ptxconfig)64
-rw-r--r--ptxconfigs/arm-v7em-eabihf_gcc-13.1.1_newlib-4.3.0.20230120_binutils-2.40.ptxconfig (renamed from ptxconfigs/arm-v7em-eabihf_gcc-10.2.1_newlib-3.3.0_binutils-2.35.ptxconfig)34
-rw-r--r--ptxconfigs/arm-v7em-uclinuxeabihf_gcc-10.2.1_uclibc-ng-1.0.34_binutils-2.35_kernel-5.8-sanitized.ptxconfig137
-rw-r--r--ptxconfigs/arm-v7m-eabi_gcc-13.1.1_newlib-4.3.0.20230120_binutils-2.40.ptxconfig (renamed from ptxconfigs/arm-v7m-eabi_gcc-10.2.1_newlib-3.3.0_binutils-2.35.ptxconfig)34
-rw-r--r--ptxconfigs/arm-v7m-uclinuxeabi_gcc-10.2.1_uclibc-ng-1.0.34_binutils-2.35_kernel-5.8-sanitized.ptxconfig137
-rw-r--r--ptxconfigs/i586-unknown-linux-gnu_gcc-13.1.1_glibc-2.37_binutils-2.40_kernel-6.3.6-sanitized.ptxconfig (renamed from ptxconfigs/i586-unknown-linux-gnu_gcc-10.2.1_glibc-2.32_binutils-2.35_kernel-5.8-sanitized.ptxconfig)46
-rw-r--r--ptxconfigs/i686-atom-linux-gnu_gcc-13.1.1_glibc-2.37_binutils-2.40_kernel-6.3.6-sanitized.ptxconfig (renamed from ptxconfigs/i686-atom-linux-gnu_gcc-10.2.1_glibc-2.32_binutils-2.35_kernel-5.8-sanitized.ptxconfig)46
-rw-r--r--ptxconfigs/loongarch64-linux-gnu_gcc-13.1.1_clang-16.0.6_glibc-2.37_binutils-2.40_kernel-6.3.6-sanitized.ptxconfig178
-rw-r--r--ptxconfigs/mips-softfloat-linux-gnu_gcc-13.1.1_glibc-2.37_binutils-2.40_kernel-6.3.6-sanitized.ptxconfig (renamed from ptxconfigs/mips-softfloat-linux-gnu_gcc-10.2.1_glibc-2.32_binutils-2.35_kernel-5.8-sanitized.ptxconfig)46
-rw-r--r--ptxconfigs/mips64el-linux-gnuabi64_gcc-13.1.1_glibc-2.37_binutils-2.40_kernel-6.3.6-sanitized.ptxconfig (renamed from ptxconfigs/mips64el-linux-gnuabi64_gcc-10.2.1_glibc-2.32_binutils-2.35_kernel-5.8-sanitized.ptxconfig)48
-rw-r--r--ptxconfigs/mipsel-softfloat-linux-gnu_gcc-13.1.1_glibc-2.37_binutils-2.40_kernel-6.3.6-sanitized.ptxconfig (renamed from ptxconfigs/mipsel-softfloat-linux-gnu_gcc-10.2.1_glibc-2.32_binutils-2.35_kernel-5.8-sanitized.ptxconfig)46
-rw-r--r--ptxconfigs/powerpc-603e-linux-gnu_gcc-13.1.1_glibc-2.37_binutils-2.40_kernel-6.3.6-sanitized.ptxconfig (renamed from ptxconfigs/powerpc-603e-linux-gnu_gcc-10.2.1_glibc-2.32_binutils-2.35_kernel-5.8-sanitized.ptxconfig)46
-rw-r--r--ptxconfigs/riscv64-linux-gnu_gcc-13.1.1_glibc-2.37_binutils-2.40_kernel-6.3.6-sanitized.ptxconfig (renamed from ptxconfigs/riscv64-linux-gnu_gcc-10.2.1_glibc-2.32_binutils-2.35_kernel-5.8-sanitized.ptxconfig)46
-rw-r--r--ptxconfigs/x86_64-unknown-linux-gnu_gcc-10.2.1_glibc-2.32_binutils-2.35_kernel-5.8-sanitized.ptxconfig143
-rw-r--r--ptxconfigs/x86_64-unknown-linux-gnu_gcc-13.1.1_clang-16.0.6_glibc-2.37_binutils-2.40_kernel-6.3.6-sanitized.ptxconfig (renamed from ptxconfigs/x86_64-unknown-linux-gnu_gcc-10.2.1_clang-10.0.1_glibc-2.32_binutils-2.35_kernel-5.8-sanitized.ptxconfig)64
-rw-r--r--ptxconfigs/x86_64-v3-linux-gnu_gcc-13.1.1_clang-16.0.6_glibc-2.37_binutils-2.40_kernel-6.3.6-sanitized.ptxconfig178
-rw-r--r--rules/architecture.in10
-rw-r--r--rules/cross-binutils.in5
-rw-r--r--rules/cross-binutils.make11
-rw-r--r--rules/cross-clang.make16
-rw-r--r--rules/cross-elf2flt.make4
-rw-r--r--rules/cross-gcc-first.make2
-rw-r--r--rules/cross-gcc.make28
-rw-r--r--rules/cross-gdb.make10
-rw-r--r--rules/cross-lld.make2
-rw-r--r--rules/cross-llvm.in4
-rw-r--r--rules/cross-llvm.make39
-rw-r--r--rules/cross-rustc.in55
-rw-r--r--rules/cross-rustc.make126
-rw-r--r--rules/ffmpeg.make1
-rw-r--r--rules/glibc-crt.make15
-rw-r--r--rules/glibc-first.make1
-rw-r--r--rules/glibc.in2
-rw-r--r--rules/glibc.make17
-rw-r--r--rules/host-fake-makeinfo.make6
-rw-r--r--rules/host-system-expat.make2
-rw-r--r--rules/host-system-gmp.make2
-rw-r--r--rules/host-system-isl.make2
-rw-r--r--rules/host-system-mpc.make2
-rw-r--r--rules/host-system-mpfr.make2
-rw-r--r--rules/host-system-openssl.in4
-rw-r--r--rules/host-system-openssl.make27
-rw-r--r--rules/host-system-xz.make2
-rw-r--r--rules/host-system-zlib.make2
-rw-r--r--rules/libelf.make1
-rw-r--r--rules/libgmp.make1
-rw-r--r--rules/newlib.make4
-rw-r--r--rules/post/ptxd_make_world_install.make14
-rw-r--r--rules/pre/toolchain.make43
-rw-r--r--rules/zlib.make1
-rwxr-xr-xscripts/icecc-create-env-wrapper6
-rw-r--r--scripts/lib/ptxd_make_compiler.sh8
-rw-r--r--scripts/lib/ptxd_make_icecc_check.sh30
-rw-r--r--scripts/lib/ptxd_make_image_tgz.sh30
-rw-r--r--scripts/lib/ptxd_make_toolchain.sh12
-rw-r--r--scripts/lib/ptxd_make_toolchain_install.sh27
-rw-r--r--scripts/lib/ptxd_make_world_install.sh24
117 files changed, 5928 insertions, 1579 deletions
diff --git a/build_all_v2.mk b/build_all_v2.mk
index 1a80730..66cccd6 100755
--- a/build_all_v2.mk
+++ b/build_all_v2.mk
@@ -16,9 +16,6 @@ BENICE := true
PTXDIST := ./p
ARG := images
-export PTXDIST_ENV_WHITELIST += CROSS_GDB_WITHOUT_PYTHON
-export CROSS_GDB_WITHOUT_PYTHON ?= y
-
ifdef BENICE
NICE += nice -20
endif
diff --git a/config/Kconfig b/config/Kconfig
index 1299760..ecdbb3b 100644
--- a/config/Kconfig
+++ b/config/Kconfig
@@ -13,6 +13,7 @@ config _ptxconfig_MAGIC__
config BUILD_TOOLCHAIN
bool
select HOST_CHRPATH
+ select HOST_FAKEROOT
default y
config NO_PLATFORM
@@ -36,6 +37,10 @@ config PROJECT_CHECK_LICENSES
bool
default y
+config BASE
+ bool
+ default y
+
comment "----------------------------------"
source "workspace/rules/architecture.in"
@@ -68,6 +73,7 @@ source "workspace/rules/cross-gcc.in"
source "workspace/rules/cross-llvm.in"
source "workspace/rules/cross-clang.in"
source "workspace/rules/cross-lld.in"
+source "workspace/rules/cross-rustc.in"
source "workspace/rules/cross-gdb.in"
source "workspace/rules/cross-toolchain.in"
source "workspace/rules/host-fake-makeinfo.in"
diff --git a/config/rust/aarch64-v8a-linux-gnu.json b/config/rust/aarch64-v8a-linux-gnu.json
new file mode 100644
index 0000000..159320e
--- /dev/null
+++ b/config/rust/aarch64-v8a-linux-gnu.json
@@ -0,0 +1,40 @@
+{
+ "arch": "aarch64",
+ "crt-static-respected": true,
+ "data-layout": "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128",
+ "dynamic-linking": true,
+ "env": "gnu",
+ "executables": true,
+ "has-elf-tls": true,
+ "has-rpath": true,
+ "linker-is-gnu": true,
+ "llvm-target": "aarch64-unknown-linux-gnu",
+ "max-atomic-width": 128,
+ "os": "linux",
+ "position-independent-executables": true,
+ "pre-link-args": {
+ "gcc": [
+ "-Wl,--as-needed",
+ "-Wl,-z,noexecstack"
+ ]
+ },
+ "relro-level": "full",
+ "target-family": "unix",
+ "target-mcount": "\u0001_mcount",
+ "target-pointer-width": "64",
+ "unsupported-abis": [
+ "stdcall",
+ "stdcall-unwind",
+ "fastcall",
+ "vectorcall",
+ "thiscall",
+ "thiscall-unwind",
+ "win64",
+ "sysv64"
+ ],
+ "cc": "aarch64-v8a-linux-gnu-gcc",
+ "cxx": "aarch64-v8a-linux-gnu-g++",
+ "ar": "aarch64-v8a-linux-gnu-ar",
+ "ranlib": "aarch64-v8a-linux-gnu-ranlib",
+ "linker": "aarch64-v8a-linux-gnu-gcc"
+}
diff --git a/config/rust/arm-v7a-linux-gnueabi.json b/config/rust/arm-v7a-linux-gnueabi.json
new file mode 100644
index 0000000..38e61b4
--- /dev/null
+++ b/config/rust/arm-v7a-linux-gnueabi.json
@@ -0,0 +1,41 @@
+{
+ "arch": "arm",
+ "crt-static-respected": true,
+ "data-layout": "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64",
+ "dynamic-linking": true,
+ "env": "gnu",
+ "executables": true,
+ "features": "+v7,+thumb2,+soft-float,-neon",
+ "has-elf-tls": true,
+ "has-rpath": true,
+ "linker-is-gnu": true,
+ "llvm-target": "armv7-unknown-linux-gnueabi",
+ "max-atomic-width": 64,
+ "os": "linux",
+ "position-independent-executables": true,
+ "pre-link-args": {
+ "gcc": [
+ "-Wl,--as-needed",
+ "-Wl,-z,noexecstack"
+ ]
+ },
+ "relro-level": "full",
+ "target-family": "unix",
+ "target-mcount": "\u0001__gnu_mcount_nc",
+ "target-pointer-width": "32",
+ "unsupported-abis": [
+ "stdcall",
+ "stdcall-unwind",
+ "fastcall",
+ "vectorcall",
+ "thiscall",
+ "thiscall-unwind",
+ "win64",
+ "sysv64"
+ ],
+ "cc": "arm-v7a-linux-gnueabi-gcc",
+ "cxx": "arm-v7a-linux-gnueabi-g++",
+ "ar": "arm-v7a-linux-gnueabi-ar",
+ "ranlib": "arm-v7a-linux-gnueabi-ranlib",
+ "linker": "arm-v7a-linux-gnueabi-gcc"
+}
diff --git a/config/rust/arm-v7a-linux-gnueabihf.json b/config/rust/arm-v7a-linux-gnueabihf.json
new file mode 100644
index 0000000..992d760
--- /dev/null
+++ b/config/rust/arm-v7a-linux-gnueabihf.json
@@ -0,0 +1,41 @@
+{
+ "arch": "arm",
+ "crt-static-respected": true,
+ "data-layout": "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64",
+ "dynamic-linking": true,
+ "env": "gnu",
+ "executables": true,
+ "features": "+v7,+vfp3,-d32,+thumb2,-neon",
+ "has-elf-tls": true,
+ "has-rpath": true,
+ "linker-is-gnu": true,
+ "llvm-target": "armv7-unknown-linux-gnueabihf",
+ "max-atomic-width": 64,
+ "os": "linux",
+ "position-independent-executables": true,
+ "pre-link-args": {
+ "gcc": [
+ "-Wl,--as-needed",
+ "-Wl,-z,noexecstack"
+ ]
+ },
+ "relro-level": "full",
+ "target-family": "unix",
+ "target-mcount": "\u0001__gnu_mcount_nc",
+ "target-pointer-width": "32",
+ "unsupported-abis": [
+ "stdcall",
+ "stdcall-unwind",
+ "fastcall",
+ "vectorcall",
+ "thiscall",
+ "thiscall-unwind",
+ "win64",
+ "sysv64"
+ ],
+ "cc": "arm-v7a-linux-gnueabihf-gcc",
+ "cxx": "arm-v7a-linux-gnueabihf-g++",
+ "ar": "arm-v7a-linux-gnueabihf-ar",
+ "ranlib": "arm-v7a-linux-gnueabihf-ranlib",
+ "linker": "arm-v7a-linux-gnueabihf-gcc"
+}
diff --git a/config/rust/loongarch64-linux-gnu.json b/config/rust/loongarch64-linux-gnu.json
new file mode 100644
index 0000000..b6779da
--- /dev/null
+++ b/config/rust/loongarch64-linux-gnu.json
@@ -0,0 +1,25 @@
+{
+ "arch": "loongarch64",
+ "crt-static-respected": true,
+ "data-layout": "e-m:e-p:64:64-i64:64-i128:128-n64-S128",
+ "dynamic-linking": true,
+ "env": "gnu",
+ "features": "+f,+d",
+ "has-rpath": true,
+ "has-thread-local": true,
+ "llvm-abiname": "lp64d",
+ "llvm-target": "loongarch64-unknown-linux-gnu",
+ "max-atomic-width": 64,
+ "os": "linux",
+ "position-independent-executables": true,
+ "relro-level": "full",
+ "supported-split-debuginfo": [
+ "packed",
+ "unpacked",
+ "off"
+ ],
+ "target-family": [
+ "unix"
+ ],
+ "target-pointer-width": "64"
+}
diff --git a/config/rust/x86_64-v1-linux-gnu.json b/config/rust/x86_64-v1-linux-gnu.json
new file mode 100644
index 0000000..17b059b
--- /dev/null
+++ b/config/rust/x86_64-v1-linux-gnu.json
@@ -0,0 +1,34 @@
+{
+ "arch": "x86_64",
+ "cpu": "x86-64",
+ "crt-static-respected": true,
+ "data-layout": "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128",
+ "dynamic-linking": true,
+ "env": "gnu",
+ "executables": true,
+ "has-elf-tls": true,
+ "has-rpath": true,
+ "linker-is-gnu": true,
+ "llvm-target": "x86_64-unknown-linux-gnu",
+ "max-atomic-width": 64,
+ "os": "linux",
+ "position-independent-executables": true,
+ "pre-link-args": {
+ "gcc": [
+ "-Wl,--as-needed",
+ "-Wl,-z,noexecstack",
+ "-m64"
+ ]
+ },
+ "relro-level": "full",
+ "stack-probes": {
+ "kind": "call"
+ },
+ "target-family": "unix",
+ "target-pointer-width": "64",
+ "cc": "x86_64-unknown-linux-gnu-gcc",
+ "cxx": "x86_64-unknown-linux-gnu-g++",
+ "ar": "x86_64-unknown-linux-gnu-ar",
+ "ranlib": "x86_64-unknown-linux-gnu-ranlib",
+ "linker": "x86_64-unknown-linux-gnu-gcc"
+}
diff --git a/config/rust/x86_64-v3-linux-gnu.json b/config/rust/x86_64-v3-linux-gnu.json
new file mode 100644
index 0000000..7fe66f0
--- /dev/null
+++ b/config/rust/x86_64-v3-linux-gnu.json
@@ -0,0 +1,34 @@
+{
+ "arch": "x86_64",
+ "cpu": "x86-64-v3",
+ "crt-static-respected": true,
+ "data-layout": "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128",
+ "dynamic-linking": true,
+ "env": "gnu",
+ "executables": true,
+ "has-elf-tls": true,
+ "has-rpath": true,
+ "linker-is-gnu": true,
+ "llvm-target": "x86_64-unknown-linux-gnu",
+ "max-atomic-width": 64,
+ "os": "linux",
+ "position-independent-executables": true,
+ "pre-link-args": {
+ "gcc": [
+ "-Wl,--as-needed",
+ "-Wl,-z,noexecstack",
+ "-m64"
+ ]
+ },
+ "relro-level": "full",
+ "stack-probes": {
+ "kind": "call"
+ },
+ "target-family": "unix",
+ "target-pointer-width": "64",
+ "cc": "x86_64-v3-linux-gnu-gcc",
+ "cxx": "x86_64-v3-linux-gnu-g++",
+ "ar": "x86_64-v3-linux-gnu-ar",
+ "ranlib": "x86_64-v3-linux-gnu-ranlib",
+ "linker": "x86_64-v3-linux-gnu-gcc"
+}
diff --git a/config/rustc.toml b/config/rustc.toml
new file mode 100644
index 0000000..548d455
--- /dev/null
+++ b/config/rustc.toml
@@ -0,0 +1,826 @@
+# Sample TOML configuration file for building Rust.
+#
+# To configure rustbuild, run `./configure` or `./x.py setup`.
+# See https://rustc-dev-guide.rust-lang.org/building/how-to-build-and-run.html#create-a-configtoml for more information.
+#
+# All options are commented out by default in this file, and they're commented
+# out with their default values. The build system by default looks for
+# `config.toml` in the current directory of a build for build configuration, but
+# a custom configuration file can also be specified with `--config` to the build
+# system.
+
+# =============================================================================
+# Global Settings
+# =============================================================================
+
+# Use different pre-set defaults than the global defaults.
+#
+# See `src/bootstrap/defaults` for more information.
+# Note that this has no default value (x.py uses the defaults in `config.example.toml`).
+#profile = <none>
+
+# Keeps track of the last version of `x.py` used.
+# If `changelog-seen` does not match the version that is currently running,
+# `x.py` will prompt you to update it and to read the changelog.
+# See `src/bootstrap/CHANGELOG.md` for more information.
+changelog-seen = 2
+
+# =============================================================================
+# Tweaking how LLVM is compiled
+# =============================================================================
+[llvm]
+
+# Whether to use Rust CI built LLVM instead of locally building it.
+#
+# Unless you're developing for a target where Rust CI doesn't build a compiler
+# toolchain or changing LLVM locally, you probably want to leave this enabled.
+#
+# All tier 1 targets are currently supported; set this to `"if-available"` if
+# you are not sure whether you're on a tier 1 target.
+#
+# We also currently only support this when building LLVM for the build triple.
+#
+# Note that many of the LLVM options are not currently supported for
+# downloading. Currently only the "assertions" option can be toggled.
+download-ci-llvm = false
+
+# Indicates whether the LLVM build is a Release or Debug build
+#optimize = true
+
+# Indicates whether LLVM should be built with ThinLTO. Note that this will
+# only succeed if you use clang, lld, llvm-ar, and llvm-ranlib in your C/C++
+# toolchain (see the `cc`, `cxx`, `linker`, `ar`, and `ranlib` options below).
+# More info at: https://clang.llvm.org/docs/ThinLTO.html#clang-bootstrap
+#thin-lto = false
+
+# Indicates whether an LLVM Release build should include debug info
+#release-debuginfo = false
+
+# Indicates whether the LLVM assertions are enabled or not
+# NOTE: When assertions are disabled, bugs in the integration between rustc and LLVM can lead to
+# unsoundness (segfaults, etc.) in the rustc process itself, not just in the generated code.
+#assertions = false
+
+# Indicates whether the LLVM testsuite is enabled in the build or not. Does
+# not execute the tests as part of the build as part of x.py build et al,
+# just makes it possible to do `ninja check-llvm` in the staged LLVM build
+# directory when doing LLVM development as part of Rust development.
+#tests = false
+
+# Indicates whether the LLVM plugin is enabled or not
+#plugins = false
+
+# Indicates whether ccache is used when building LLVM. Set to `true` to use the first `ccache` in
+# PATH, or set an absolute path to use a specific version.
+#ccache = false
+
+# When true, link libstdc++ statically into the rustc_llvm.
+# This is useful if you don't want to use the dynamic version of that
+# library provided by LLVM.
+#static-libstdcpp = false
+
+# Whether to use Ninja to build LLVM. This runs much faster than make.
+#ninja = true
+
+# LLVM targets to build support for.
+# Note: this is NOT related to Rust compilation targets. However, as Rust is
+# dependent on LLVM for code generation, turning targets off here WILL lead to
+# the resulting rustc being unable to compile for the disabled architectures.
+#
+# To add support for new targets, see https://rustc-dev-guide.rust-lang.org/building/new-target.html.
+#targets = "AArch64;ARM;BPF;Hexagon;LoongArch;MSP430;Mips;NVPTX;PowerPC;RISCV;Sparc;SystemZ;WebAssembly;X86"
+
+# LLVM experimental targets to build support for. These targets are specified in
+# the same format as above, but since these targets are experimental, they are
+# not built by default and the experimental Rust compilation targets that depend
+# on them will not work unless the user opts in to building them.
+#experimental-targets = "AVR;M68k"
+
+# Cap the number of parallel linker invocations when compiling LLVM.
+# This can be useful when building LLVM with debug info, which significantly
+# increases the size of binaries and consequently the memory required by
+# each linker process.
+# If set to 0, linker invocations are treated like any other job and
+# controlled by rustbuild's -j parameter.
+#link-jobs = 0
+
+# Whether to build LLVM as a dynamically linked library (as opposed to statically linked).
+# Under the hood, this passes `--shared` to llvm-config.
+# NOTE: To avoid performing LTO multiple times, we suggest setting this to `true` when `thin-lto` is enabled.
+#link-shared = llvm.thin-lto
+
+# When building llvm, this configures what is being appended to the version.
+# To use LLVM version as is, provide an empty string.
+#version-suffix = if rust.channel == "dev" { "-rust-dev" } else { "-rust-$version-$channel" }
+
+# On MSVC you can compile LLVM with clang-cl, but the test suite doesn't pass
+# with clang-cl, so this is special in that it only compiles LLVM with clang-cl.
+# Note that this takes a /path/to/clang-cl, not a boolean.
+#clang-cl = cc
+
+# Pass extra compiler and linker flags to the LLVM CMake build.
+#cflags = ""
+#cxxflags = ""
+#ldflags = ""
+
+# Use libc++ when building LLVM instead of libstdc++. This is the default on
+# platforms already use libc++ as the default C++ library, but this option
+# allows you to use libc++ even on platforms when it's not. You need to ensure
+# that your host compiler ships with libc++.
+#use-libcxx = false
+
+# The value specified here will be passed as `-DLLVM_USE_LINKER` to CMake.
+#use-linker = <none> (path)
+
+# Whether or not to specify `-DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=YES`
+#allow-old-toolchain = false
+
+# Whether to include the Polly optimizer.
+#polly = false
+
+# Whether to build the clang compiler.
+#clang = false
+
+# Whether to enable llvm compilation warnings.
+#enable-warnings = false
+
+# Custom CMake defines to set when building LLVM.
+#build-config = {}
+
+# =============================================================================
+# General build configuration options
+# =============================================================================
+[build]
+
+# The default stage to use for the `check` subcommand
+#check-stage = 0
+
+# The default stage to use for the `doc` subcommand
+#doc-stage = 0
+
+# The default stage to use for the `build` subcommand
+#build-stage = 1
+
+# The default stage to use for the `test` subcommand
+#test-stage = 1
+
+# The default stage to use for the `dist` subcommand
+#dist-stage = 2
+
+# The default stage to use for the `install` subcommand
+#install-stage = 2
+
+# The default stage to use for the `bench` subcommand
+#bench-stage = 2
+
+# Build triple for the pre-compiled snapshot compiler. If `rustc` is set, this must match its host
+# triple (see `rustc --version --verbose`; cross-compiling the rust build system itself is NOT
+# supported). If `rustc` is unset, this must be a platform with pre-compiled host tools
+# (https://doc.rust-lang.org/nightly/rustc/platform-support.html). The current platform must be
+# able to run binaries of this build triple.
+#
+# If `rustc` is present in path, this defaults to the host it was compiled for.
+# Otherwise, `x.py` will try to infer it from the output of `uname`.
+# If `uname` is not found in PATH, we assume this is `x86_64-pc-windows-msvc`.
+# This may be changed in the future.
+build = "@BUILD_TRIPLE@"
+
+# Which triples to produce a compiler toolchain for. Each of these triples will be bootstrapped from
+# the build triple themselves. In other words, this is the list of triples for which to build a
+# compiler that can RUN on that triple.
+#
+# Defaults to just the `build` triple.
+host = ["@BUILD_TRIPLE@"]
+
+# Which triples to build libraries (core/alloc/std/test/proc_macro) for. Each of these triples will
+# be bootstrapped from the build triple themselves. In other words, this is the list of triples for
+# which to build a library that can CROSS-COMPILE to that triple.
+#
+# Defaults to `host`. If you set this explicitly, you likely want to add all
+# host triples to this list as well in order for those host toolchains to be
+# able to compile programs for their native target.
+target = ["@BUILD_TRIPLE@", "@TARGET_TRIPLE@"]
+
+# Use this directory to store build artifacts. Paths are relative to the current directory, not to
+# the root of the repository.
+#build-dir = "build"
+
+# Instead of downloading the src/stage0.json version of Cargo specified, use
+# this Cargo binary instead to build all Rust code
+# If you set this, you likely want to set `rustc` as well.
+#cargo = "/path/to/cargo"
+
+# Instead of downloading the src/stage0.json version of the compiler
+# specified, use this rustc binary instead as the stage0 snapshot compiler.
+# If you set this, you likely want to set `cargo` as well.
+#rustc = "/path/to/rustc"
+
+# Instead of downloading the src/stage0.json version of rustfmt specified,
+# use this rustfmt binary instead as the stage0 snapshot rustfmt.
+#rustfmt = "/path/to/rustfmt"
+
+# Whether to build documentation by default. If false, rustdoc and
+# friends will still be compiled but they will not be used to generate any
+# documentation.
+#
+# You can still build documentation when this is disabled by explicitly passing paths,
+# e.g. `x doc library`.
+docs = false
+
+# Flag to specify whether CSS, JavaScript, and HTML are minified when
+# docs are generated. JSON is always minified, because it's enormous,
+# and generated in already-minified form from the beginning.
+#docs-minification = true
+
+# Flag to specify whether private items should be included in the library docs.
+#library-docs-private-items = false
+
+# Indicate whether to build compiler documentation by default.
+# You can still build documentation when this is disabled by explicitly passing a path: `x doc compiler`.
+#compiler-docs = false
+
+# Indicate whether git submodules are managed and updated automatically.
+submodules = false
+
+# The path to (or name of) the GDB executable to use. This is only used for
+# executing the debuginfo test suite.
+#gdb = "gdb"
+
+# The node.js executable to use. Note that this is only used for the emscripten
+# target when running tests, otherwise this can be omitted.
+#nodejs = "node"
+
+# Python interpreter to use for various tasks throughout the build, notably
+# rustdoc tests, the lldb python interpreter, and some dist bits and pieces.
+#
+# Defaults to the Python interpreter used to execute x.py.
+#python = "python"
+
+# The path to the REUSE executable to use. Note that REUSE is not required in
+# most cases, as our tooling relies on a cached (and shrunk) copy of the
+# REUSE output present in the git repository and in our source tarballs.
+#
+# REUSE is only needed if your changes caused the overall licensing of the
+# repository to change, and the cached copy has to be regenerated.
+#
+# Defaults to the "reuse" command in the system path.
+#reuse = "reuse"
+
+# Force Cargo to check that Cargo.lock describes the precise dependency
+# set that all the Cargo.toml files create, instead of updating it.
+locked-deps = true
+
+# Indicate whether the vendored sources are used for Rust dependencies or not
+#
+# Vendoring requires additional setup. We recommend using the pre-generated source tarballs if you
+# want to use vendoring. See
+# https://forge.rust-lang.org/infra/other-installation-methods.html#source-code.
+vendor = true
+
+# Typically the build system will build the Rust compiler twice. The second
+# compiler, however, will simply use its own libraries to link against. If you
+# would rather to perform a full bootstrap, compiling the compiler three times,
+# then you can set this option to true.
+#
+# This is only useful for verifying that rustc generates reproducible builds.
+#full-bootstrap = false
+
+# Enable a build of the extended Rust tool set which is not only the compiler
+# but also tools such as Cargo. This will also produce "combined installers"
+# which are used to install Rust and Cargo together. This is disabled by
+# default. The `tools` option (immediately below) specifies which tools should
+# be built if `extended = true`.
+extended = true
+
+# Set of tools to be included in the installation.
+#
+# If `extended = false`, the only one of these built by default is rustdoc.
+#
+# If `extended = true`, they're all included, with the exception of
+# rust-demangler which additionally requires `profiler = true` to be set.
+#
+# If any enabled tool fails to build, the installation fails.
+tools = [
+ "cargo",
+ "rustdoc",
+]
+
+# Verbosity level: 0 == not verbose, 1 == verbose, 2 == very verbose, 3 == print environment variables on each rustc invocation
+verbose = 1
+
+# Build the sanitizer runtimes
+#sanitizers = false
+
+# Build the profiler runtime (required when compiling with options that depend
+# on this runtime, such as `-C profile-generate` or `-C instrument-coverage`).
+#profiler = false
+
+# Indicates whether the native libraries linked into Cargo will be statically
+# linked or not.
+#cargo-native-static = false
+
+# Run the build with low priority, by setting the process group's "nice" value
+# to +10 on Unix platforms, and by using a "low priority" job object on Windows.
+#low-priority = false
+
+# Arguments passed to the `./configure` script, used during distcheck. You
+# probably won't fill this in but rather it's filled in by the `./configure`
+# script. Useful for debugging.
+#configure-args = []
+
+# Indicates that a local rebuild is occurring instead of a full bootstrap,
+# essentially skipping stage0 as the local compiler is recompiling itself again.
+# Useful for modifying only the stage2 compiler without having to pass `--keep-stage 0` each time.
+#local-rebuild = false
+
+# Print out how long each rustbuild step took (mostly intended for CI and
+# tracking over time)
+#print-step-timings = false
+
+# Print out resource usage data for each rustbuild step, as defined by the Unix
+# struct rusage. (Note that this setting is completely unstable: the data it
+# captures, what platforms it supports, the format of its associated output, and
+# this setting's very existence, are all subject to change.)
+#print-step-rusage = false
+
+# Always patch binaries for usage with Nix toolchains. If `true` then binaries
+# will be patched unconditionally. If `false` or unset, binaries will be patched
+# only if the current distribution is NixOS. This option is useful when using
+# a Nix toolchain on non-NixOS distributions.
+#patch-binaries-for-nix = false
+
+# Collect information and statistics about the current build and writes it to
+# disk. Enabling this or not has no impact on the resulting build output. The
+# schema of the file generated by the build metrics feature is unstable, and
+# this is not intended to be used during local development.
+#metrics = false
+
+# =============================================================================
+# General install configuration options
+# =============================================================================
+[install]
+
+# Where to install the generated toolchain. Must be an absolute path.
+prefix = "@PREFIX@"
+
+# Where to install system configuration files
+# If this is a relative path, it will get installed in `prefix` above
+sysconfdir = "etc"
+
+# Where to install documentation in `prefix` above
+#docdir = "share/doc/rust"
+
+# Where to install binaries in `prefix` above
+#bindir = "bin"
+
+# Where to install libraries in `prefix` above
+#libdir = "lib"
+
+# Where to install man pages in `prefix` above
+#mandir = "share/man"
+
+# Where to install data in `prefix` above
+#datadir = "share"
+
+# =============================================================================
+# Options for compiling Rust code itself
+# =============================================================================
+[rust]
+
+# Whether or not to optimize the compiler and standard library.
+# WARNING: Building with optimize = false is NOT SUPPORTED. Due to bootstrapping,
+# building without optimizations takes much longer than optimizing. Further, some platforms
+# fail to build without this optimization (c.f. #65352).
+#optimize = true
+
+# Indicates that the build should be configured for debugging Rust. A
+# `debug`-enabled compiler and standard library will be somewhat
+# slower (due to e.g. checking of debug assertions) but should remain
+# usable.
+#
+# Note: If this value is set to `true`, it will affect a number of
+# configuration options below as well, if they have been left
+# unconfigured in this file.
+#
+# Note: changes to the `debug` setting do *not* affect `optimize`
+# above. In theory, a "maximally debuggable" environment would
+# set `optimize` to `false` above to assist the introspection
+# facilities of debuggers like lldb and gdb. To recreate such an
+# environment, explicitly set `optimize` to `false` and `debug`
+# to `true`. In practice, everyone leaves `optimize` set to
+# `true`, because an unoptimized rustc with debugging
+# enabled becomes *unusably slow* (e.g. rust-lang/rust#24840
+# reported a 25x slowdown) and bootstrapping the supposed
+# "maximally debuggable" environment (notably libstd) takes
+# hours to build.
+#
+#debug = false
+
+# Whether to download the stage 1 and 2 compilers from CI.
+# This is mostly useful for tools; if you have changes to `compiler/` or `library/` they will be ignored.
+#
+# Set this to "if-unchanged" to only download if the compiler and standard library have not been modified.
+# Set this to `true` to download unconditionally (useful if e.g. you are only changing doc-comments).
+#download-rustc = false
+
+# Number of codegen units to use for each compiler invocation. A value of 0
+# means "the number of cores on this machine", and 1+ is passed through to the
+# compiler.
+#
+# Uses the rustc defaults: https://doc.rust-lang.org/rustc/codegen-options/index.html#codegen-units
+#codegen-units = if incremental { 256 } else { 16 }
+
+# Sets the number of codegen units to build the standard library with,
+# regardless of what the codegen-unit setting for the rest of the compiler is.
+# NOTE: building with anything other than 1 is known to occasionally have bugs.
+# See https://github.com/rust-lang/rust/issues/83600.
+#codegen-units-std = codegen-units
+
+# Whether or not debug assertions are enabled for the compiler and standard library.
+# These can help find bugs at the cost of a small runtime slowdown.
+#
+# Defaults to rust.debug value
+#debug-assertions = rust.debug (boolean)
+
+# Whether or not debug assertions are enabled for the standard library.
+# Overrides the `debug-assertions` option, if defined.
+#
+# Defaults to rust.debug-assertions value
+#debug-assertions-std = rust.debug-assertions (boolean)
+
+# Whether or not to leave debug! and trace! calls in the rust binary.
+#
+# Defaults to rust.debug-assertions value
+#
+# If you see a message from `tracing` saying "some trace filter directives would enable traces that
+# are disabled statically" because `max_level_info` is enabled, set this value to `true`.
+#debug-logging = rust.debug-assertions (boolean)
+
+# Whether or not overflow checks are enabled for the compiler and standard
+# library.
+#
+# Defaults to rust.debug value
+#overflow-checks = rust.debug (boolean)
+
+# Whether or not overflow checks are enabled for the standard library.
+# Overrides the `overflow-checks` option, if defined.
+#
+# Defaults to rust.overflow-checks value
+#overflow-checks-std = rust.overflow-checks (boolean)
+
+# Debuginfo level for most of Rust code, corresponds to the `-C debuginfo=N` option of `rustc`.
+# `0` - no debug info
+# `1` - line tables only - sufficient to generate backtraces that include line
+# information and inlined functions, set breakpoints at source code
+# locations, and step through execution in a debugger.
+# `2` - full debug info with variable and type information
+# Can be overridden for specific subsets of Rust code (rustc, std or tools).
+# Debuginfo for tests run with compiletest is not controlled by this option
+# and needs to be enabled separately with `debuginfo-level-tests`.
+#
+# Note that debuginfo-level = 2 generates several gigabytes of debuginfo
+# and will slow down the linking process significantly.
+#debuginfo-level = if rust.debug { 1 } else { 0 }
+
+# Debuginfo level for the compiler.
+#debuginfo-level-rustc = rust.debuginfo-level
+
+# Debuginfo level for the standard library.
+#debuginfo-level-std = rust.debuginfo-level
+
+# Debuginfo level for the tools.
+#debuginfo-level-tools = rust.debuginfo-level
+
+# Debuginfo level for the test suites run with compiletest.
+# FIXME(#61117): Some tests fail when this option is enabled.
+#debuginfo-level-tests = 0
+
+# Should rustc be build with split debuginfo? Default is platform dependent.
+# Valid values are the same as those accepted by `-C split-debuginfo`
+# (`off`/`unpacked`/`packed`).
+#
+# On Linux, split debuginfo is disabled by default.
+#
+# On Apple platforms, unpacked split debuginfo is used by default. Unpacked
+# debuginfo does not run `dsymutil`, which packages debuginfo from disparate
+# object files into a single `.dSYM` file. `dsymutil` adds time to builds for
+# no clear benefit, and also makes it more difficult for debuggers to find
+# debug info. The compiler currently defaults to running `dsymutil` to preserve
+# its historical default, but when compiling the compiler itself, we skip it by
+# default since we know it's safe to do so in that case.
+#
+# On Windows platforms, packed debuginfo is the only supported option,
+# producing a `.pdb` file.
+#split-debuginfo = if linux { off } else if windows { packed } else if apple { unpacked }
+
+# Whether or not `panic!`s generate backtraces (RUST_BACKTRACE)
+#backtrace = true
+
+# Whether to always use incremental compilation when building rustc
+#incremental = false
+
+# Build a multi-threaded rustc
+# FIXME(#75760): Some UI tests fail when this option is enabled.
+# NOTE: This option is NOT SUPPORTED. See #48685.
+parallel-compiler = true
+
+# The default linker that will be hard-coded into the generated
+# compiler for targets that don't specify a default linker explicitly
+# in their target specifications. Note that this is not the linker
+# used to link said compiler. It can also be set per-target (via the
+# `[target.<triple>]` block), which may be useful in a cross-compilation
+# setting.
+#
+# See https://doc.rust-lang.org/rustc/codegen-options/index.html#linker for more information.
+default-linker = "gcc"
+
+# The "channel" for the Rust build to produce. The stable/beta channels only
+# allow using stable features, whereas the nightly and dev channels allow using
+# nightly features
+#channel = "dev"
+
+# A descriptive string to be appended to `rustc --version` output, which is
+# also used in places like debuginfo `DW_AT_producer`. This may be useful for
+# supplementary build information, like distro-specific package versions.
+#
+# The Rust compiler will differentiate between versions of itself, including
+# based on this string, which means that if you wish to be compatible with
+# upstream Rust you need to set this to "". However, note that if you are not
+# actually compatible -- for example if you've backported patches that change
+# behavior -- this may lead to miscompilations or other bugs.
+#description = ""
+
+# The root location of the musl installation directory. The library directory
+# will also need to contain libunwind.a for an unwinding implementation. Note
+# that this option only makes sense for musl targets that produce statically
+# linked binaries.
+#
+# Defaults to /usr on musl hosts. Has no default otherwise.
+#musl-root = <platform specific> (path)
+
+# By default the `rustc` executable is built with `-Wl,-rpath` flags on Unix
+# platforms to ensure that the compiler is usable by default from the build
+# directory (as it links to a number of dynamic libraries). This may not be
+# desired in distributions, for example.
+#rpath = true
+
+# Prints each test name as it is executed, to help debug issues in the test harness itself.
+#verbose-tests = false
+
+# Flag indicating whether tests are compiled with optimizations (the -O flag).
+#optimize-tests = true
+
+# Flag indicating whether codegen tests will be run or not. If you get an error
+# saying that the FileCheck executable is missing, you may want to disable this.
+# Also see the target's llvm-filecheck option.
+#codegen-tests = true
+
+# Flag indicating whether git info will be retrieved from .git automatically.
+# Having the git information can cause a lot of rebuilds during development.
+#
+# FIXME(#76720): this can causes bugs if different compilers reuse the same metadata cache.
+#omit-git-hash = if rust.channel == "dev" { true } else { false }
+
+# Whether to create a source tarball by default when running `x dist`.
+#
+# You can still build a source tarball when this is disabled by explicitly passing `x dist rustc-src`.
+#dist-src = true
+
+# After building or testing an optional component (e.g. the nomicon or reference), append the
+# result (broken, compiling, testing) into this JSON file.
+#save-toolstates = <none> (path)
+
+# This is an array of the codegen backends that will be compiled for the rustc
+# that's being compiled. The default is to only build the LLVM codegen backend,
+# and currently the only standard options supported are `"llvm"`, `"cranelift"`
+# and `"gcc"`. The first backend in this list will be used as default by rustc
+# when no explicit backend is specified.
+#codegen-backends = ["llvm"]
+
+# Indicates whether LLD will be compiled and made available in the sysroot for
+# rustc to execute.
+#lld = false
+
+# Indicates whether LLD will be used to link Rust crates during bootstrap on
+# supported platforms. The LLD from the bootstrap distribution will be used
+# and not the LLD compiled during the bootstrap.
+#
+# LLD will not be used if we're cross linking.
+#
+# Explicitly setting the linker for a target will override this option when targeting MSVC.
+#use-lld = false
+
+# Indicates whether some LLVM tools, like llvm-objdump, will be made available in the
+# sysroot.
+#llvm-tools = false
+
+# Whether to deny warnings in crates
+#deny-warnings = true
+
+# Print backtrace on internal compiler errors during bootstrap
+#backtrace-on-ice = false
+
+# Whether to verify generated LLVM IR
+#verify-llvm-ir = false
+
+# Compile the compiler with a non-default ThinLTO import limit. This import
+# limit controls the maximum size of functions imported by ThinLTO. Decreasing
+# will make code compile faster at the expense of lower runtime performance.
+#thin-lto-import-instr-limit = if incremental { 10 } else { LLVM default (currently 100) }
+
+# Map debuginfo paths to `/rust/$sha/...`.
+# Useful for reproducible builds. Generally only set for releases
+remap-debuginfo = true
+
+# Link the compiler and LLVM against `jemalloc` instead of the default libc allocator.
+# This option is only tested on Linux and OSX.
+#jemalloc = false
+
+# Run tests in various test suites with the "nll compare mode" in addition to
+# running the tests in normal mode. Largely only used on CI and during local
+# development of NLL
+#test-compare-mode = false
+
+# Global default for llvm-libunwind for all targets. See the target-specific
+# documentation for llvm-libunwind below. Note that the target-specific
+# option will override this if set.
+#llvm-libunwind = 'no'
+
+# Enable Windows Control Flow Guard checks in the standard library.
+# This only applies from stage 1 onwards, and only for Windows targets.
+#control-flow-guard = false
+
+# Enable symbol-mangling-version v0. This can be helpful when profiling rustc,
+# as generics will be preserved in symbols (rather than erased into opaque T).
+# When no setting is given, the new scheme will be used when compiling the
+# compiler and its tools and the legacy scheme will be used when compiling the
+# standard library.
+# If an explicit setting is given, it will be used for all parts of the codebase.
+#new-symbol-mangling = true|false (see comment)
+
+# Select LTO mode that will be used for compiling rustc. By default, thin local LTO
+# (LTO within a single crate) is used (like for any Rust crate). You can also select
+# "thin" or "fat" to apply Thin/Fat LTO to the `rustc_driver` dylib, or "off" to disable
+# LTO entirely.
+#lto = "thin-local"
+
+# Build compiler with the optimization enabled and -Zvalidate-mir, currently only for `std`
+#validate-mir-opts = 3
+
+# Copy the linker, DLLs, and various libraries from MinGW into the rustc toolchain.
+# Only applies when the host or target is pc-windows-gnu.
+#include-mingw-linker = true
+
+# =============================================================================
+# Options for specific targets
+#
+# Each of the following options is scoped to the specific target triple in
+# question and is used for determining how to compile each target.
+# =============================================================================
+[target.@BUILD_TRIPLE@]
+
+# C compiler to be used to compile C code. Note that the
+# default value is platform specific, and if not specified it may also depend on
+# what platform is crossing to what platform.
+# See `src/bootstrap/cc_detect.rs` for details.
+cc = "gcc"
+
+# C++ compiler to be used to compile C++ code (e.g. LLVM and our LLVM shims).
+# This is only used for host targets.
+# See `src/bootstrap/cc_detect.rs` for details.
+cxx = "g++"
+
+# Archiver to be used to assemble static libraries compiled from C/C++ code.
+# Note: an absolute path should be used, otherwise LLVM build will break.
+#ar = "ar" (path)
+
+# Ranlib to be used to assemble static libraries compiled from C/C++ code.
+# Note: an absolute path should be used, otherwise LLVM build will break.
+#ranlib = "ranlib" (path)
+
+# Linker to be used to bootstrap Rust code. Note that the
+# default value is platform specific, and if not specified it may also depend on
+# what platform is crossing to what platform.
+# Setting this will override the `use-lld` option for Rust code when targeting MSVC.
+linker = "gcc"
+
+# Path to the `llvm-config` binary of the installation of a custom LLVM to link
+# against. Note that if this is specified we don't compile LLVM at all for this
+# target.
+#llvm-config = <none> (path)
+
+# Override detection of whether this is a Rust-patched LLVM. This would be used
+# in conjunction with either an llvm-config or build.submodules = false.
+#llvm-has-rust-patches = if llvm-config { false } else { true }
+
+# Normally the build system can find LLVM's FileCheck utility, but if
+# not, you can specify an explicit file name for it.
+#llvm-filecheck = "/path/to/llvm-version/bin/FileCheck"
+
+# Use LLVM libunwind as the implementation for Rust's unwinder.
+# Accepted values are 'in-tree' (formerly true), 'system' or 'no' (formerly false).
+# This option only applies for Linux and Fuchsia targets.
+# On Linux target, if crt-static is not enabled, 'no' means dynamic link to
+# `libgcc_s.so`, 'in-tree' means static link to the in-tree build of llvm libunwind
+# and 'system' means dynamic link to `libunwind.so`. If crt-static is enabled,
+# the behavior is depend on the libc. On musl target, 'no' and 'in-tree' both
+# means static link to the in-tree build of llvm libunwind, and 'system' means
+# static link to `libunwind.a` provided by system. Due to the limitation of glibc,
+# it must link to `libgcc_eh.a` to get a working output, and this option have no effect.
+#llvm-libunwind = 'no' if Linux, 'in-tree' if Fuchsia
+
+# If this target is for Android, this option will be required to specify where
+# the NDK for the target lives. This is used to find the C compiler to link and
+# build native code.
+# See `src/bootstrap/cc_detect.rs` for details.
+#android-ndk = <none> (path)
+
+# Build the sanitizer runtimes for this target.
+# This option will override the same option under [build] section.
+#sanitizers = build.sanitizers (bool)
+
+# Build the profiler runtime for this target(required when compiling with options that depend
+# on this runtime, such as `-C profile-generate` or `-C instrument-coverage`).
+# This option will override the same option under [build] section.
+#profiler = build.profiler (bool)
+
+# Force static or dynamic linkage of the standard library for this target. If
+# this target is a host for rustc, this will also affect the linkage of the
+# compiler itself. This is useful for building rustc on targets that normally
+# only use static libraries. If unset, the target's default linkage is used.
+#crt-static = <platform-specific> (bool)
+
+# The root location of the musl installation directory. The library directory
+# will also need to contain libunwind.a for an unwinding implementation. Note
+# that this option only makes sense for musl targets that produce statically
+# linked binaries.
+#musl-root = build.musl-root (path)
+
+# The full path to the musl libdir.
+#musl-libdir = musl-root/lib
+
+# The root location of the `wasm32-wasi` sysroot. Only used for the
+# `wasm32-wasi` target. If you are building wasm32-wasi target, make sure to
+# create a `[target.wasm32-wasi]` section and move this field there.
+#wasi-root = <none> (path)
+
+# Used in testing for configuring where the QEMU images are located, you
+# probably don't want to use this.
+#qemu-rootfs = <none> (path)
+
+# Skip building the `std` library for this target. Enabled by default for
+# target triples containing `-none`, `nvptx`, `switch`, or `-uefi`.
+#no-std = <platform-specific> (bool)
+
+[target.@TARGET_TRIPLE@]
+cc = "@COMPILER_PREFIX@gcc"
+cxx = "@COMPILER_PREFIX@g++"
+ar = "@COMPILER_PREFIX@ar"
+ranlib = "@COMPILER_PREFIX@ranlib"
+linker = "@COMPILER_PREFIX@gcc"
+
+# =============================================================================
+# Distribution options
+#
+# These options are related to distribution, mostly for the Rust project itself.
+# You probably won't need to concern yourself with any of these options
+# =============================================================================
+[dist]
+
+# This is the folder of artifacts that the build system will sign. All files in
+# this directory will be signed with the default gpg key using the system `gpg`
+# binary. The `asc` and `sha256` files will all be output into the standard dist
+# output folder (currently `build/dist`)
+#
+# This folder should be populated ahead of time before the build system is
+# invoked.
+#sign-folder = <none> (path)
+
+# The remote address that all artifacts will eventually be uploaded to. The
+# build system generates manifests which will point to these urls, and for the
+# manifests to be correct they'll have to have the right URLs encoded.
+#
+# Note that this address should not contain a trailing slash as file names will
+# be appended to it.
+#upload-addr = <none> (URL)
+
+# Whether to build a plain source tarball to upload
+# We disable that on Windows not to override the one already uploaded on S3
+# as the one built on Windows will contain backslashes in paths causing problems
+# on linux
+#src-tarball = true
+
+# Whether to allow failures when building tools
+#missing-tools = false
+
+# List of compression formats to use when generating dist tarballs. The list of
+# formats is provided to rust-installer, which must support all of them.
+#
+# This list must be non-empty.
+#compression-formats = ["gz", "xz"]
+
+# How much time should be spent compressing the tarballs. The better the
+# compression profile, the longer compression will take.
+#
+# Available options: fast, balanced, best
+#compression-profile = "fast"
diff --git a/config/uclibc-ng-1.0.34-arm-v7em-uclinuxeabihf.config b/config/uclibc-ng-1.0.42-arm-v7em-uclinuxeabihf.config
index e45d686..ff202da 100644
--- a/config/uclibc-ng-1.0.34-arm-v7em-uclinuxeabihf.config
+++ b/config/uclibc-ng-1.0.42-arm-v7em-uclinuxeabihf.config
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# uClibc-ng 1.0.34 C Library Configuration
+# uClibc-ng 1.0.42 C Library Configuration
#
# TARGET_aarch64 is not set
# TARGET_alpha is not set
@@ -16,6 +16,7 @@ TARGET_arm=y
# TARGET_hppa is not set
# TARGET_i386 is not set
# TARGET_ia64 is not set
+# TARGET_kvx is not set
# TARGET_lm32 is not set
# TARGET_m68k is not set
# TARGET_metag is not set
@@ -32,6 +33,8 @@ TARGET_arm=y
# TARGET_tile is not set
# TARGET_x86_64 is not set
# TARGET_xtensa is not set
+TARGET_LDSO_NAME="ld-uClibc"
+TARGET_ARCH_BITS=32
#
# Target Architecture Features and Options
@@ -113,6 +116,7 @@ UCLIBC_HAS_GNU_ERROR=y
UCLIBC_BSD_SPECIFIC=y
UCLIBC_HAS_BSD_ERR=y
# UCLIBC_HAS_OBSOLETE_BSD_SIGNAL is not set
+# UCLIBC_HAS_BSD_B64_NTOP_B64_PTON is not set
# UCLIBC_HAS_OBSOLETE_SYSV_SIGNAL is not set
# UCLIBC_NTP_LEGACY is not set
# UCLIBC_SV4_DEPRECATED is not set
@@ -135,6 +139,10 @@ UCLIBC_USE_NETLINK=y
# UCLIBC_HAS_COMPAT_RES_STATE is not set
# UCLIBC_HAS_EXTRA_COMPAT_RES_STATE is not set
# UCLIBC_HAS_RESOLVER_SUPPORT is not set
+# UCLIBC_DNSRAND_MODE_URANDOM is not set
+# UCLIBC_DNSRAND_MODE_CLOCK is not set
+UCLIBC_DNSRAND_MODE_PRNGPLUS=y
+# UCLIBC_DNSRAND_MODE_SIMPLECOUNTER is not set
#
# String and Stdio Support
diff --git a/config/uclibc-ng-1.0.34-arm-v7m-uclinuxeabi.config b/config/uclibc-ng-1.0.42-arm-v7m-uclinuxeabi.config
index ce4e442..243a478 100644
--- a/config/uclibc-ng-1.0.34-arm-v7m-uclinuxeabi.config
+++ b/config/uclibc-ng-1.0.42-arm-v7m-uclinuxeabi.config
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# uClibc-ng 1.0.34 C Library Configuration
+# uClibc-ng 1.0.42 C Library Configuration
#
# TARGET_aarch64 is not set
# TARGET_alpha is not set
@@ -16,6 +16,7 @@ TARGET_arm=y
# TARGET_hppa is not set
# TARGET_i386 is not set
# TARGET_ia64 is not set
+# TARGET_kvx is not set
# TARGET_lm32 is not set
# TARGET_m68k is not set
# TARGET_metag is not set
@@ -32,6 +33,8 @@ TARGET_arm=y
# TARGET_tile is not set
# TARGET_x86_64 is not set
# TARGET_xtensa is not set
+TARGET_LDSO_NAME="ld-uClibc"
+TARGET_ARCH_BITS=32
#
# Target Architecture Features and Options
@@ -113,6 +116,7 @@ UCLIBC_HAS_GNU_ERROR=y
UCLIBC_BSD_SPECIFIC=y
UCLIBC_HAS_BSD_ERR=y
# UCLIBC_HAS_OBSOLETE_BSD_SIGNAL is not set
+# UCLIBC_HAS_BSD_B64_NTOP_B64_PTON is not set
# UCLIBC_HAS_OBSOLETE_SYSV_SIGNAL is not set
# UCLIBC_NTP_LEGACY is not set
# UCLIBC_SV4_DEPRECATED is not set
@@ -135,6 +139,10 @@ UCLIBC_USE_NETLINK=y
# UCLIBC_HAS_COMPAT_RES_STATE is not set
# UCLIBC_HAS_EXTRA_COMPAT_RES_STATE is not set
# UCLIBC_HAS_RESOLVER_SUPPORT is not set
+# UCLIBC_DNSRAND_MODE_URANDOM is not set
+# UCLIBC_DNSRAND_MODE_CLOCK is not set
+UCLIBC_DNSRAND_MODE_PRNGPLUS=y
+# UCLIBC_DNSRAND_MODE_SIMPLECOUNTER is not set
#
# String and Stdio Support
diff --git a/debian/bin/gencontrol.sh b/debian/bin/gencontrol.sh
index 0ce14e8..5b94ce9 100755
--- a/debian/bin/gencontrol.sh
+++ b/debian/bin/gencontrol.sh
@@ -30,13 +30,7 @@ EOF
if [ $# -gt 0 ]; then
configs=( "${@}" )
else
- if [ "$(lsb_release -r -s)" = "16.04" ]; then
- # Skip the clang toolchains on Ubuntu Xenial
- configs=( $(ls ptxconfigs/*.ptxconfig | grep -v clang) )
- else
- # Skip the corresponding non-clang toolchains
- configs=( $(comm -3 <(ls ptxconfigs/*.ptxconfig) <(ls ptxconfigs/*.ptxconfig | sed -n 's/_clang-[^_]*_/_/p')) )
- fi
+ configs=( ptxconfigs/*.ptxconfig )
fi
for configfile in "${configs[@]}"; do
toolchain_name="$(basename "${configfile}" .ptxconfig | sed s/_/-/g)"
diff --git a/debian/changelog b/debian/changelog
index a3ec1c8..90c9945 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,45 @@
+oselas.toolchain (2023.07.0-1) unstable; urgency=medium
+
+ * new upstream version
+
+ -- Michael Olbrich <m.olbrich@pengutronix.de> Wed, 05 Jul 2023 16:03:59 +0200
+
+oselas.toolchain (2023.XX.0-1) unstable; urgency=medium
+
+ * new development version
+
+ -- Michael Olbrich <m.olbrich@pengutronix.de> Thu, 08 Jun 2023 12:30:11 +0200
+
+oselas.toolchain (2022.10.0-1) unstable; urgency=medium
+
+ * new upstream version
+
+ -- Michael Olbrich <m.olbrich@pengutronix.de> Fri, 28 Oct 2022 09:46:51 +0200
+
+oselas.toolchain (2022.XX.0-1) unstable; urgency=medium
+
+ * new upstream version
+
+ -- Michael Olbrich <mol@pengutronix.de> Tue, 27 Sep 2022 13:03:38 +0200
+
+oselas.toolchain (2021.07.0-1) unstable; urgency=medium
+
+ * new upstream version
+
+ -- Michael Olbrich <mol@pengutronix.de> Tue, 06 Jul 2021 09:09:11 +0200
+
+oselas.toolchain (2021.XX.0-1) unstable; urgency=medium
+
+ * new upstream version
+
+ -- Michael Olbrich <mol@pengutronix.de> Wed, 19 May 2021 11:45:00 +0200
+
+oselas.toolchain (2020.08.0-1) unstable; urgency=medium
+
+ * new upstream version
+
+ -- Michael Olbrich <m.olbrich@pengutronix.de> Fri, 28 Aug 2020 10:02:27 +0200
+
oselas.toolchain (2019.09.0-1) unstable; urgency=medium
* new upstream version
diff --git a/debian/rules b/debian/rules
index d08735b..3143bf2 100755
--- a/debian/rules
+++ b/debian/rules
@@ -21,11 +21,10 @@ debian/ptxdistrc:
fi >> $@
PTXDIST_ENV := \
- PTXDIST_PTXRC=$(CURDIR)/debian/ptxdistrc \
- CROSS_GDB_WITHOUT_PYTHON=n
+ PTXDIST_PTXRC=$(CURDIR)/debian/ptxdistrc
override_dh_auto_build: debian/ptxdistrc
- $(PTXDIST_ENV) make -f build_all_v2.mk ARG="-j -q go" PTXDIST="$(PTXDIST)" $(TOOLCHAINS)
+ $(PTXDIST_ENV) make -j4 -f build_all_v2.mk ARG="-j -q go" PTXDIST="$(PTXDIST)" $(TOOLCHAINS)
override_dh_auto_install-arch:
rm -rf $(CURDIR)/debian/tmp/opt
@@ -35,6 +34,9 @@ override_dh_auto_install-arch:
ls -d $(CURDIR)/debian/tmp/opt/OSELAS.Toolchain-*/*/*/*/lib \
$(CURDIR)/debian/tmp/opt/OSELAS.Toolchain-*/*/*/lib/gcc/*/* \
| sed 's;$(CURDIR)/debian/tmp;-X;' >> $(CURDIR)/debian/excludes
+ ls -d $(CURDIR)/debian/tmp/opt/OSELAS.Toolchain-*/*/*/lib/rustlib/*/lib \
+ | grep -v /x86_64-unknown-linux-gnu/lib \
+ | sed 's;$(CURDIR)/debian/tmp;-X;' >> $(CURDIR)/debian/excludes
override_dh_auto_clean:
dh_auto_clean
diff --git a/fixup_ptxconfigs.sh b/fixup_ptxconfigs.sh
index bce5467..954a058 100755
--- a/fixup_ptxconfigs.sh
+++ b/fixup_ptxconfigs.sh
@@ -19,8 +19,8 @@ fixup()
local config="${1}"
# version
- PTXCONF_CONFIGFILE_VERSION="2020.08.0"
- PTXCONF_PROJECT="OSELAS.Toolchain-2020.XX.0"
+ PTXCONF_CONFIGFILE_VERSION="2023.07.0"
+ PTXCONF_PROJECT="OSELAS.Toolchain-2023.07.0"
PTXCONF_PROJECT="${PTXCONF_PROJECT##*/}"
# defaults
@@ -112,6 +112,9 @@ fixup()
riscv64*)
PTXCONF_GLIBC_HEADERS_FAKE_CROSS="-D__riscv_atomic -D__riscv_xlen=64 -D__riscv_flen=64 -D__riscv_float_abi_double"
;;
+ loongarch64*)
+ PTXCONF_GLIBC_HEADERS_FAKE_CROSS="-D__loongarch -D__loongarch_lp64 -D__loongarch_double_float"
+ ;;
*)
;;
esac
@@ -126,6 +129,9 @@ fixup()
i?86*)
PTXCONF_ARCH_I386=y
;;
+ mips64*)
+ PTXCONF_ARCH_MIPS64=y
+ ;;
mips*)
PTXCONF_ARCH_MIPS=y
;;
@@ -141,6 +147,9 @@ fixup()
riscv64*)
PTXCONF_ARCH_RISCV64=y
;;
+ loongarch64*)
+ PTXCONF_ARCH_LOONGARCH=y
+ ;;
*)
echo "unsupported GNU_TARGET: ${PTXCONF_GNU_TARGET}"
exit 1
@@ -204,7 +213,7 @@ fixup()
;;
aarch64-v8a-linux-gnu)
- PTXCONF_CROSS_GCC_CONFIG_EXTRA="--with-abi=lp64 --with-arch=armv8-a"
+ PTXCONF_CROSS_GCC_CONFIG_EXTRA="--with-abi=lp64 --with-arch=armv8-a --with-specs='%{!pg:%{!fomit-frame-pointer:%{!fno-omit-frame-pointer:-fomit-frame-pointer}}}'"
;;
i486-unknown-linux-gnu)
@@ -222,6 +231,9 @@ fixup()
x86_64-unknown-linux-gnu)
;;
+ x86_64-v3-linux-gnu)
+ PTXCONF_CROSS_GCC_CONFIG_EXTRA="--with-arch=x86-64-v3 --with-tune=generic"
+ ;;
mipsel-softfloat-linux-gnu|mips-softfloat-linux-gnu)
PTXCONF_CROSS_GCC_CONFIG_EXTRA="--with-float=soft"
@@ -245,6 +257,9 @@ fixup()
riscv64-linux-gnu)
#FIXME
;;
+ loongarch64-linux-gnu)
+ #FIXME
+ ;;
*)
echo "unknown GNU_TARGET: ${PTXCONF_GNU_TARGET}"
@@ -259,9 +274,9 @@ fixup()
#
# PTXCONF_GLIBC_CONFIG_EXTRA_CROSS
#
- PTXCONF_GLIBC_CONFIG_EXTRA_CROSS="--enable-stackguard-randomization --enable-stack-protector=strong"
+ PTXCONF_GLIBC_CONFIG_EXTRA_CROSS="--enable-stack-protector=strong"
case "${PTXCONF_GNU_TARGET}" in
- x86_64-unknown-linux-gnu)
+ x86_64-*-linux-gnu)
PTXCONF_GLIBC_CONFIG_EXTRA_CROSS="${PTXCONF_GLIBC_CONFIG_EXTRA_CROSS} --enable-mathvec"
;;
esac
@@ -291,6 +306,12 @@ fixup()
5.[0123456789]*)
PTXCONF_GLIBC_ENABLE_KERNEL="3.16"
;;
+ 6.[012]*)
+ PTXCONF_GLIBC_ENABLE_KERNEL="4.9"
+ ;;
+ 6.[0123456789]*)
+ PTXCONF_GLIBC_ENABLE_KERNEL="4.19"
+ ;;
"")
;;
*)
@@ -302,7 +323,7 @@ fixup()
#
# PTXCONF_CROSS_GDB_VERSION
#
- PTXCONF_CROSS_GDB_VERSION="9.2"
+ PTXCONF_CROSS_GDB_VERSION="13.2"
case "${PTXCONF_CROSS_GCC_VERSION}" in
3.*|4.[012].*)
PTXCONF_CROSS_GCC_43=n
@@ -325,7 +346,7 @@ fixup()
linaro-4.[89][-.]*)
PTXCONF_CROSS_GCC_48=y
;;
- 5.*|7.*|8.*|9.*|10.*)
+ 5.*|7.*|8.*|9.*|10.*|11.*|12.*|13.*)
PTXCONF_CROSS_GCC_50=y
;;
*)
diff --git a/patches/binutils-2.40/0001-Fix-version-number-snafu-in-some-configuration-files.patch b/patches/binutils-2.40/0001-Fix-version-number-snafu-in-some-configuration-files.patch
new file mode 100644
index 0000000..b1e3ab2
--- /dev/null
+++ b/patches/binutils-2.40/0001-Fix-version-number-snafu-in-some-configuration-files.patch
@@ -0,0 +1,455 @@
+From: Nick Clifton <nickc@redhat.com>
+Date: Tue, 17 Jan 2023 12:02:56 +0000
+Subject: [PATCH] Fix version number snafu in some configuration files: 2.40.00
+ should be 2.40
+
+---
+ binutils/configure | 20 ++++++++++----------
+ gprof/configure | 20 ++++++++++----------
+ gprofng/configure | 20 ++++++++++----------
+ gprofng/doc/version.texi | 4 ++--
+ gprofng/libcollector/configure | 20 ++++++++++----------
+ ld/configure | 20 ++++++++++----------
+ 6 files changed, 52 insertions(+), 52 deletions(-)
+
+diff --git a/binutils/configure b/binutils/configure
+index 1367c88f52de..3cb797c2b8d4 100755
+--- a/binutils/configure
++++ b/binutils/configure
+@@ -1,6 +1,6 @@
+ #! /bin/sh
+ # Guess values for system-dependent variables and create Makefiles.
+-# Generated by GNU Autoconf 2.69 for binutils 2.40.00.
++# Generated by GNU Autoconf 2.69 for binutils 2.40.
+ #
+ #
+ # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
+@@ -587,8 +587,8 @@ MAKEFLAGS=
+ # Identity of this package.
+ PACKAGE_NAME='binutils'
+ PACKAGE_TARNAME='binutils'
+-PACKAGE_VERSION='2.40.00'
+-PACKAGE_STRING='binutils 2.40.00'
++PACKAGE_VERSION='2.40'
++PACKAGE_STRING='binutils 2.40'
+ PACKAGE_BUGREPORT=''
+ PACKAGE_URL=''
+
+@@ -1401,7 +1401,7 @@ if test "$ac_init_help" = "long"; then
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat <<_ACEOF
+-\`configure' configures binutils 2.40.00 to adapt to many kinds of systems.
++\`configure' configures binutils 2.40 to adapt to many kinds of systems.
+
+ Usage: $0 [OPTION]... [VAR=VALUE]...
+
+@@ -1472,7 +1472,7 @@ fi
+
+ if test -n "$ac_init_help"; then
+ case $ac_init_help in
+- short | recursive ) echo "Configuration of binutils 2.40.00:";;
++ short | recursive ) echo "Configuration of binutils 2.40:";;
+ esac
+ cat <<\_ACEOF
+
+@@ -1631,7 +1631,7 @@ fi
+ test -n "$ac_init_help" && exit $ac_status
+ if $ac_init_version; then
+ cat <<\_ACEOF
+-binutils configure 2.40.00
++binutils configure 2.40
+ generated by GNU Autoconf 2.69
+
+ Copyright (C) 2012 Free Software Foundation, Inc.
+@@ -2099,7 +2099,7 @@ cat >config.log <<_ACEOF
+ This file contains any messages produced by compilers while
+ running configure, to aid debugging if configure makes a mistake.
+
+-It was created by binutils $as_me 2.40.00, which was
++It was created by binutils $as_me 2.40, which was
+ generated by GNU Autoconf 2.69. Invocation command line was
+
+ $ $0 $@
+@@ -3081,7 +3081,7 @@ fi
+
+ # Define the identity of the package.
+ PACKAGE='binutils'
+- VERSION='2.40.00'
++ VERSION='2.40'
+
+
+ cat >>confdefs.h <<_ACEOF
+@@ -15326,7 +15326,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+ # report actual input values of CONFIG_FILES etc. instead of their
+ # values after options handling.
+ ac_log="
+-This file was extended by binutils $as_me 2.40.00, which was
++This file was extended by binutils $as_me 2.40, which was
+ generated by GNU Autoconf 2.69. Invocation command line was
+
+ CONFIG_FILES = $CONFIG_FILES
+@@ -15392,7 +15392,7 @@ _ACEOF
+ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
+ ac_cs_version="\\
+-binutils config.status 2.40.00
++binutils config.status 2.40
+ configured by $0, generated by GNU Autoconf 2.69,
+ with options \\"\$ac_cs_config\\"
+
+diff --git a/gprof/configure b/gprof/configure
+index b45f07931c6e..3e8edd112cb5 100755
+--- a/gprof/configure
++++ b/gprof/configure
+@@ -1,6 +1,6 @@
+ #! /bin/sh
+ # Guess values for system-dependent variables and create Makefiles.
+-# Generated by GNU Autoconf 2.69 for gprof 2.40.00.
++# Generated by GNU Autoconf 2.69 for gprof 2.40.
+ #
+ #
+ # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
+@@ -587,8 +587,8 @@ MAKEFLAGS=
+ # Identity of this package.
+ PACKAGE_NAME='gprof'
+ PACKAGE_TARNAME='gprof'
+-PACKAGE_VERSION='2.40.00'
+-PACKAGE_STRING='gprof 2.40.00'
++PACKAGE_VERSION='2.40'
++PACKAGE_STRING='gprof 2.40'
+ PACKAGE_BUGREPORT=''
+ PACKAGE_URL=''
+
+@@ -1338,7 +1338,7 @@ if test "$ac_init_help" = "long"; then
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat <<_ACEOF
+-\`configure' configures gprof 2.40.00 to adapt to many kinds of systems.
++\`configure' configures gprof 2.40 to adapt to many kinds of systems.
+
+ Usage: $0 [OPTION]... [VAR=VALUE]...
+
+@@ -1409,7 +1409,7 @@ fi
+
+ if test -n "$ac_init_help"; then
+ case $ac_init_help in
+- short | recursive ) echo "Configuration of gprof 2.40.00:";;
++ short | recursive ) echo "Configuration of gprof 2.40:";;
+ esac
+ cat <<\_ACEOF
+
+@@ -1520,7 +1520,7 @@ fi
+ test -n "$ac_init_help" && exit $ac_status
+ if $ac_init_version; then
+ cat <<\_ACEOF
+-gprof configure 2.40.00
++gprof configure 2.40
+ generated by GNU Autoconf 2.69
+
+ Copyright (C) 2012 Free Software Foundation, Inc.
+@@ -1885,7 +1885,7 @@ cat >config.log <<_ACEOF
+ This file contains any messages produced by compilers while
+ running configure, to aid debugging if configure makes a mistake.
+
+-It was created by gprof $as_me 2.40.00, which was
++It was created by gprof $as_me 2.40, which was
+ generated by GNU Autoconf 2.69. Invocation command line was
+
+ $ $0 $@
+@@ -2864,7 +2864,7 @@ fi
+
+ # Define the identity of the package.
+ PACKAGE='gprof'
+- VERSION='2.40.00'
++ VERSION='2.40'
+
+
+ cat >>confdefs.h <<_ACEOF
+@@ -12572,7 +12572,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+ # report actual input values of CONFIG_FILES etc. instead of their
+ # values after options handling.
+ ac_log="
+-This file was extended by gprof $as_me 2.40.00, which was
++This file was extended by gprof $as_me 2.40, which was
+ generated by GNU Autoconf 2.69. Invocation command line was
+
+ CONFIG_FILES = $CONFIG_FILES
+@@ -12638,7 +12638,7 @@ _ACEOF
+ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
+ ac_cs_version="\\
+-gprof config.status 2.40.00
++gprof config.status 2.40
+ configured by $0, generated by GNU Autoconf 2.69,
+ with options \\"\$ac_cs_config\\"
+
+diff --git a/gprofng/configure b/gprofng/configure
+index e9bf9337d9f6..2afc9a381a66 100755
+--- a/gprofng/configure
++++ b/gprofng/configure
+@@ -1,6 +1,6 @@
+ #! /bin/sh
+ # Guess values for system-dependent variables and create Makefiles.
+-# Generated by GNU Autoconf 2.69 for gprofng 2.40.00.
++# Generated by GNU Autoconf 2.69 for gprofng 2.40.
+ #
+ #
+ # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
+@@ -587,8 +587,8 @@ MAKEFLAGS=
+ # Identity of this package.
+ PACKAGE_NAME='gprofng'
+ PACKAGE_TARNAME='gprofng'
+-PACKAGE_VERSION='2.40.00'
+-PACKAGE_STRING='gprofng 2.40.00'
++PACKAGE_VERSION='2.40'
++PACKAGE_STRING='gprofng 2.40'
+ PACKAGE_BUGREPORT=''
+ PACKAGE_URL=''
+
+@@ -1362,7 +1362,7 @@ if test "$ac_init_help" = "long"; then
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat <<_ACEOF
+-\`configure' configures gprofng 2.40.00 to adapt to many kinds of systems.
++\`configure' configures gprofng 2.40 to adapt to many kinds of systems.
+
+ Usage: $0 [OPTION]... [VAR=VALUE]...
+
+@@ -1433,7 +1433,7 @@ fi
+
+ if test -n "$ac_init_help"; then
+ case $ac_init_help in
+- short | recursive ) echo "Configuration of gprofng 2.40.00:";;
++ short | recursive ) echo "Configuration of gprofng 2.40:";;
+ esac
+ cat <<\_ACEOF
+
+@@ -1547,7 +1547,7 @@ fi
+ test -n "$ac_init_help" && exit $ac_status
+ if $ac_init_version; then
+ cat <<\_ACEOF
+-gprofng configure 2.40.00
++gprofng configure 2.40
+ generated by GNU Autoconf 2.69
+
+ Copyright (C) 2012 Free Software Foundation, Inc.
+@@ -2079,7 +2079,7 @@ cat >config.log <<_ACEOF
+ This file contains any messages produced by compilers while
+ running configure, to aid debugging if configure makes a mistake.
+
+-It was created by gprofng $as_me 2.40.00, which was
++It was created by gprofng $as_me 2.40, which was
+ generated by GNU Autoconf 2.69. Invocation command line was
+
+ $ $0 $@
+@@ -3052,7 +3052,7 @@ fi
+
+ # Define the identity of the package.
+ PACKAGE='gprofng'
+- VERSION='2.40.00'
++ VERSION='2.40'
+
+
+ cat >>confdefs.h <<_ACEOF
+@@ -17467,7 +17467,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+ # report actual input values of CONFIG_FILES etc. instead of their
+ # values after options handling.
+ ac_log="
+-This file was extended by gprofng $as_me 2.40.00, which was
++This file was extended by gprofng $as_me 2.40, which was
+ generated by GNU Autoconf 2.69. Invocation command line was
+
+ CONFIG_FILES = $CONFIG_FILES
+@@ -17533,7 +17533,7 @@ _ACEOF
+ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
+ ac_cs_version="\\
+-gprofng config.status 2.40.00
++gprofng config.status 2.40
+ configured by $0, generated by GNU Autoconf 2.69,
+ with options \\"\$ac_cs_config\\"
+
+diff --git a/gprofng/doc/version.texi b/gprofng/doc/version.texi
+index 61bd43c60a49..9d426947bdae 100644
+--- a/gprofng/doc/version.texi
++++ b/gprofng/doc/version.texi
+@@ -1,4 +1,4 @@
+ @set UPDATED 5 January 2023
+ @set UPDATED-MONTH January 2023
+-@set EDITION 2.40.00
+-@set VERSION 2.40.00
++@set EDITION 2.40
++@set VERSION 2.40
+diff --git a/gprofng/libcollector/configure b/gprofng/libcollector/configure
+index 20309f5757cb..e92fbfc2242f 100755
+--- a/gprofng/libcollector/configure
++++ b/gprofng/libcollector/configure
+@@ -1,6 +1,6 @@
+ #! /bin/sh
+ # Guess values for system-dependent variables and create Makefiles.
+-# Generated by GNU Autoconf 2.69 for gprofng 2.40.00.
++# Generated by GNU Autoconf 2.69 for gprofng 2.40.
+ #
+ #
+ # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
+@@ -587,8 +587,8 @@ MAKEFLAGS=
+ # Identity of this package.
+ PACKAGE_NAME='gprofng'
+ PACKAGE_TARNAME='gprofng'
+-PACKAGE_VERSION='2.40.00'
+-PACKAGE_STRING='gprofng 2.40.00'
++PACKAGE_VERSION='2.40'
++PACKAGE_STRING='gprofng 2.40'
+ PACKAGE_BUGREPORT=''
+ PACKAGE_URL=''
+
+@@ -1325,7 +1325,7 @@ if test "$ac_init_help" = "long"; then
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat <<_ACEOF
+-\`configure' configures gprofng 2.40.00 to adapt to many kinds of systems.
++\`configure' configures gprofng 2.40 to adapt to many kinds of systems.
+
+ Usage: $0 [OPTION]... [VAR=VALUE]...
+
+@@ -1396,7 +1396,7 @@ fi
+
+ if test -n "$ac_init_help"; then
+ case $ac_init_help in
+- short | recursive ) echo "Configuration of gprofng 2.40.00:";;
++ short | recursive ) echo "Configuration of gprofng 2.40:";;
+ esac
+ cat <<\_ACEOF
+
+@@ -1505,7 +1505,7 @@ fi
+ test -n "$ac_init_help" && exit $ac_status
+ if $ac_init_version; then
+ cat <<\_ACEOF
+-gprofng configure 2.40.00
++gprofng configure 2.40
+ generated by GNU Autoconf 2.69
+
+ Copyright (C) 2012 Free Software Foundation, Inc.
+@@ -1991,7 +1991,7 @@ cat >config.log <<_ACEOF
+ This file contains any messages produced by compilers while
+ running configure, to aid debugging if configure makes a mistake.
+
+-It was created by gprofng $as_me 2.40.00, which was
++It was created by gprofng $as_me 2.40, which was
+ generated by GNU Autoconf 2.69. Invocation command line was
+
+ $ $0 $@
+@@ -2968,7 +2968,7 @@ fi
+
+ # Define the identity of the package.
+ PACKAGE='gprofng'
+- VERSION='2.40.00'
++ VERSION='2.40'
+
+
+ cat >>confdefs.h <<_ACEOF
+@@ -16098,7 +16098,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+ # report actual input values of CONFIG_FILES etc. instead of their
+ # values after options handling.
+ ac_log="
+-This file was extended by gprofng $as_me 2.40.00, which was
++This file was extended by gprofng $as_me 2.40, which was
+ generated by GNU Autoconf 2.69. Invocation command line was
+
+ CONFIG_FILES = $CONFIG_FILES
+@@ -16164,7 +16164,7 @@ _ACEOF
+ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
+ ac_cs_version="\\
+-gprofng config.status 2.40.00
++gprofng config.status 2.40
+ configured by $0, generated by GNU Autoconf 2.69,
+ with options \\"\$ac_cs_config\\"
+
+diff --git a/ld/configure b/ld/configure
+index 43b44be1dc61..49936a0cb2a4 100755
+--- a/ld/configure
++++ b/ld/configure
+@@ -1,6 +1,6 @@
+ #! /bin/sh
+ # Guess values for system-dependent variables and create Makefiles.
+-# Generated by GNU Autoconf 2.69 for ld 2.40.00.
++# Generated by GNU Autoconf 2.69 for ld 2.40.
+ #
+ #
+ # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
+@@ -587,8 +587,8 @@ MAKEFLAGS=
+ # Identity of this package.
+ PACKAGE_NAME='ld'
+ PACKAGE_TARNAME='ld'
+-PACKAGE_VERSION='2.40.00'
+-PACKAGE_STRING='ld 2.40.00'
++PACKAGE_VERSION='2.40'
++PACKAGE_STRING='ld 2.40'
+ PACKAGE_BUGREPORT=''
+ PACKAGE_URL=''
+
+@@ -1423,7 +1423,7 @@ if test "$ac_init_help" = "long"; then
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat <<_ACEOF
+-\`configure' configures ld 2.40.00 to adapt to many kinds of systems.
++\`configure' configures ld 2.40 to adapt to many kinds of systems.
+
+ Usage: $0 [OPTION]... [VAR=VALUE]...
+
+@@ -1494,7 +1494,7 @@ fi
+
+ if test -n "$ac_init_help"; then
+ case $ac_init_help in
+- short | recursive ) echo "Configuration of ld 2.40.00:";;
++ short | recursive ) echo "Configuration of ld 2.40:";;
+ esac
+ cat <<\_ACEOF
+
+@@ -1661,7 +1661,7 @@ fi
+ test -n "$ac_init_help" && exit $ac_status
+ if $ac_init_version; then
+ cat <<\_ACEOF
+-ld configure 2.40.00
++ld configure 2.40
+ generated by GNU Autoconf 2.69
+
+ Copyright (C) 2012 Free Software Foundation, Inc.
+@@ -2376,7 +2376,7 @@ cat >config.log <<_ACEOF
+ This file contains any messages produced by compilers while
+ running configure, to aid debugging if configure makes a mistake.
+
+-It was created by ld $as_me 2.40.00, which was
++It was created by ld $as_me 2.40, which was
+ generated by GNU Autoconf 2.69. Invocation command line was
+
+ $ $0 $@
+@@ -3359,7 +3359,7 @@ fi
+
+ # Define the identity of the package.
+ PACKAGE='ld'
+- VERSION='2.40.00'
++ VERSION='2.40'
+
+
+ cat >>confdefs.h <<_ACEOF
+@@ -18083,7 +18083,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+ # report actual input values of CONFIG_FILES etc. instead of their
+ # values after options handling.
+ ac_log="
+-This file was extended by ld $as_me 2.40.00, which was
++This file was extended by ld $as_me 2.40, which was
+ generated by GNU Autoconf 2.69. Invocation command line was
+
+ CONFIG_FILES = $CONFIG_FILES
+@@ -18149,7 +18149,7 @@ _ACEOF
+ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
+ ac_cs_version="\\
+-ld config.status 2.40.00
++ld config.status 2.40
+ configured by $0, generated by GNU Autoconf 2.69,
+ with options \\"\$ac_cs_config\\"
+
diff --git a/patches/binutils-2.40/0002-toplevel-Makefile.def-add-install-strip-dependency-o.patch b/patches/binutils-2.40/0002-toplevel-Makefile.def-add-install-strip-dependency-o.patch
new file mode 100644
index 0000000..ce87fee
--- /dev/null
+++ b/patches/binutils-2.40/0002-toplevel-Makefile.def-add-install-strip-dependency-o.patch
@@ -0,0 +1,63 @@
+From: Indu Bhagat <indu.bhagat@oracle.com>
+Date: Wed, 18 Jan 2023 23:17:49 -0800
+Subject: [PATCH] toplevel: Makefile.def: add install-strip dependency on
+ libsframe
+
+As noted in PR libsframe/30014 - FTBFS: install-strip fails because
+bfdlib relinks and fails to find libsframe, the install time
+dependencies of libbfd need to be updated.
+
+ PR libsframe/30014
+ * Makefile.def: Reflect that libsframe needs to installed before
+ libbfd. Reorder a bit to better track libsframe dependencies.
+ * Makefile.in: Regenerate.
+
+(cherry picked from commit b8d21eb0cd10d6127e77cc437d82e949adb0c454)
+---
+ Makefile.def | 5 ++++-
+ Makefile.in | 3 ++-
+ 2 files changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile.def b/Makefile.def
+index f549d5741ee0..2f51f83b0434 100644
+--- a/Makefile.def
++++ b/Makefile.def
+@@ -493,7 +493,6 @@ dependencies = { module=install-binutils; on=install-opcodes; };
+ dependencies = { module=install-strip-binutils; on=install-strip-opcodes; };
+
+ // Likewise for ld, libctf, and bfd.
+-dependencies = { module=install-bfd; on=install-libsframe; };
+ dependencies = { module=install-libctf; on=install-bfd; };
+ dependencies = { module=install-ld; on=install-bfd; };
+ dependencies = { module=install-ld; on=install-libctf; };
+@@ -501,6 +500,10 @@ dependencies = { module=install-strip-libctf; on=install-strip-bfd; };
+ dependencies = { module=install-strip-ld; on=install-strip-bfd; };
+ dependencies = { module=install-strip-ld; on=install-strip-libctf; };
+
++// libbfd depends on libsframe
++dependencies = { module=install-bfd; on=install-libsframe; };
++dependencies = { module=install-strip-bfd; on=install-strip-libsframe; };
++
+ // libopcodes depends on libbfd
+ dependencies = { module=configure-opcodes; on=configure-bfd; hard=true; };
+ dependencies = { module=install-opcodes; on=install-bfd; };
+diff --git a/Makefile.in b/Makefile.in
+index 679e121f8d6d..38f1f9abea9a 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -64549,13 +64549,14 @@ all-stageautoprofile-binutils: maybe-all-stageautoprofile-libsframe
+ all-stageautofeedback-binutils: maybe-all-stageautofeedback-libsframe
+ install-binutils: maybe-install-opcodes
+ install-strip-binutils: maybe-install-strip-opcodes
+-install-bfd: maybe-install-libsframe
+ install-libctf: maybe-install-bfd
+ install-ld: maybe-install-bfd
+ install-ld: maybe-install-libctf
+ install-strip-libctf: maybe-install-strip-bfd
+ install-strip-ld: maybe-install-strip-bfd
+ install-strip-ld: maybe-install-strip-libctf
++install-bfd: maybe-install-libsframe
++install-strip-bfd: maybe-install-strip-libsframe
+ configure-opcodes: configure-bfd
+ configure-stage1-opcodes: configure-stage1-bfd
+ configure-stage2-opcodes: configure-stage2-bfd
diff --git a/patches/binutils-2.40/0003-bpf-fix-error-conversion-from-long-unsigned-int-to-u.patch b/patches/binutils-2.40/0003-bpf-fix-error-conversion-from-long-unsigned-int-to-u.patch
new file mode 100644
index 0000000..34eda8c
--- /dev/null
+++ b/patches/binutils-2.40/0003-bpf-fix-error-conversion-from-long-unsigned-int-to-u.patch
@@ -0,0 +1,216 @@
+From: "Guillermo E. Martinez" <guillermo.e.martinez@oracle.com>
+Date: Fri, 3 Feb 2023 11:17:49 -0600
+Subject: [PATCH] bpf: fix error conversion from long unsigned int to unsigned
+ int [-Werror=overflow]
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Regenerating BPF target using the maintainer mode emits:
+.../opcodes/bpf-opc.c:57:11: error: conversion from ‘long unsigned int’ to ‘unsigned int’ changes value from ‘18446744073709486335’ to ‘4294902015’ [-Werror=overflow]
+ 57 | 64, 64, 0xffffffffffff00ff, { { F (F_IMM32) }, { F (F_OFFSET16) }, { F (F_SRCLE) }, { F (F_OP_CODE) }, { F (F_DSTLE) }, { F (F_OP_SRC) }, { F (F_OP_CLASS) }, { 0 } }
+
+The use of a narrow size to handle the mask CGEN in instruction format
+is causing this error. Additionally eBPF `call' instructions
+constructed by expressions using symbols (BPF_PSEUDO_CALL) emits
+annotations in `src' field of the instruction, used to identify BPF
+target endianness.
+
+cpu/
+ * bpf.cpu (define-call-insn): Remove `src' field from
+ instruction mask.
+
+include/
+ *opcode/cge.h (CGEN_IFMT): Adjust mask bit width.
+
+opcodes/
+ * bpf-opc.c: Regenerate.
+
+(cherry picked from commit 7f6ebecd56e690012b05af0a492280765b17f186)
+---
+ cpu/bpf.cpu | 2 +-
+ include/opcode/cgen.h | 2 +-
+ opcodes/bpf-opc.c | 54 +++++++++++++++++++++++++++------------------------
+ opcodes/cgen-dis.c | 2 +-
+ 4 files changed, 32 insertions(+), 28 deletions(-)
+
+diff --git a/cpu/bpf.cpu b/cpu/bpf.cpu
+index 13dde7094c8b..2ae74fc4c182 100644
+--- a/cpu/bpf.cpu
++++ b/cpu/bpf.cpu
+@@ -768,7 +768,7 @@
+ "call"
+ (endian-isas x-endian)
+ "call $disp32"
+- (+ disp32 (f-offset16 0) (f-regs 0)
++ (+ disp32 (f-offset16 0) (.sym src x-endian) ((.sym f-dst x-endian) 0)
+ OP_CLASS_JMP OP_SRC_K OP_CODE_CALL)
+ (c-call VOID
+ "bpfbf_call" disp32 (ifield (.sym f-src x-endian)))
+diff --git a/include/opcode/cgen.h b/include/opcode/cgen.h
+index 36b88f1b5fed..6c0732b4b259 100644
+--- a/include/opcode/cgen.h
++++ b/include/opcode/cgen.h
+@@ -914,7 +914,7 @@ typedef struct
+ Each insn's value is stored with the insn.
+ The first step in recognizing an insn for disassembly is
+ (opcode & mask) == value. */
+- CGEN_INSN_INT mask;
++ CGEN_INSN_LGUINT mask;
+ #define CGEN_IFMT_MASK(ifmt) ((ifmt)->mask)
+
+ /* Instruction fields.
+diff --git a/opcodes/bpf-opc.c b/opcodes/bpf-opc.c
+index a6d8a7dd3ca4..1cc06f7cbf67 100644
+--- a/opcodes/bpf-opc.c
++++ b/opcodes/bpf-opc.c
+@@ -50,99 +50,103 @@ static const CGEN_IFMT ifmt_empty ATTRIBUTE_UNUSED = {
+ };
+
+ static const CGEN_IFMT ifmt_addile ATTRIBUTE_UNUSED = {
+- 64, 64, 0xff, { { F (F_IMM32) }, { F (F_OFFSET16) }, { F (F_SRCLE) }, { F (F_OP_CODE) }, { F (F_DSTLE) }, { F (F_OP_SRC) }, { F (F_OP_CLASS) }, { 0 } }
++ 64, 64, 0xfffff0ff, { { F (F_IMM32) }, { F (F_OFFSET16) }, { F (F_SRCLE) }, { F (F_OP_CODE) }, { F (F_DSTLE) }, { F (F_OP_SRC) }, { F (F_OP_CLASS) }, { 0 } }
+ };
+
+ static const CGEN_IFMT ifmt_addrle ATTRIBUTE_UNUSED = {
+- 64, 64, 0xff, { { F (F_IMM32) }, { F (F_OFFSET16) }, { F (F_SRCLE) }, { F (F_OP_CODE) }, { F (F_DSTLE) }, { F (F_OP_SRC) }, { F (F_OP_CLASS) }, { 0 } }
++ 64, 64, 0xffffffffffff00ff, { { F (F_IMM32) }, { F (F_OFFSET16) }, { F (F_SRCLE) }, { F (F_OP_CODE) }, { F (F_DSTLE) }, { F (F_OP_SRC) }, { F (F_OP_CLASS) }, { 0 } }
+ };
+
+ static const CGEN_IFMT ifmt_negle ATTRIBUTE_UNUSED = {
+- 64, 64, 0xff, { { F (F_IMM32) }, { F (F_OFFSET16) }, { F (F_SRCLE) }, { F (F_OP_CODE) }, { F (F_DSTLE) }, { F (F_OP_SRC) }, { F (F_OP_CLASS) }, { 0 } }
++ 64, 64, 0xfffffffffffff0ff, { { F (F_IMM32) }, { F (F_OFFSET16) }, { F (F_SRCLE) }, { F (F_OP_CODE) }, { F (F_DSTLE) }, { F (F_OP_SRC) }, { F (F_OP_CLASS) }, { 0 } }
+ };
+
+ static const CGEN_IFMT ifmt_addibe ATTRIBUTE_UNUSED = {
+- 64, 64, 0xff, { { F (F_IMM32) }, { F (F_OFFSET16) }, { F (F_DSTBE) }, { F (F_OP_CODE) }, { F (F_SRCBE) }, { F (F_OP_SRC) }, { F (F_OP_CLASS) }, { 0 } }
++ 64, 64, 0xffff0fff, { { F (F_IMM32) }, { F (F_OFFSET16) }, { F (F_DSTBE) }, { F (F_OP_CODE) }, { F (F_SRCBE) }, { F (F_OP_SRC) }, { F (F_OP_CLASS) }, { 0 } }
+ };
+
+ static const CGEN_IFMT ifmt_addrbe ATTRIBUTE_UNUSED = {
+- 64, 64, 0xff, { { F (F_IMM32) }, { F (F_OFFSET16) }, { F (F_DSTBE) }, { F (F_OP_CODE) }, { F (F_SRCBE) }, { F (F_OP_SRC) }, { F (F_OP_CLASS) }, { 0 } }
++ 64, 64, 0xffffffffffff00ff, { { F (F_IMM32) }, { F (F_OFFSET16) }, { F (F_DSTBE) }, { F (F_OP_CODE) }, { F (F_SRCBE) }, { F (F_OP_SRC) }, { F (F_OP_CLASS) }, { 0 } }
+ };
+
+ static const CGEN_IFMT ifmt_negbe ATTRIBUTE_UNUSED = {
+- 64, 64, 0xff, { { F (F_IMM32) }, { F (F_OFFSET16) }, { F (F_DSTBE) }, { F (F_OP_CODE) }, { F (F_SRCBE) }, { F (F_OP_SRC) }, { F (F_OP_CLASS) }, { 0 } }
++ 64, 64, 0xffffffffffff0fff, { { F (F_IMM32) }, { F (F_OFFSET16) }, { F (F_DSTBE) }, { F (F_OP_CODE) }, { F (F_SRCBE) }, { F (F_OP_SRC) }, { F (F_OP_CLASS) }, { 0 } }
+ };
+
+ static const CGEN_IFMT ifmt_endlele ATTRIBUTE_UNUSED = {
+- 64, 64, 0xff, { { F (F_IMM32) }, { F (F_OFFSET16) }, { F (F_SRCLE) }, { F (F_OP_CODE) }, { F (F_DSTLE) }, { F (F_OP_SRC) }, { F (F_OP_CLASS) }, { 0 } }
++ 64, 64, 0xfffff0ff, { { F (F_IMM32) }, { F (F_OFFSET16) }, { F (F_SRCLE) }, { F (F_OP_CODE) }, { F (F_DSTLE) }, { F (F_OP_SRC) }, { F (F_OP_CLASS) }, { 0 } }
+ };
+
+ static const CGEN_IFMT ifmt_endlebe ATTRIBUTE_UNUSED = {
+- 64, 64, 0xff, { { F (F_IMM32) }, { F (F_OFFSET16) }, { F (F_DSTBE) }, { F (F_OP_CODE) }, { F (F_SRCBE) }, { F (F_OP_SRC) }, { F (F_OP_CLASS) }, { 0 } }
++ 64, 64, 0xffff0fff, { { F (F_IMM32) }, { F (F_OFFSET16) }, { F (F_DSTBE) }, { F (F_OP_CODE) }, { F (F_SRCBE) }, { F (F_OP_SRC) }, { F (F_OP_CLASS) }, { 0 } }
+ };
+
+ static const CGEN_IFMT ifmt_lddwle ATTRIBUTE_UNUSED = {
+- 64, 128, 0xff, { { F (F_IMM64) }, { F (F_OFFSET16) }, { F (F_SRCLE) }, { F (F_OP_MODE) }, { F (F_OP_SIZE) }, { F (F_DSTLE) }, { F (F_OP_CLASS) }, { 0 } }
++ 64, 128, 0xfffff0ff, { { F (F_IMM64) }, { F (F_OFFSET16) }, { F (F_SRCLE) }, { F (F_OP_MODE) }, { F (F_OP_SIZE) }, { F (F_DSTLE) }, { F (F_OP_CLASS) }, { 0 } }
+ };
+
+ static const CGEN_IFMT ifmt_lddwbe ATTRIBUTE_UNUSED = {
+- 64, 128, 0xff, { { F (F_IMM64) }, { F (F_OFFSET16) }, { F (F_DSTBE) }, { F (F_OP_MODE) }, { F (F_OP_SIZE) }, { F (F_SRCBE) }, { F (F_OP_CLASS) }, { 0 } }
++ 64, 128, 0xffff0fff, { { F (F_IMM64) }, { F (F_OFFSET16) }, { F (F_DSTBE) }, { F (F_OP_MODE) }, { F (F_OP_SIZE) }, { F (F_SRCBE) }, { F (F_OP_CLASS) }, { 0 } }
+ };
+
+ static const CGEN_IFMT ifmt_ldabsw ATTRIBUTE_UNUSED = {
+- 64, 64, 0xff, { { F (F_IMM32) }, { F (F_OFFSET16) }, { F (F_REGS) }, { F (F_OP_MODE) }, { F (F_OP_SIZE) }, { F (F_OP_CLASS) }, { 0 } }
++ 64, 64, 0xffffffff, { { F (F_IMM32) }, { F (F_OFFSET16) }, { F (F_REGS) }, { F (F_OP_MODE) }, { F (F_OP_SIZE) }, { F (F_OP_CLASS) }, { 0 } }
+ };
+
+ static const CGEN_IFMT ifmt_ldindwle ATTRIBUTE_UNUSED = {
+- 64, 64, 0xff, { { F (F_IMM32) }, { F (F_OFFSET16) }, { F (F_SRCLE) }, { F (F_OP_MODE) }, { F (F_OP_SIZE) }, { F (F_DSTLE) }, { F (F_OP_CLASS) }, { 0 } }
++ 64, 64, 0xffff0fff, { { F (F_IMM32) }, { F (F_OFFSET16) }, { F (F_SRCLE) }, { F (F_OP_MODE) }, { F (F_OP_SIZE) }, { F (F_DSTLE) }, { F (F_OP_CLASS) }, { 0 } }
+ };
+
+ static const CGEN_IFMT ifmt_ldindwbe ATTRIBUTE_UNUSED = {
+- 64, 64, 0xff, { { F (F_IMM32) }, { F (F_OFFSET16) }, { F (F_DSTBE) }, { F (F_OP_MODE) }, { F (F_OP_SIZE) }, { F (F_SRCBE) }, { F (F_OP_CLASS) }, { 0 } }
++ 64, 64, 0xfffff0ff, { { F (F_IMM32) }, { F (F_OFFSET16) }, { F (F_DSTBE) }, { F (F_OP_MODE) }, { F (F_OP_SIZE) }, { F (F_SRCBE) }, { F (F_OP_CLASS) }, { 0 } }
+ };
+
+ static const CGEN_IFMT ifmt_ldxwle ATTRIBUTE_UNUSED = {
+- 64, 64, 0xff, { { F (F_IMM32) }, { F (F_OFFSET16) }, { F (F_SRCLE) }, { F (F_OP_MODE) }, { F (F_OP_SIZE) }, { F (F_DSTLE) }, { F (F_OP_CLASS) }, { 0 } }
++ 64, 64, 0xffffffff000000ff, { { F (F_IMM32) }, { F (F_OFFSET16) }, { F (F_SRCLE) }, { F (F_OP_MODE) }, { F (F_OP_SIZE) }, { F (F_DSTLE) }, { F (F_OP_CLASS) }, { 0 } }
+ };
+
+ static const CGEN_IFMT ifmt_ldxwbe ATTRIBUTE_UNUSED = {
+- 64, 64, 0xff, { { F (F_IMM32) }, { F (F_OFFSET16) }, { F (F_DSTBE) }, { F (F_OP_MODE) }, { F (F_OP_SIZE) }, { F (F_SRCBE) }, { F (F_OP_CLASS) }, { 0 } }
++ 64, 64, 0xffffffff000000ff, { { F (F_IMM32) }, { F (F_OFFSET16) }, { F (F_DSTBE) }, { F (F_OP_MODE) }, { F (F_OP_SIZE) }, { F (F_SRCBE) }, { F (F_OP_CLASS) }, { 0 } }
+ };
+
+ static const CGEN_IFMT ifmt_stble ATTRIBUTE_UNUSED = {
+- 64, 64, 0xff, { { F (F_IMM32) }, { F (F_OFFSET16) }, { F (F_SRCLE) }, { F (F_OP_MODE) }, { F (F_OP_SIZE) }, { F (F_DSTLE) }, { F (F_OP_CLASS) }, { 0 } }
++ 64, 64, 0xf0ff, { { F (F_IMM32) }, { F (F_OFFSET16) }, { F (F_SRCLE) }, { F (F_OP_MODE) }, { F (F_OP_SIZE) }, { F (F_DSTLE) }, { F (F_OP_CLASS) }, { 0 } }
+ };
+
+ static const CGEN_IFMT ifmt_stbbe ATTRIBUTE_UNUSED = {
+- 64, 64, 0xff, { { F (F_IMM32) }, { F (F_OFFSET16) }, { F (F_DSTBE) }, { F (F_OP_MODE) }, { F (F_OP_SIZE) }, { F (F_SRCBE) }, { F (F_OP_CLASS) }, { 0 } }
++ 64, 64, 0xfff, { { F (F_IMM32) }, { F (F_OFFSET16) }, { F (F_DSTBE) }, { F (F_OP_MODE) }, { F (F_OP_SIZE) }, { F (F_SRCBE) }, { F (F_OP_CLASS) }, { 0 } }
+ };
+
+ static const CGEN_IFMT ifmt_jeqile ATTRIBUTE_UNUSED = {
+- 64, 64, 0xff, { { F (F_IMM32) }, { F (F_OFFSET16) }, { F (F_SRCLE) }, { F (F_OP_CODE) }, { F (F_DSTLE) }, { F (F_OP_SRC) }, { F (F_OP_CLASS) }, { 0 } }
++ 64, 64, 0xf0ff, { { F (F_IMM32) }, { F (F_OFFSET16) }, { F (F_SRCLE) }, { F (F_OP_CODE) }, { F (F_DSTLE) }, { F (F_OP_SRC) }, { F (F_OP_CLASS) }, { 0 } }
+ };
+
+ static const CGEN_IFMT ifmt_jeqrle ATTRIBUTE_UNUSED = {
+- 64, 64, 0xff, { { F (F_IMM32) }, { F (F_OFFSET16) }, { F (F_SRCLE) }, { F (F_OP_CODE) }, { F (F_DSTLE) }, { F (F_OP_SRC) }, { F (F_OP_CLASS) }, { 0 } }
++ 64, 64, 0xffffffff000000ff, { { F (F_IMM32) }, { F (F_OFFSET16) }, { F (F_SRCLE) }, { F (F_OP_CODE) }, { F (F_DSTLE) }, { F (F_OP_SRC) }, { F (F_OP_CLASS) }, { 0 } }
+ };
+
+ static const CGEN_IFMT ifmt_jeqibe ATTRIBUTE_UNUSED = {
+- 64, 64, 0xff, { { F (F_IMM32) }, { F (F_OFFSET16) }, { F (F_DSTBE) }, { F (F_OP_CODE) }, { F (F_SRCBE) }, { F (F_OP_SRC) }, { F (F_OP_CLASS) }, { 0 } }
++ 64, 64, 0xfff, { { F (F_IMM32) }, { F (F_OFFSET16) }, { F (F_DSTBE) }, { F (F_OP_CODE) }, { F (F_SRCBE) }, { F (F_OP_SRC) }, { F (F_OP_CLASS) }, { 0 } }
+ };
+
+ static const CGEN_IFMT ifmt_jeqrbe ATTRIBUTE_UNUSED = {
+- 64, 64, 0xff, { { F (F_IMM32) }, { F (F_OFFSET16) }, { F (F_DSTBE) }, { F (F_OP_CODE) }, { F (F_SRCBE) }, { F (F_OP_SRC) }, { F (F_OP_CLASS) }, { 0 } }
++ 64, 64, 0xffffffff000000ff, { { F (F_IMM32) }, { F (F_OFFSET16) }, { F (F_DSTBE) }, { F (F_OP_CODE) }, { F (F_SRCBE) }, { F (F_OP_SRC) }, { F (F_OP_CLASS) }, { 0 } }
+ };
+
+ static const CGEN_IFMT ifmt_callle ATTRIBUTE_UNUSED = {
+- 64, 64, 0xff, { { F (F_IMM32) }, { F (F_OFFSET16) }, { F (F_REGS) }, { F (F_OP_CODE) }, { F (F_OP_SRC) }, { F (F_OP_CLASS) }, { 0 } }
++ 64, 64, 0xffff0fff, { { F (F_IMM32) }, { F (F_OFFSET16) }, { F (F_SRCLE) }, { F (F_OP_CODE) }, { F (F_DSTLE) }, { F (F_OP_SRC) }, { F (F_OP_CLASS) }, { 0 } }
++};
++
++static const CGEN_IFMT ifmt_callbe ATTRIBUTE_UNUSED = {
++ 64, 64, 0xfffff0ff, { { F (F_IMM32) }, { F (F_OFFSET16) }, { F (F_DSTBE) }, { F (F_OP_CODE) }, { F (F_SRCBE) }, { F (F_OP_SRC) }, { F (F_OP_CLASS) }, { 0 } }
+ };
+
+ static const CGEN_IFMT ifmt_ja ATTRIBUTE_UNUSED = {
+- 64, 64, 0xff, { { F (F_IMM32) }, { F (F_OFFSET16) }, { F (F_REGS) }, { F (F_OP_CODE) }, { F (F_OP_SRC) }, { F (F_OP_CLASS) }, { 0 } }
++ 64, 64, 0xffffffff0000ffff, { { F (F_IMM32) }, { F (F_OFFSET16) }, { F (F_REGS) }, { F (F_OP_CODE) }, { F (F_OP_SRC) }, { F (F_OP_CLASS) }, { 0 } }
+ };
+
+ static const CGEN_IFMT ifmt_exit ATTRIBUTE_UNUSED = {
+- 64, 64, 0xff, { { F (F_IMM32) }, { F (F_OFFSET16) }, { F (F_REGS) }, { F (F_OP_CODE) }, { F (F_OP_SRC) }, { F (F_OP_CLASS) }, { 0 } }
++ 64, 64, 0xffffffffffffffff, { { F (F_IMM32) }, { F (F_OFFSET16) }, { F (F_REGS) }, { F (F_OP_CODE) }, { F (F_OP_SRC) }, { F (F_OP_CLASS) }, { 0 } }
+ };
+
+ #undef F
+@@ -1646,7 +1650,7 @@ static const CGEN_OPCODE bpf_cgen_insn_opcode_table[MAX_INSNS] =
+ {
+ { 0, 0, 0, 0 },
+ { { MNEM, ' ', OP (DISP32), 0 } },
+- & ifmt_callle, { 0x85 }
++ & ifmt_callbe, { 0x85 }
+ },
+ /* call $dstle */
+ {
+diff --git a/opcodes/cgen-dis.c b/opcodes/cgen-dis.c
+index de315d90cfc0..90746a845edb 100644
+--- a/opcodes/cgen-dis.c
++++ b/opcodes/cgen-dis.c
+@@ -39,7 +39,7 @@ static void add_insn_to_hash_chain (CGEN_INSN_LIST *,
+ static int
+ count_decodable_bits (const CGEN_INSN *insn)
+ {
+- unsigned mask = CGEN_INSN_BASE_MASK (insn);
++ CGEN_INSN_LGUINT mask = CGEN_INSN_BASE_MASK (insn);
+ #if GCC_VERSION >= 3004
+ return __builtin_popcount (mask);
+ #else
diff --git a/patches/binutils-2.40/0004-gas-correct-symbol-name-comparison-in-.startof.-.siz.patch b/patches/binutils-2.40/0004-gas-correct-symbol-name-comparison-in-.startof.-.siz.patch
new file mode 100644
index 0000000..7305fa6
--- /dev/null
+++ b/patches/binutils-2.40/0004-gas-correct-symbol-name-comparison-in-.startof.-.siz.patch
@@ -0,0 +1,51 @@
+From: Jan Beulich <jbeulich@suse.com>
+Date: Tue, 14 Feb 2023 08:35:02 +0100
+Subject: [PATCH] gas: correct symbol name comparison in .startof./.sizeof.
+ handling
+
+In 162c6aef1f3a ("gas: fold symbol table entries generated for
+.startof.() / .sizeof.()") I screwed up quite badly, inverting the case
+sensitive and case insensitive comparison functions.
+---
+ gas/expr.c | 4 ++--
+ gas/testsuite/gas/elf/startof.d | 2 ++
+ gas/testsuite/gas/elf/startof.s | 3 +++
+ 3 files changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/gas/expr.c b/gas/expr.c
+index 28ec58c421bc..ec51bda1aa90 100644
+--- a/gas/expr.c
++++ b/gas/expr.c
+@@ -149,8 +149,8 @@ symbol_lookup_or_make (const char *name, bool start)
+
+ name = S_GET_NAME (symbolP);
+ if ((symbols_case_sensitive
+- ? strcasecmp (buf, name)
+- : strcmp (buf, name)) == 0)
++ ? strcmp (buf, name)
++ : strcasecmp (buf, name)) == 0)
+ {
+ free (buf);
+ return symbolP;
+diff --git a/gas/testsuite/gas/elf/startof.d b/gas/testsuite/gas/elf/startof.d
+index 9cffa93e22bd..d943bb878875 100644
+--- a/gas/testsuite/gas/elf/startof.d
++++ b/gas/testsuite/gas/elf/startof.d
+@@ -7,4 +7,6 @@ Symbol table .*
+ #...
+ [1-8]: 0+ .* UND \.startof\.\.text
+ [2-9]: 0+ .* UND \.sizeof\.\.text
++ +[1-9][0-9]*: 0+ .* UND \.startof\.\.Text
++ +[1-9][0-9]*: 0+ .* UND \.sizeof\.\.TEXT
+ #pass
+diff --git a/gas/testsuite/gas/elf/startof.s b/gas/testsuite/gas/elf/startof.s
+index a90e1160dd8e..342011e01775 100644
+--- a/gas/testsuite/gas/elf/startof.s
++++ b/gas/testsuite/gas/elf/startof.s
+@@ -4,3 +4,6 @@
+ .dc.a 0
+ .dc.a .sizeof.(.text)
+ .dc.a .startof.(.text)
++ .dc.a 0
++ .dc.a .startof.(.Text)
++ .dc.a .sizeof.(.TEXT)
diff --git a/patches/binutils-2.40/0005-ppc32-and-LOAD-segment-with-RWX-permissions.patch b/patches/binutils-2.40/0005-ppc32-and-LOAD-segment-with-RWX-permissions.patch
new file mode 100644
index 0000000..60ac537
--- /dev/null
+++ b/patches/binutils-2.40/0005-ppc32-and-LOAD-segment-with-RWX-permissions.patch
@@ -0,0 +1,116 @@
+From: Alan Modra <amodra@gmail.com>
+Date: Mon, 6 Feb 2023 12:46:52 +1030
+Subject: [PATCH] ppc32 and "LOAD segment with RWX permissions"
+
+When using a bss-plt we'll always trigger the RWX warning, which
+disturbs gcc test results. On the other hand, there may be reason to
+want the warning when gcc is configured with --enable-secureplt.
+So turning off the warning entirely for powerpc might not be the best
+solution. Instead, we'll turn off the warning whenever a bss-plt is
+generated, unless the user explicitly asked for the warning.
+
+bfd/
+ * elf32-ppc.c (ppc_elf_select_plt_layout): Set
+ no_warn_rwx_segments on generating a bss plt, unless explicity
+ enabled by the user. Also show the bss-plt warning when
+ --warn-rwx-segments is given without --bss-plt.
+include/
+ * bfdlink.h (struct bfd_link_info): Add user_warn_rwx_segments.
+ld/
+ * lexsup.c (parse_args): Set user_warn_rwx_segments.
+ * testsuite/ld-elf/elf.exp: Pass --secure-plt for powerpc to
+ the rwx tests.
+
+(cherry picked from commit 84789002905d6db444ee76431705c86cbcde5616)
+---
+ bfd/elf32-ppc.c | 17 ++++++++++++-----
+ include/bfdlink.h | 3 +++
+ ld/lexsup.c | 2 ++
+ ld/testsuite/ld-elf/elf.exp | 8 ++++++++
+ 4 files changed, 25 insertions(+), 5 deletions(-)
+
+diff --git a/bfd/elf32-ppc.c b/bfd/elf32-ppc.c
+index a8234f27a8a4..833bc744563f 100644
+--- a/bfd/elf32-ppc.c
++++ b/bfd/elf32-ppc.c
+@@ -4020,12 +4020,19 @@ ppc_elf_select_plt_layout (bfd *output_bfd ATTRIBUTE_UNUSED,
+ htab->plt_type = plt_type;
+ }
+ }
+- if (htab->plt_type == PLT_OLD && htab->params->plt_style == PLT_NEW)
++ if (htab->plt_type == PLT_OLD)
+ {
+- if (htab->old_bfd != NULL)
+- _bfd_error_handler (_("bss-plt forced due to %pB"), htab->old_bfd);
+- else
+- _bfd_error_handler (_("bss-plt forced by profiling"));
++ if (!info->user_warn_rwx_segments)
++ info->no_warn_rwx_segments = 1;
++ if (htab->params->plt_style == PLT_NEW
++ || (htab->params->plt_style != PLT_OLD
++ && !info->no_warn_rwx_segments))
++ {
++ if (htab->old_bfd != NULL)
++ _bfd_error_handler (_("bss-plt forced due to %pB"), htab->old_bfd);
++ else
++ _bfd_error_handler (_("bss-plt forced by profiling"));
++ }
+ }
+
+ BFD_ASSERT (htab->plt_type != PLT_VXWORKS);
+diff --git a/include/bfdlink.h b/include/bfdlink.h
+index 26c459c3815e..840790a298c3 100644
+--- a/include/bfdlink.h
++++ b/include/bfdlink.h
+@@ -501,6 +501,9 @@ struct bfd_link_info
+ /* TRUE if warnings should not be generated for TLS segments with eXecute
+ permission or LOAD segments with RWX permissions. */
+ unsigned int no_warn_rwx_segments: 1;
++ /* TRUE if the user gave either --warn-rwx-segments or
++ --no-warn-rwx-segments. */
++ unsigned int user_warn_rwx_segments: 1;
+
+ /* TRUE if the stack can be made executable because of the absence of a
+ .note.GNU-stack section in an input file. Note - even if this field
+diff --git a/ld/lexsup.c b/ld/lexsup.c
+index c59603855729..a1c6140100de 100644
+--- a/ld/lexsup.c
++++ b/ld/lexsup.c
+@@ -936,9 +936,11 @@ parse_args (unsigned argc, char **argv)
+ break;
+ case OPTION_WARN_RWX_SEGMENTS:
+ link_info.no_warn_rwx_segments = 0;
++ link_info.user_warn_rwx_segments = 1;
+ break;
+ case OPTION_NO_WARN_RWX_SEGMENTS:
+ link_info.no_warn_rwx_segments = 1;
++ link_info.user_warn_rwx_segments = 1;
+ break;
+ case 'e':
+ lang_add_entry (optarg, true);
+diff --git a/ld/testsuite/ld-elf/elf.exp b/ld/testsuite/ld-elf/elf.exp
+index a3a8994749d2..35235a08d8a9 100644
+--- a/ld/testsuite/ld-elf/elf.exp
++++ b/ld/testsuite/ld-elf/elf.exp
+@@ -238,6 +238,12 @@ if { [istarget *-*-*linux*]
+ return $text
+ }
+
++ set curr_ldflags $LDFLAGS
++ if { [istarget powerpc*-*-*] && ![istarget powerpc64*-*-*] } {
++ # Don't generate an executable .plt section
++ set LDFLAGS "$LDFLAGS --secure-plt"
++ }
++
+ # Since the warnings can be disabled by configure, ensure consistency
+ # of the first test by forcing the flags.
+ run_ld_link_tests [list \
+@@ -285,6 +291,8 @@ if { [istarget *-*-*linux*]
+ "rwx-segments-3.exe"] \
+ ]
+
++ set LDFLAGS $curr_ldflags
++
+ if { [target_defaults_to_execstack] } {
+ run_ld_link_tests [list \
+ [list "PR ld/29072 (warn about absent .note.GNU-stack)" \
diff --git a/patches/binutils-2.40/0006-PR30046-power-cmpi-leads-to-unknown-architecture.patch b/patches/binutils-2.40/0006-PR30046-power-cmpi-leads-to-unknown-architecture.patch
new file mode 100644
index 0000000..60a2c42
--- /dev/null
+++ b/patches/binutils-2.40/0006-PR30046-power-cmpi-leads-to-unknown-architecture.patch
@@ -0,0 +1,55 @@
+From: Alan Modra <amodra@gmail.com>
+Date: Thu, 16 Feb 2023 20:47:44 +1030
+Subject: [PATCH] PR30046, power cmpi leads to unknown architecture
+
+PowerPC ELF always uses bfd_arch_powerpc, so we shouldn't allow the
+gas -mpwr, -mpwr2 or -mpwrx options to choose bfd_arch_rs6000.
+Given the possible values of ppc_cpu, I think the as_fatal at the end
+of ppc_arch will never be reached, so it can be deleted and the code
+simplified a little.
+
+ PR 30046
+ * config/tc-ppc.c (ppc_arch): Return bfd_arch_powerpc for ELF.
+ Delete dead code.
+
+(cherry picked from commit 4d826e132ccc38c3081209bf3a7a107f8b23ffd4)
+---
+ gas/config/tc-ppc.c | 14 +++++++-------
+ 1 file changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/gas/config/tc-ppc.c b/gas/config/tc-ppc.c
+index 9450fa74de1b..a3af5f5e276c 100644
+--- a/gas/config/tc-ppc.c
++++ b/gas/config/tc-ppc.c
+@@ -1496,9 +1496,11 @@ ppc_set_cpu (void)
+ enum bfd_architecture
+ ppc_arch (void)
+ {
+- const char *default_cpu = TARGET_CPU;
+ ppc_set_cpu ();
+
++#ifdef OBJ_ELF
++ return bfd_arch_powerpc;
++#else
+ if ((ppc_cpu & PPC_OPCODE_PPC) != 0)
+ return bfd_arch_powerpc;
+ if ((ppc_cpu & PPC_OPCODE_VLE) != 0)
+@@ -1507,14 +1509,12 @@ ppc_arch (void)
+ return bfd_arch_rs6000;
+ if ((ppc_cpu & (PPC_OPCODE_COMMON | PPC_OPCODE_ANY)) != 0)
+ {
+- if (strcmp (default_cpu, "rs6000") == 0)
+- return bfd_arch_rs6000;
+- else if (startswith (default_cpu, "powerpc"))
++ const char *default_cpu = TARGET_CPU;
++ if (startswith (default_cpu, "powerpc"))
+ return bfd_arch_powerpc;
+ }
+-
+- as_fatal (_("neither Power nor PowerPC opcodes were selected."));
+- return bfd_arch_unknown;
++ return bfd_arch_rs6000;
++#endif
+ }
+
+ unsigned long
diff --git a/patches/binutils-2.40/0007-PR30155-ld-segfault-in-_bfd_nearby_section.patch b/patches/binutils-2.40/0007-PR30155-ld-segfault-in-_bfd_nearby_section.patch
new file mode 100644
index 0000000..ff86c29
--- /dev/null
+++ b/patches/binutils-2.40/0007-PR30155-ld-segfault-in-_bfd_nearby_section.patch
@@ -0,0 +1,148 @@
+From: Alan Modra <amodra@gmail.com>
+Date: Thu, 23 Feb 2023 18:23:12 +1030
+Subject: [PATCH] PR30155, ld segfault in _bfd_nearby_section
+
+The segfault was a symptom of messing with the absolute section next
+field, confusing bfd_section_removed_from_list in linker.c:fix_syms.
+That's not all that was going wrong. The INSERT list of output
+sections was being inserted into itself, ie. lost from the main
+list of linker statements.
+
+ PR 30155
+ * ldlang.c (process_insert_statements): Handle pathological
+ case of the insert script being inserted before the first
+ output section statement in the default script.
+ (output_prev_sec_find): Don't test section owner here.
+ (insert_os_after): Change parameter to a list union pointer.
+ (lang_insert_orphan): Test section owner here and adjust
+ insert_os_after call.
+
+(cherry picked from commit 18e7a6587e3f111e9367ea707f9eb21acf4b9af7)
+---
+ ld/ldlang.c | 65 ++++++++++++++++++++++++++++++++++++++++++++++++-------------
+ 1 file changed, 52 insertions(+), 13 deletions(-)
+
+diff --git a/ld/ldlang.c b/ld/ldlang.c
+index b66d8c6bc1dd..f3c282e15c64 100644
+--- a/ld/ldlang.c
++++ b/ld/ldlang.c
+@@ -1773,7 +1773,7 @@ output_prev_sec_find (lang_output_section_statement_type *os)
+ if (lookup->constraint < 0)
+ continue;
+
+- if (lookup->bfd_section != NULL && lookup->bfd_section->owner != NULL)
++ if (lookup->bfd_section != NULL)
+ return lookup->bfd_section;
+ }
+
+@@ -1792,13 +1792,13 @@ output_prev_sec_find (lang_output_section_statement_type *os)
+ image symbols. */
+
+ static lang_statement_union_type **
+-insert_os_after (lang_output_section_statement_type *after)
++insert_os_after (lang_statement_union_type *after)
+ {
+ lang_statement_union_type **where;
+ lang_statement_union_type **assign = NULL;
+ bool ignore_first;
+
+- ignore_first = after == (void *) lang_os_list.head;
++ ignore_first = after == lang_os_list.head;
+
+ for (where = &after->header.next;
+ *where != NULL;
+@@ -1935,7 +1935,9 @@ lang_insert_orphan (asection *s,
+ if (bfd_section == NULL)
+ bfd_section = output_prev_sec_find (after);
+
+- if (bfd_section != NULL && bfd_section != snew)
++ if (bfd_section != NULL
++ && bfd_section->owner != NULL
++ && bfd_section != snew)
+ place->section = &bfd_section->next;
+ }
+
+@@ -2158,8 +2160,9 @@ lang_insert_orphan (asection *s,
+ /* Place OS after AFTER if AFTER_NOTE is TRUE. */
+ if (place_after)
+ {
+- lang_statement_union_type **where = insert_os_after (after);
++ lang_statement_union_type **where;
+
++ where = insert_os_after ((lang_statement_union_type *) after);
+ *add.tail = *where;
+ *where = add.head;
+
+@@ -4369,21 +4372,55 @@ process_insert_statements (lang_statement_union_type **start)
+ else
+ link_info.output_bfd->section_last = first_sec->prev;
+ /* Add back. */
+- last_sec->next = sec->next;
+- if (sec->next != NULL)
+- sec->next->prev = last_sec;
++ if (sec->owner == NULL)
++ /* SEC is the absolute section, from the
++ first dummy output section statement. Add
++ back the sections we trimmed off to the
++ start of the bfd sections. */
++ sec = NULL;
++ if (sec != NULL)
++ last_sec->next = sec->next;
++ else
++ last_sec->next = link_info.output_bfd->sections;
++ if (last_sec->next != NULL)
++ last_sec->next->prev = last_sec;
+ else
+ link_info.output_bfd->section_last = last_sec;
+ first_sec->prev = sec;
+- sec->next = first_sec;
++ if (first_sec->prev != NULL)
++ first_sec->prev->next = first_sec;
++ else
++ link_info.output_bfd->sections = first_sec;
+ }
+ }
+-
+- first_os = NULL;
+- last_os = NULL;
+ }
+
+- ptr = insert_os_after (where);
++ lang_statement_union_type *after = (void *) where;
++ if (where == &lang_os_list.head->output_section_statement
++ && where->next == first_os)
++ {
++ /* PR30155. Handle a corner case where the statement
++ list is something like the following:
++ . LOAD t.o
++ . .data 0x0000000000000000 0x0
++ . [0x0000000000000000] b = .
++ . *(.data)
++ . .data 0x0000000000000000 0x0 t.o
++ . 0x0000000000000000 0x4 LONG 0x0
++ . INSERT BEFORE .text.start
++ . [0x0000000000000004] a = .
++ . .text.start 0x0000000000000000 0x0
++ . [0x0000000000000000] c = .
++ . OUTPUT(a.out elf64-x86-64)
++ Here we do not want to allow insert_os_after to
++ choose a point inside the list we are moving.
++ That would lose the list. Instead, let
++ insert_os_after work from the INSERT, which in this
++ particular example will result in inserting after
++ the assignment "a = .". */
++ after = *s;
++ }
++ ptr = insert_os_after (after);
+ /* Snip everything from the start of the list, up to and
+ including the insert statement we are currently processing. */
+ first = *start;
+@@ -4394,6 +4431,8 @@ process_insert_statements (lang_statement_union_type **start)
+ statement_list.tail = s;
+ *ptr = first;
+ s = start;
++ first_os = NULL;
++ last_os = NULL;
+ continue;
+ }
+ s = &(*s)->header.next;
diff --git a/patches/binutils-2.40/0008-PR30198-Assertion-and-segfault-when-linking-x86_64-e.patch b/patches/binutils-2.40/0008-PR30198-Assertion-and-segfault-when-linking-x86_64-e.patch
new file mode 100644
index 0000000..4cae58b
--- /dev/null
+++ b/patches/binutils-2.40/0008-PR30198-Assertion-and-segfault-when-linking-x86_64-e.patch
@@ -0,0 +1,47 @@
+From: Alan Modra <amodra@gmail.com>
+Date: Mon, 6 Mar 2023 10:43:53 +1030
+Subject: [PATCH] PR30198, Assertion and segfault when linking x86_64 elf and
+ coff
+
+ PR 30198
+ * coff-x86_64.c (coff_amd64_reloc): Set *error_message when
+ returning bfd_reloc_dangerous. Also check that __ImageBase is
+ defined before accessing h->u.def.
+
+(cherry picked from commit 889d15d574a8c43c44dc0983343897e47874a2b6)
+---
+ bfd/coff-x86_64.c | 20 ++++++++++++--------
+ 1 file changed, 12 insertions(+), 8 deletions(-)
+
+diff --git a/bfd/coff-x86_64.c b/bfd/coff-x86_64.c
+index 13061cdacff0..822504a339b1 100644
+--- a/bfd/coff-x86_64.c
++++ b/bfd/coff-x86_64.c
+@@ -139,15 +139,19 @@ coff_amd64_reloc (bfd *abfd,
+ break;
+ case bfd_target_elf_flavour:
+ /* Subtract __ImageBase. */
++ h = NULL;
+ link_info = _bfd_get_link_info (obfd);
+- if (link_info == NULL)
+- return bfd_reloc_dangerous;
+- h = bfd_link_hash_lookup (link_info->hash, "__ImageBase",
+- false, false, false);
+- if (h == NULL)
+- return bfd_reloc_dangerous;
+- while (h->type == bfd_link_hash_indirect)
+- h = h->u.i.link;
++ if (link_info != NULL)
++ h = bfd_link_hash_lookup (link_info->hash, "__ImageBase",
++ false, false, true);
++ if (h == NULL
++ || (h->type != bfd_link_hash_defined
++ && h->type != bfd_link_hash_defweak))
++ {
++ *error_message
++ = (char *) _("R_AMD64_IMAGEBASE with __ImageBase undefined");
++ return bfd_reloc_dangerous;
++ }
+ /* ELF symbols in relocatable files are section relative,
+ but in nonrelocatable files they are virtual addresses. */
+ diff -= (h->u.def.value
diff --git a/patches/binutils-2.40/0009-PR30217-dynamic-relocations-using-local-dynamic-symb.patch b/patches/binutils-2.40/0009-PR30217-dynamic-relocations-using-local-dynamic-symb.patch
new file mode 100644
index 0000000..5d45667
--- /dev/null
+++ b/patches/binutils-2.40/0009-PR30217-dynamic-relocations-using-local-dynamic-symb.patch
@@ -0,0 +1,154 @@
+From: Alan Modra <amodra@gmail.com>
+Date: Wed, 15 Mar 2023 18:07:44 +1030
+Subject: [PATCH] PR30217, dynamic relocations using local dynamic symbols
+
+glibc's ld.so ignores local dynamic symbols. It's been that way
+forever. We therefore can't use them on dynamic relocations. Fixing
+that problem uncovered another problem in sorting of dynamic relocs,
+caused no doubt by copying make_iplt_section (where we don't want
+reloc sorting by the generic gold function, we want iplt relocs last)
+to make_lplt_section (where we do want sorting).
+
+ PR 30217
+ * powerpc.cc (branch_needs_plt_entry): New function.
+ (Target_powerpc::plt_off): Use it here..
+ (Target_powerpc::Scan::global): ..and here to correct PLT16 reloc
+ handling for forced-local global symbols.
+ (Output_data_plt_powerpc::add_entry): Rename "stash"
+ parameter "is_local". Emit relative relocs for globals that
+ are forced local, and don't set_needs_dynsym_entry.
+ (Target_powerpc::make_lplt_section): Don't create a separate
+ reloc section, use rela_dyn.
+ (Target_powerpc::make_brlt_section): Likewise.
+
+(cherry picked from commit 0961e631575b0a1eafccf32fbde56d456aef9169)
+---
+ gold/powerpc.cc | 63 +++++++++++++++++++++++++++++++++++----------------------
+ 1 file changed, 39 insertions(+), 24 deletions(-)
+
+diff --git a/gold/powerpc.cc b/gold/powerpc.cc
+index 4144a8800c3c..a847dadf9003 100644
+--- a/gold/powerpc.cc
++++ b/gold/powerpc.cc
+@@ -636,6 +636,24 @@ enum Got_type
+ GOT_TYPE_SMALL_TPREL = 7
+ };
+
++// gsym->needs_plt_entry purpose is to decide whether a non-branch
++// reloc should reference a plt entry. It can't be used to decide
++// whether branches need a plt entry. In fact the call to
++// needs_plt_entry here is not needed; All cases where it might
++// return true ought to be covered already. However, since this
++// function is used to decide between plt_ and lplt_ sections in
++// plt_off, make certain that every case where make_plt_entry puts
++// entries in plt_ is covered here.
++static bool
++branch_needs_plt_entry(const Symbol* gsym)
++{
++ return (((!gsym->is_defined()
++ || gsym->is_from_dynobj()
++ || gsym->is_preemptible())
++ && !gsym->final_value_is_known())
++ || gsym->needs_plt_entry());
++}
++
+ template<int size, bool big_endian>
+ class Target_powerpc : public Sized_target<size, big_endian>
+ {
+@@ -927,7 +945,7 @@ class Target_powerpc : public Sized_target<size, big_endian>
+ if (gsym->type() == elfcpp::STT_GNU_IFUNC
+ && gsym->can_use_relative_reloc(false))
+ *sec = this->iplt_section();
+- else if (!parameters->doing_static_link())
++ else if (branch_needs_plt_entry(gsym))
+ *sec = this->plt_section();
+ else
+ *sec = this->lplt_section();
+@@ -4133,7 +4151,7 @@ class Output_data_plt_powerpc : public Output_section_data_build
+ template<int size, bool big_endian>
+ void
+ Output_data_plt_powerpc<size, big_endian>::add_entry(Symbol* gsym,
+- bool stash)
++ bool is_local)
+ {
+ if (!gsym->has_plt_offset())
+ {
+@@ -4143,13 +4161,24 @@ Output_data_plt_powerpc<size, big_endian>::add_entry(Symbol* gsym,
+ gsym->set_plt_offset(off);
+ if (this->rel_)
+ {
+- gsym->set_needs_dynsym_entry();
+- unsigned int dynrel = elfcpp::R_POWERPC_JMP_SLOT;
+- this->rel_->add_global(gsym, dynrel, this, off, 0);
++ if (is_local)
++ {
++ unsigned int dynrel = elfcpp::R_POWERPC_RELATIVE;
++ if (size == 64 && this->targ_->abiversion() < 2)
++ dynrel = elfcpp::R_POWERPC_JMP_SLOT;
++ this->rel_->add_symbolless_global_addend(gsym, dynrel,
++ this, off, 0);
++ }
++ else
++ {
++ gsym->set_needs_dynsym_entry();
++ unsigned int dynrel = elfcpp::R_POWERPC_JMP_SLOT;
++ this->rel_->add_global(gsym, dynrel, this, off, 0);
++ }
+ }
+ off += this->plt_entry_size();
+ this->set_current_data_size(off);
+- if (stash)
++ if (is_local)
+ {
+ Local_plt_ent sym(gsym);
+ this->sym_ents_.push_back(sym);
+@@ -4493,13 +4522,7 @@ Target_powerpc<size, big_endian>::make_lplt_section(Symbol_table* symtab,
+ {
+ Reloc_section* lplt_rel = NULL;
+ if (parameters->options().output_is_position_independent())
+- {
+- lplt_rel = new Reloc_section(false);
+- this->rela_dyn_section(layout);
+- if (this->rela_dyn_->output_section())
+- this->rela_dyn_->output_section()
+- ->add_output_section_data(lplt_rel);
+- }
++ lplt_rel = this->rela_dyn_section(layout);
+ this->lplt_
+ = new Output_data_plt_powerpc<size, big_endian>(this, symtab, lplt_rel,
+ "** LPLT");
+@@ -4609,11 +4632,7 @@ Target_powerpc<size, big_endian>::make_brlt_section(Layout* layout)
+ {
+ // When PIC we can't fill in .branch_lt but must initialise at
+ // runtime via dynamic relocations.
+- this->rela_dyn_section(layout);
+- brlt_rel = new Reloc_section(false);
+- if (this->rela_dyn_->output_section())
+- this->rela_dyn_->output_section()
+- ->add_output_section_data(brlt_rel);
++ brlt_rel = this->rela_dyn_section(layout);
+ }
+ this->brlt_section_
+ = new Output_data_brlt_powerpc<size, big_endian>(this, brlt_rel);
+@@ -9009,7 +9028,7 @@ Target_powerpc<size, big_endian>::Scan::global(
+ case elfcpp::R_PPC64_PLT16_LO_DS:
+ if (!pushed_ifunc)
+ {
+- if (!parameters->doing_static_link())
++ if (branch_needs_plt_entry(gsym))
+ target->make_plt_entry(symtab, layout, gsym);
+ else
+ target->make_local_plt_entry(symtab, layout, gsym);
+@@ -9028,11 +9047,7 @@ Target_powerpc<size, big_endian>::Scan::global(
+ unsigned int r_sym = elfcpp::elf_r_sym<size>(reloc.get_r_info());
+ target->push_branch(ppc_object, data_shndx, reloc.get_r_offset(),
+ r_type, r_sym, reloc.get_r_addend());
+- if (gsym->needs_plt_entry()
+- || (!gsym->final_value_is_known()
+- && (gsym->is_undefined()
+- || gsym->is_from_dynobj()
+- || gsym->is_preemptible())))
++ if (branch_needs_plt_entry(gsym))
+ target->make_plt_entry(symtab, layout, gsym);
+ }
+ // Fall through.
diff --git a/patches/binutils-2.40/0010-coff_get_normalized_symtab-bfd_release.patch b/patches/binutils-2.40/0010-coff_get_normalized_symtab-bfd_release.patch
new file mode 100644
index 0000000..cf51d97
--- /dev/null
+++ b/patches/binutils-2.40/0010-coff_get_normalized_symtab-bfd_release.patch
@@ -0,0 +1,33 @@
+From: Alan Modra <amodra@gmail.com>
+Date: Wed, 22 Mar 2023 10:13:46 +1030
+Subject: [PATCH] coff_get_normalized_symtab bfd_release
+
+We can't free "internal" on errors, since bfd_coff_swap_sym_in may
+call bfd_alloc. For example, _bfd_XXi_swap_sym_in may even create new
+sections, which use bfd_alloc'd memory. If "internal" is freed, all
+more recently bfd_alloc'd memory is also freed.
+
+ * coffgen.c (coff_get_normalized_symtab): Don't bfd_release on
+ error.
+
+(cherry picked from commit bcefc6be9754d45fb9391993e6daaf01a68d9bd5)
+---
+ bfd/coffgen.c | 5 +----
+ 1 file changed, 1 insertion(+), 4 deletions(-)
+
+diff --git a/bfd/coffgen.c b/bfd/coffgen.c
+index 74636a9e3051..e9455c82a336 100644
+--- a/bfd/coffgen.c
++++ b/bfd/coffgen.c
+@@ -1756,10 +1756,7 @@ coff_get_normalized_symtab (bfd *abfd)
+
+ /* PR 17512: Prevent buffer overrun. */
+ if (symbol_ptr->u.syment.n_numaux > ((raw_end - 1) - raw_src) / symesz)
+- {
+- bfd_release (abfd, internal);
+- return NULL;
+- }
++ return NULL;
+
+ for (i = 0;
+ i < symbol_ptr->u.syment.n_numaux;
diff --git a/patches/binutils-2.40/0011-libctf-fix-assertion-failure-with-no-system-qsort_r.patch b/patches/binutils-2.40/0011-libctf-fix-assertion-failure-with-no-system-qsort_r.patch
new file mode 100644
index 0000000..21fb5fa
--- /dev/null
+++ b/patches/binutils-2.40/0011-libctf-fix-assertion-failure-with-no-system-qsort_r.patch
@@ -0,0 +1,37 @@
+From: Nick Alcock <nick.alcock@oracle.com>
+Date: Mon, 23 Jan 2023 13:11:32 +0000
+Subject: [PATCH] libctf: fix assertion failure with no system qsort_r
+
+If no suitable qsort_r is found in libc, we fall back to an
+implementation in ctf-qsort.c. But this implementation routinely calls
+the comparison function with two identical arguments. The comparison
+function that ensures that the order of output types is stable is not
+ready for this, misinterprets it as a type appearing more that once (a
+can-never-happen condition) and fails with an assertion failure.
+
+Fixed, audited for further instances of the same failure (none found)
+and added a no-qsort test to my regular testsuite run.
+
+libctf/:
+ PR libctf/30013
+ * ctf-dedup.c (sort_output_mapping): Inputs are always equal to
+ themselves.
+---
+ libctf/ctf-dedup.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/libctf/ctf-dedup.c b/libctf/ctf-dedup.c
+index c46f69e7449f..6297c45c84d6 100644
+--- a/libctf/ctf-dedup.c
++++ b/libctf/ctf-dedup.c
+@@ -2306,6 +2306,10 @@ sort_output_mapping (const ctf_next_hkv_t *one, const ctf_next_hkv_t *two,
+ ctf_id_t one_type;
+ ctf_id_t two_type;
+
++ /* Inputs are always equal to themselves. */
++ if (one == two)
++ return 0;
++
+ one_gid = ctf_dynhash_lookup (d->cd_output_first_gid, one_hval);
+ two_gid = ctf_dynhash_lookup (d->cd_output_first_gid, two_hval);
+
diff --git a/patches/binutils-2.40/0012-libctf-get-the-offsets-of-fields-of-unnamed-structs-.patch b/patches/binutils-2.40/0012-libctf-get-the-offsets-of-fields-of-unnamed-structs-.patch
new file mode 100644
index 0000000..a5798ea
--- /dev/null
+++ b/patches/binutils-2.40/0012-libctf-get-the-offsets-of-fields-of-unnamed-structs-.patch
@@ -0,0 +1,175 @@
+From: Nick Alcock <nick.alcock@oracle.com>
+Date: Thu, 23 Mar 2023 00:15:17 +0000
+Subject: [PATCH] libctf: get the offsets of fields of unnamed structs/unions
+ right
+
+We were failing to add the offsets of the containing struct/union
+in this case, leading to all offsets being relative to the unnamed
+struct/union itself.
+
+libctf/
+ PR libctf/30264
+ * ctf-types.c (ctf_member_info): Add the offset of the unnamed
+ member of the current struct as necessary.
+ * testsuite/libctf-lookup/unnamed-field-info*: New test.
+---
+ libctf/ctf-types.c | 5 +-
+ .../libctf-lookup/unnamed-field-info-ctf.c | 36 ++++++++++
+ .../testsuite/libctf-lookup/unnamed-field-info.c | 79 ++++++++++++++++++++++
+ .../testsuite/libctf-lookup/unnamed-field-info.lk | 2 +
+ 4 files changed, 121 insertions(+), 1 deletion(-)
+ create mode 100644 libctf/testsuite/libctf-lookup/unnamed-field-info-ctf.c
+ create mode 100644 libctf/testsuite/libctf-lookup/unnamed-field-info.c
+ create mode 100644 libctf/testsuite/libctf-lookup/unnamed-field-info.lk
+
+diff --git a/libctf/ctf-types.c b/libctf/ctf-types.c
+index d21f6d5ff992..dd82053e1d7b 100644
+--- a/libctf/ctf-types.c
++++ b/libctf/ctf-types.c
+@@ -1417,7 +1417,10 @@ ctf_member_info (ctf_dict_t *fp, ctf_id_t type, const char *name,
+ && (ctf_type_kind (fp, memb.ctlm_type) == CTF_K_STRUCT
+ || ctf_type_kind (fp, memb.ctlm_type) == CTF_K_UNION)
+ && (ctf_member_info (fp, memb.ctlm_type, name, mip) == 0))
+- return 0;
++ {
++ mip->ctm_offset += (unsigned long) CTF_LMEM_OFFSET (&memb);
++ return 0;
++ }
+
+ if (strcmp (membname, name) == 0)
+ {
+diff --git a/libctf/testsuite/libctf-lookup/unnamed-field-info-ctf.c b/libctf/testsuite/libctf-lookup/unnamed-field-info-ctf.c
+new file mode 100644
+index 000000000000..54d60f5b1956
+--- /dev/null
++++ b/libctf/testsuite/libctf-lookup/unnamed-field-info-ctf.c
+@@ -0,0 +1,36 @@
++struct A
++{
++ int a;
++ char *b;
++ struct
++ {
++ struct
++ {
++ char *one;
++ int two;
++ };
++ union
++ {
++ char *three;
++ };
++ };
++ struct
++ {
++ int four;
++ };
++ union
++ {
++ struct
++ {
++ double x;
++ long y;
++ };
++ struct
++ {
++ struct { char *foo; } z;
++ float aleph;
++ };
++ };
++};
++
++struct A used;
+diff --git a/libctf/testsuite/libctf-lookup/unnamed-field-info.c b/libctf/testsuite/libctf-lookup/unnamed-field-info.c
+new file mode 100644
+index 000000000000..9abe8b026bba
+--- /dev/null
++++ b/libctf/testsuite/libctf-lookup/unnamed-field-info.c
+@@ -0,0 +1,79 @@
++/* Make sure unnamed field offsets are relative to the containing struct. */
++
++#include <ctf-api.h>
++#include <stddef.h>
++#include <stdio.h>
++#include <stdlib.h>
++
++#include "unnamed-field-info-ctf.c"
++
++static void
++verify_offsetof_matching (ctf_dict_t *fp, ctf_id_t type, const char *name, size_t offset)
++{
++ ctf_membinfo_t mi;
++
++ if (ctf_member_info (fp, type, name, &mi) < 0)
++ goto err;
++
++ if (mi.ctm_offset != offset * 8)
++ fprintf (stderr, "field %s inconsistency: offsetof() says %zi bits, CTF says %zi\n",
++ name, offset * 8, mi.ctm_offset);
++
++ return;
++
++ err:
++ fprintf (stderr, "Cannot look up field %s: %s\n", name,
++ ctf_errmsg (ctf_errno (fp)));
++ return;
++}
++
++int
++main (int argc, char *argv[])
++{
++ ctf_dict_t *fp;
++ ctf_archive_t *ctf;
++ ctf_id_t type;
++ int err;
++
++ if (argc != 2)
++ {
++ fprintf (stderr, "Syntax: %s PROGRAM\n", argv[0]);
++ exit(1);
++ }
++
++ if ((ctf = ctf_open (argv[1], NULL, &err)) == NULL)
++ goto open_err;
++ if ((fp = ctf_dict_open (ctf, NULL, &err)) == NULL)
++ goto open_err;
++
++ /* Dig out some structure members by name. */
++
++ if ((type = ctf_lookup_by_name (fp, "struct A") ) == CTF_ERR)
++ goto err;
++
++ verify_offsetof_matching (fp, type, "a", offsetof (struct A, a));
++ verify_offsetof_matching (fp, type, "b", offsetof (struct A, b));
++ verify_offsetof_matching (fp, type, "one", offsetof (struct A, one));
++ verify_offsetof_matching (fp, type, "two", offsetof (struct A, two));
++ verify_offsetof_matching (fp, type, "three", offsetof (struct A, three));
++ verify_offsetof_matching (fp, type, "four", offsetof (struct A, four));
++ verify_offsetof_matching (fp, type, "x", offsetof (struct A, x));
++ verify_offsetof_matching (fp, type, "y", offsetof (struct A, y));
++ verify_offsetof_matching (fp, type, "z", offsetof (struct A, z));
++ verify_offsetof_matching (fp, type, "aleph", offsetof (struct A, aleph));
++
++ ctf_dict_close (fp);
++ ctf_arc_close (ctf);
++
++ printf ("Offset validation complete.\n");
++
++ return 0;
++
++ open_err:
++ fprintf (stderr, "%s: cannot open: %s\n", argv[0], ctf_errmsg (err));
++ return 1;
++
++ err:
++ fprintf (stderr, "Cannot look up type: %s\n", ctf_errmsg (ctf_errno (fp)));
++ return 1;
++}
+diff --git a/libctf/testsuite/libctf-lookup/unnamed-field-info.lk b/libctf/testsuite/libctf-lookup/unnamed-field-info.lk
+new file mode 100644
+index 000000000000..eae6a517d50a
+--- /dev/null
++++ b/libctf/testsuite/libctf-lookup/unnamed-field-info.lk
+@@ -0,0 +1,2 @@
++# source: unnamed-field-info-ctf.c
++Offset validation complete.
diff --git a/patches/binutils-2.40/0013-gas-arm-Fix-a-further-IT-predicated-vcvt-issue-in-th.patch b/patches/binutils-2.40/0013-gas-arm-Fix-a-further-IT-predicated-vcvt-issue-in-th.patch
new file mode 100644
index 0000000..82a4c91
--- /dev/null
+++ b/patches/binutils-2.40/0013-gas-arm-Fix-a-further-IT-predicated-vcvt-issue-in-th.patch
@@ -0,0 +1,203 @@
+From: Stam Markianos-Wright <stam.markianos-wright@arm.com>
+Date: Tue, 17 Jan 2023 12:57:47 +0000
+Subject: [PATCH] gas: arm: Fix a further IT-predicated vcvt issue in the
+ presense of MVE vcvtn
+
+Previously we had experienced issues with assembling a "VCVTNE" instruction
+in the presence of the MVE architecture extension, because it could be
+interpreted both as:
+
+* The base instruction VCVT + NE for IT predication when inside an IT block.
+* The MVE instruction VCVTN + E in the Else of a VPT block.
+
+Given a C reproducer of:
+```
+int test_function(float value)
+{
+ int ret_val = 10;
+ if (value != 0.0)
+ {
+ ret_val = (int) value;
+ }
+ return ret_val;
+}
+```
+GCC generates a VCVTNE instruction based on the `truncsisf2_vfp`
+pattern, which will look like:
+`vcvtne.s32.f32 s-reg, s-reg`
+This still triggers an error due to being misidentified as "vcvtn+e"
+Similar errors were found with other type combinations and instruction
+patterns (these have all been added to the testing of this patch).
+
+This class of errors was previously worked around by:
+https://sourceware.org/pipermail/binutils/2020-August/112728.html
+which addressed this by looking at the operand types, however,
+that isn't adequate to cover all the extra cases that have been
+found. Instead, we add some special-casing logic earlier when
+the instructions are parsed that is conditional on whether we are
+in a VPT block or not, when the instruction is parsed.
+
+gas/ChangeLog:
+
+ * config/tc-arm.c (opcode_lookup): Add special vcvtn handling.
+ * testsuite/gas/arm/mve-vcvtne-it-bad.l: Add further testing.
+ * testsuite/gas/arm/mve-vcvtne-it-bad.s: Likewise.
+ * testsuite/gas/arm/mve-vcvtne-it.d: Likewise.
+ * testsuite/gas/arm/mve-vcvtne-it.s: Likewise.
+---
+ gas/config/tc-arm.c | 27 +++++++++++++++++----------
+ gas/testsuite/gas/arm/mve-vcvtne-it-bad.l | 15 +++++++++++++++
+ gas/testsuite/gas/arm/mve-vcvtne-it-bad.s | 11 +++++++++++
+ gas/testsuite/gas/arm/mve-vcvtne-it.d | 23 ++++++++++++++++++++++-
+ gas/testsuite/gas/arm/mve-vcvtne-it.s | 18 +++++++++++++++++-
+ 5 files changed, 82 insertions(+), 12 deletions(-)
+
+diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c
+index a5687ba0f055..d86a37507942 100644
+--- a/gas/config/tc-arm.c
++++ b/gas/config/tc-arm.c
+@@ -19187,16 +19187,6 @@ do_neon_cvt_1 (enum neon_cvt_mode mode)
+ return;
+ }
+
+- if ((rs == NS_FD || rs == NS_QQI) && mode == neon_cvt_mode_n
+- && ARM_CPU_HAS_FEATURE (cpu_variant, mve_ext))
+- {
+- /* We are dealing with vcvt with the 'ne' condition. */
+- inst.cond = 0x1;
+- inst.instruction = N_MNEM_vcvt;
+- do_neon_cvt_1 (neon_cvt_mode_z);
+- return;
+- }
+-
+ /* VFP rather than Neon conversions. */
+ if (flavour >= neon_cvt_flavour_first_fp)
+ {
+@@ -22792,6 +22782,23 @@ opcode_lookup (char **str)
+ cond = (const struct asm_cond *) str_hash_find_n (arm_vcond_hsh, affix, 1);
+ opcode = (const struct asm_opcode *) str_hash_find_n (arm_ops_hsh, base,
+ affix - base);
++
++ /* A known edge case is a conflict between an 'e' as a suffix for an
++ Else of a VPT predication block and an 'ne' suffix for an IT block.
++ If we detect that edge case here and we are not in a VPT VECTOR_PRED
++ block, reset opcode and cond, so that the 'ne' case can be detected
++ in the next section for 2-character conditional suffixes.
++ An example where this is a problem is between the MVE 'vcvtn' and the
++ non-MVE 'vcvt' instructions. */
++ if (cond && opcode
++ && cond->template_name[0] == 'e'
++ && opcode->template_name[affix - base - 1] == 'n'
++ && now_pred.type != VECTOR_PRED)
++ {
++ opcode = NULL;
++ cond = NULL;
++ }
++
+ /* If this opcode can not be vector predicated then don't accept it with a
+ vector predication code. */
+ if (opcode && !opcode->mayBeVecPred)
+diff --git a/gas/testsuite/gas/arm/mve-vcvtne-it-bad.l b/gas/testsuite/gas/arm/mve-vcvtne-it-bad.l
+index 8765ae0d6912..ca57a38537c6 100644
+--- a/gas/testsuite/gas/arm/mve-vcvtne-it-bad.l
++++ b/gas/testsuite/gas/arm/mve-vcvtne-it-bad.l
+@@ -1,2 +1,17 @@
+ [^:]*: Assembler messages:
+ [^:]*:3: Error: thumb conditional instruction should be in IT block -- `vcvtne.s32.f64 s13,d8'
++[^:]*:4: Error: thumb conditional instruction should be in IT block -- `vcvtne.u32.f64 s13,d8'
++[^:]*:5: Error: thumb conditional instruction should be in IT block -- `vcvtne.s32.f32 s13,s8'
++[^:]*:6: Error: thumb conditional instruction should be in IT block -- `vcvtne.u32.f32 s13,s8'
++[^:]*:7: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++[^:]*:7: Error: thumb conditional instruction should be in IT block -- `vcvtne.s32.f16 s13,s8'
++[^:]*:8: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++[^:]*:8: Error: thumb conditional instruction should be in IT block -- `vcvtne.u32.f16 s13,s8'
++[^:]*:9: Error: thumb conditional instruction should be in IT block -- `vcvtne.f64.s32 d13,s8'
++[^:]*:10: Error: thumb conditional instruction should be in IT block -- `vcvtne.f64.u32 d13,s8'
++[^:]*:11: Error: thumb conditional instruction should be in IT block -- `vcvtne.f32.s32 s13,s8'
++[^:]*:12: Error: thumb conditional instruction should be in IT block -- `vcvtne.f32.u32 s13,s8'
++[^:]*:13: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++[^:]*:13: Error: thumb conditional instruction should be in IT block -- `vcvtne.f16.s32 s13,s8'
++[^:]*:14: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++[^:]*:14: Error: thumb conditional instruction should be in IT block -- `vcvtne.f16.u32 s13,s8'
+diff --git a/gas/testsuite/gas/arm/mve-vcvtne-it-bad.s b/gas/testsuite/gas/arm/mve-vcvtne-it-bad.s
+index e4c1b9990653..b7d83f6fe0df 100644
+--- a/gas/testsuite/gas/arm/mve-vcvtne-it-bad.s
++++ b/gas/testsuite/gas/arm/mve-vcvtne-it-bad.s
+@@ -1,3 +1,14 @@
+ .syntax unified
+ .text
+ vcvtne.s32.f64 s13, d8
++vcvtne.u32.f64 s13, d8
++vcvtne.s32.f32 s13, s8
++vcvtne.u32.f32 s13, s8
++vcvtne.s32.f16 s13, s8
++vcvtne.u32.f16 s13, s8
++vcvtne.f64.s32 d13, s8
++vcvtne.f64.u32 d13, s8
++vcvtne.f32.s32 s13, s8
++vcvtne.f32.u32 s13, s8
++vcvtne.f16.s32 s13, s8
++vcvtne.f16.u32 s13, s8
+diff --git a/gas/testsuite/gas/arm/mve-vcvtne-it.d b/gas/testsuite/gas/arm/mve-vcvtne-it.d
+index 2bc069a77e5a..27e45753c649 100644
+--- a/gas/testsuite/gas/arm/mve-vcvtne-it.d
++++ b/gas/testsuite/gas/arm/mve-vcvtne-it.d
+@@ -1,10 +1,31 @@
+ # name: Armv8.1-M Mainline vcvt instruction in it block (with MVE)
+ # as: -march=armv8.1-m.main+mve.fp+fp.dp
++#warning: [^:]*: Assembler messages:
++#warning: [^:]*:10: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++#warning: [^:]*:11: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++#warning: [^:]*:19: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++#warning: [^:]*:20: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ # objdump: -dr --prefix-addresses --show-raw-insn -marmv8.1-m.main
+
+ .*: +file format .*arm.*
+
+ Disassembly of section .text:
+-^[^>]*> bf18[ ]+it[ ]+ne
++^[^>]*> bf1c[ ]+itt[ ]+ne
+ ^[^>]*> eefd 6bc8[ ]+vcvtne.s32.f64[ ]+s13, d8
++^[^>]*> eefc 6bc8[ ]+vcvtne.u32.f64[ ]+s13, d8
++^[^>]*> bf1c[ ]+itt[ ]+ne
++^[^>]*> eefd 6ac4[ ]+vcvtne.s32.f32[ ]+s13, s8
++^[^>]*> eefc 6ac4[ ]+vcvtne.u32.f32[ ]+s13, s8
++^[^>]*> bf1c[ ]+itt[ ]+ne
++^[^>]*> eefd 69c4[ ]+vcvtne.s32.f16[ ]+s13, s8.*
++^[^>]*> eefc 69c4[ ]+vcvtne.u32.f16[ ]+s13, s8.*
++^[^>]*> bf1c[ ]+itt[ ]+ne
++^[^>]*> eeb8 dbc4[ ]+vcvtne.f64.s32[ ]+d13, s8
++^[^>]*> eeb8 db44[ ]+vcvtne.f64.u32[ ]+d13, s8
++^[^>]*> bf1c[ ]+itt[ ]+ne
++^[^>]*> eef8 6ac4[ ]+vcvtne.f32.s32[ ]+s13, s8
++^[^>]*> eef8 6a44[ ]+vcvtne.f32.u32[ ]+s13, s8
++^[^>]*> bf1c[ ]+itt[ ]+ne
++^[^>]*> eef8 69c4[ ]+vcvtne.f16.s32[ ]+s13, s8.*
++^[^>]*> eef8 6944[ ]+vcvtne.f16.u32[ ]+s13, s8.*
+ #pass
+diff --git a/gas/testsuite/gas/arm/mve-vcvtne-it.s b/gas/testsuite/gas/arm/mve-vcvtne-it.s
+index a9f260681283..e8be576c2960 100644
+--- a/gas/testsuite/gas/arm/mve-vcvtne-it.s
++++ b/gas/testsuite/gas/arm/mve-vcvtne-it.s
+@@ -1,4 +1,20 @@
+ .syntax unified
+ .text
+-it ne
++itt ne
+ vcvtne.s32.f64 s13, d8
++vcvtne.u32.f64 s13, d8
++itt ne
++vcvtne.s32.f32 s13, s8
++vcvtne.u32.f32 s13, s8
++itt ne
++vcvtne.s32.f16 s13, s8
++vcvtne.u32.f16 s13, s8
++itt ne
++vcvtne.f64.s32 d13, s8
++vcvtne.f64.u32 d13, s8
++itt ne
++vcvtne.f32.s32 s13, s8
++vcvtne.f32.u32 s13, s8
++itt ne
++vcvtne.f16.s32 s13, s8
++vcvtne.f16.u32 s13, s8
diff --git a/patches/binutils-2.40/0014-gas-arm-Change-warning-message-to-not-reference-spec.patch b/patches/binutils-2.40/0014-gas-arm-Change-warning-message-to-not-reference-spec.patch
new file mode 100644
index 0000000..e11ef04
--- /dev/null
+++ b/patches/binutils-2.40/0014-gas-arm-Change-warning-message-to-not-reference-spec.patch
@@ -0,0 +1,782 @@
+From: Stam Markianos-Wright <stam.markianos-wright@arm.com>
+Date: Tue, 17 Jan 2023 13:37:40 +0000
+Subject: [PATCH] gas: arm: Change warning message to not reference specific
+ A-class architecture revision
+
+We noticed that a warning message about the use of scalar fp16
+instructions being UNPREDICTABLE when conditionalized in an IT
+block referenced the specific A-class architecture revision
+ARMv8.2-A.
+Many of these instructions are now also part of ARMv8.1-M, so
+the warning message had become misleading. Here we just change
+the message to not specify an architecture revision at all and
+update all testing accordingly. This was done with a simple
+find-n-replace within the binutils sources. No tests have
+regressed for the arm target.
+
+gas/ChangeLog:
+
+ * config/tc-arm.c (do_scalar_fp16_v82_encode): Remove
+ ARMv8.2-A from the warning message.
+ (do_neon_movhf): Likewise
+ * testsuite/gas/arm/armv8-2-fp16-scalar-bad.l: Likewise
+ * testsuite/gas/arm/mve-vaddsub-it-bad.l: Likewise
+ * testsuite/gas/arm/mve-vcvtne-it-bad.l: Likewise
+ * testsuite/gas/arm/mve-vcvtne-it.d: Likewise
+---
+ gas/config/tc-arm.c | 4 +-
+ gas/testsuite/gas/arm/armv8-2-fp16-scalar-bad.l | 420 ++++++++++++------------
+ gas/testsuite/gas/arm/mve-vaddsub-it-bad.l | 8 +-
+ gas/testsuite/gas/arm/mve-vcvtne-it-bad.l | 8 +-
+ gas/testsuite/gas/arm/mve-vcvtne-it.d | 8 +-
+ 5 files changed, 224 insertions(+), 224 deletions(-)
+
+diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c
+index d86a37507942..c0f6215fbc1b 100644
+--- a/gas/config/tc-arm.c
++++ b/gas/config/tc-arm.c
+@@ -8360,7 +8360,7 @@ static void
+ do_scalar_fp16_v82_encode (void)
+ {
+ if (inst.cond < COND_ALWAYS)
+- as_warn (_("ARMv8.2 scalar fp16 instruction cannot be conditional,"
++ as_warn (_("scalar fp16 instruction cannot be conditional,"
+ " the behaviour is UNPREDICTABLE"));
+ constraint (!ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_fp16),
+ _(BAD_FP16));
+@@ -20595,7 +20595,7 @@ do_neon_movhf (void)
+ {
+ if (thumb_mode)
+ {
+- as_warn (_("ARMv8.2 scalar fp16 instruction cannot be conditional,"
++ as_warn (_("scalar fp16 instruction cannot be conditional,"
+ " the behaviour is UNPREDICTABLE"));
+ }
+ else
+diff --git a/gas/testsuite/gas/arm/armv8-2-fp16-scalar-bad.l b/gas/testsuite/gas/arm/armv8-2-fp16-scalar-bad.l
+index 31ad82e0e45a..3f5a2b8bcf62 100644
+--- a/gas/testsuite/gas/arm/armv8-2-fp16-scalar-bad.l
++++ b/gas/testsuite/gas/arm/armv8-2-fp16-scalar-bad.l
+@@ -3,401 +3,401 @@
+ .*:93: Error: immediate value out of range, expected range \[1, 32\] -- `vcvt.u32.f16 s11,s11,#0'
+ .*:94: Error: immediate value out of range -- `vcvt.f16.s32 s12,s12,#34'
+ .*:95: Error: immediate value out of range -- `vcvt.f16.u32 s12,s12,#-1'
+-.*:4: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:4: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:98: *Info: macro .*
+-.*:4: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:4: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:98: *Info: macro .*
+-.*:4: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:4: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:98: *Info: macro .*
+-.*:4: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:4: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:98: *Info: macro .*
+-.*:4: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:4: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:98: *Info: macro .*
+-.*:4: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:4: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:98: *Info: macro .*
+-.*:4: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:4: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:98: *Info: macro .*
+-.*:4: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:4: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:98: *Info: macro .*
+-.*:4: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:4: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:98: *Info: macro .*
+-.*:4: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:4: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:98: *Info: macro .*
+-.*:4: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:4: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:98: *Info: macro .*
+-.*:4: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:4: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:98: *Info: macro .*
+-.*:4: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:4: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:98: *Info: macro .*
+-.*:4: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:4: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:98: *Info: macro .*
+-.*:4: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:4: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:98: *Info: macro .*
+-.*:4: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:4: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:98: *Info: macro .*
+-.*:4: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:4: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:98: *Info: macro .*
+-.*:4: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:4: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:98: *Info: macro .*
+-.*:4: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:4: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:98: *Info: macro .*
+-.*:4: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:4: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:98: *Info: macro .*
+-.*:4: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:4: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:98: *Info: macro .*
+-.*:4: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:4: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:98: *Info: macro .*
+-.*:4: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:4: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:98: *Info: macro .*
+-.*:4: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:4: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:98: *Info: macro .*
+-.*:4: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:4: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:98: *Info: macro .*
+-.*:4: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:4: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:98: *Info: macro .*
+-.*:4: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:4: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:98: *Info: macro .*
+-.*:4: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:4: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:98: *Info: macro .*
+-.*:4: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:4: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:98: *Info: macro .*
+-.*:4: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:4: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:98: *Info: macro .*
+-.*:4: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:4: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:98: *Info: macro .*
+-.*:4: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:4: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:98: *Info: macro .*
+-.*:4: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:4: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:98: *Info: macro .*
+-.*:4: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:4: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:98: *Info: macro .*
+-.*:4: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:4: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:98: *Info: macro .*
+-.*:4: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:4: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:98: *Info: macro .*
+-.*:4: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:4: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:98: *Info: macro .*
+-.*:4: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:4: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:98: *Info: macro .*
+-.*:4: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:4: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:98: *Info: macro .*
+-.*:4: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:4: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:98: *Info: macro .*
+-.*:4: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:4: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:98: *Info: macro .*
+-.*:4: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:4: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:98: *Info: macro .*
+-.*:4: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:4: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:98: *Info: macro .*
+-.*:4: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:4: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:98: *Info: macro .*
+-.*:4: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:4: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:98: *Info: macro .*
+-.*:4: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:4: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:98: *Info: macro .*
+-.*:4: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:4: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:98: *Info: macro .*
+-.*:4: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:4: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:98: *Info: macro .*
+-.*:4: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:4: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:98: *Info: macro .*
+-.*:4: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:4: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:98: *Info: macro .*
+-.*:4: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:4: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:98: *Info: macro .*
+-.*:4: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:4: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:98: *Info: macro .*
+-.*:4: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:4: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:98: *Info: macro .*
+-.*:4: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:4: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:98: *Info: macro .*
+-.*:4: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:4: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:98: *Info: macro .*
+-.*:4: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:4: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:98: *Info: macro .*
+-.*:4: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:4: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:98: *Info: macro .*
+-.*:4: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:4: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:98: *Info: macro .*
+-.*:4: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:4: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:98: *Info: macro .*
+-.*:4: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:4: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:98: *Info: macro .*
+-.*:4: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:4: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:98: *Info: macro .*
+-.*:4: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:4: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:98: *Info: macro .*
+-.*:4: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:4: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:98: *Info: macro .*
+-.*:4: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:4: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:98: *Info: macro .*
+-.*:4: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:4: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:98: *Info: macro .*
+-.*:4: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:4: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:98: *Info: macro .*
+-.*:4: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:4: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:98: *Info: macro .*
+-.*:4: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:4: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:98: *Info: macro .*
+-.*:4: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:4: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:98: *Info: macro .*
+-.*:4: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:4: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:98: *Info: macro .*
+-.*:4: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:4: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:98: *Info: macro .*
+-.*:4: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:4: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:98: *Info: macro .*
+-.*:12: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:12: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:99: *Info: macro .*
+-.*:12: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:12: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:99: *Info: macro .*
+-.*:12: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:12: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:99: *Info: macro .*
+-.*:12: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:12: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:99: *Info: macro .*
+-.*:12: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:12: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:99: *Info: macro .*
+-.*:12: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:12: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:99: *Info: macro .*
+-.*:12: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:12: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:99: *Info: macro .*
+-.*:12: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:12: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:99: *Info: macro .*
+-.*:12: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:12: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:99: *Info: macro .*
+-.*:12: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:12: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:99: *Info: macro .*
+-.*:12: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:12: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:99: *Info: macro .*
+-.*:12: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:12: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:99: *Info: macro .*
+-.*:12: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:12: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:99: *Info: macro .*
+-.*:12: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:12: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:99: *Info: macro .*
+-.*:12: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:12: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:99: *Info: macro .*
+-.*:12: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:12: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:99: *Info: macro .*
+-.*:12: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:12: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:99: *Info: macro .*
+-.*:12: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:12: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:99: *Info: macro .*
+-.*:12: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:12: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:99: *Info: macro .*
+-.*:12: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:12: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:99: *Info: macro .*
+-.*:12: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:12: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:99: *Info: macro .*
+-.*:12: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:12: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:99: *Info: macro .*
+-.*:12: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:12: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:99: *Info: macro .*
+-.*:12: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:12: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:99: *Info: macro .*
+-.*:20: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:20: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:100: *Info: macro .*
+-.*:20: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:20: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:100: *Info: macro .*
+-.*:20: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:20: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:100: *Info: macro .*
+-.*:20: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:20: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:100: *Info: macro .*
+-.*:20: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:20: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:100: *Info: macro .*
+-.*:20: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:20: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:100: *Info: macro .*
+-.*:20: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:20: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:100: *Info: macro .*
+-.*:20: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:20: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:100: *Info: macro .*
+-.*:20: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:20: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:100: *Info: macro .*
+-.*:20: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:20: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:100: *Info: macro .*
+-.*:20: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:20: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:100: *Info: macro .*
+-.*:20: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:20: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:100: *Info: macro .*
+-.*:28: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:28: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:101: *Info: macro .*
+-.*:28: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:28: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:101: *Info: macro .*
+-.*:28: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:28: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:101: *Info: macro .*
+-.*:28: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:28: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:101: *Info: macro .*
+-.*:28: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:28: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:101: *Info: macro .*
+-.*:28: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:28: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:101: *Info: macro .*
+-.*:28: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:28: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:101: *Info: macro .*
+-.*:28: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:28: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:101: *Info: macro .*
+-.*:28: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:28: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:101: *Info: macro .*
+-.*:28: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:28: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:101: *Info: macro .*
+-.*:28: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:28: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:101: *Info: macro .*
+-.*:28: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:28: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:101: *Info: macro .*
+-.*:36: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:36: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:102: *Info: macro .*
+-.*:36: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:36: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:102: *Info: macro .*
+-.*:36: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:36: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:102: *Info: macro .*
+-.*:36: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:36: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:102: *Info: macro .*
+-.*:36: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:36: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:102: *Info: macro .*
+-.*:36: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:36: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:102: *Info: macro .*
+-.*:36: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:36: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:102: *Info: macro .*
+-.*:36: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:36: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:102: *Info: macro .*
+-.*:36: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:36: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:102: *Info: macro .*
+-.*:36: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:36: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:102: *Info: macro .*
+-.*:36: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:36: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:102: *Info: macro .*
+-.*:36: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:36: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:102: *Info: macro .*
+-.*:36: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:36: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:102: *Info: macro .*
+-.*:36: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:36: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:102: *Info: macro .*
+-.*:36: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:36: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:102: *Info: macro .*
+-.*:36: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:36: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:102: *Info: macro .*
+-.*:36: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:36: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:102: *Info: macro .*
+-.*:36: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:36: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:102: *Info: macro .*
+-.*:36: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:36: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:102: *Info: macro .*
+-.*:36: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:36: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:102: *Info: macro .*
+-.*:36: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:36: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:102: *Info: macro .*
+-.*:36: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:36: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:102: *Info: macro .*
+-.*:36: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:36: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:102: *Info: macro .*
+-.*:36: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:36: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:102: *Info: macro .*
+-.*:44: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:44: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:103: *Info: macro .*
+-.*:44: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:44: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:103: *Info: macro .*
+-.*:44: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:44: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:103: *Info: macro .*
+-.*:44: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:44: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:103: *Info: macro .*
+-.*:44: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:44: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:103: *Info: macro .*
+-.*:44: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:44: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:103: *Info: macro .*
+-.*:44: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:44: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:103: *Info: macro .*
+-.*:44: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:44: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:103: *Info: macro .*
+-.*:44: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:44: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:103: *Info: macro .*
+-.*:44: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:44: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:103: *Info: macro .*
+-.*:44: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:44: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:103: *Info: macro .*
+-.*:44: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:44: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:103: *Info: macro .*
+-.*:44: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:44: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:103: *Info: macro .*
+-.*:44: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:44: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:103: *Info: macro .*
+-.*:44: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:44: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:103: *Info: macro .*
+-.*:44: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:44: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:103: *Info: macro .*
+-.*:44: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:44: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:103: *Info: macro .*
+-.*:44: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:44: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:103: *Info: macro .*
+-.*:44: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:44: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:103: *Info: macro .*
+-.*:44: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:44: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:103: *Info: macro .*
+-.*:44: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:44: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:103: *Info: macro .*
+-.*:44: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:44: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:103: *Info: macro .*
+-.*:44: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:44: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:103: *Info: macro .*
+-.*:44: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:44: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:103: *Info: macro .*
+-.*:52: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:52: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:104: *Info: macro .*
+-.*:52: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:52: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:104: *Info: macro .*
+-.*:52: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:52: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:104: *Info: macro .*
+-.*:52: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:52: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:104: *Info: macro .*
+-.*:52: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:52: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:104: *Info: macro .*
+-.*:52: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:52: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:104: *Info: macro .*
+-.*:52: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:52: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:104: *Info: macro .*
+-.*:52: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:52: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:104: *Info: macro .*
+-.*:52: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:52: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:104: *Info: macro .*
+-.*:52: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:52: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:104: *Info: macro .*
+-.*:52: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:52: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:104: *Info: macro .*
+-.*:52: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:52: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:104: *Info: macro .*
+-.*:60: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:60: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:105: *Info: macro .*
+-.*:60: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:60: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:105: *Info: macro .*
+-.*:60: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:60: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:105: *Info: macro .*
+-.*:60: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:60: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:105: *Info: macro .*
+-.*:60: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:60: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:105: *Info: macro .*
+-.*:60: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:60: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:105: *Info: macro .*
+-.*:60: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:60: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:105: *Info: macro .*
+-.*:60: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:60: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:105: *Info: macro .*
+-.*:60: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:60: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:105: *Info: macro .*
+-.*:60: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:60: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:105: *Info: macro .*
+-.*:60: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:60: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:105: *Info: macro .*
+-.*:60: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:60: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:105: *Info: macro .*
+-.*:60: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:60: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:105: *Info: macro .*
+-.*:60: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:60: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:105: *Info: macro .*
+-.*:60: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:60: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:105: *Info: macro .*
+-.*:60: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:60: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:105: *Info: macro .*
+-.*:60: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:60: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:105: *Info: macro .*
+-.*:60: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:60: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:105: *Info: macro .*
+ .*:68: Error: instruction cannot be conditional.*
+ .*:106: *Info: macro .*
+@@ -423,51 +423,51 @@
+ .*:106: *Info: macro .*
+ .*:68: Error: instruction cannot be conditional.*
+ .*:106: *Info: macro .*
+-.*:78: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:78: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:110: *Info: macro .*
+ .*:78: IT blocks containing 32-bit Thumb instructions are performance deprecated in ARMv8-A and ARMv8-R
+ .*:110: *Info: macro .*
+-.*:78: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:78: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:110: *Info: macro .*
+ .*:78: IT blocks containing 32-bit Thumb instructions are performance deprecated in ARMv8-A and ARMv8-R
+ .*:110: *Info: macro .*
+-.*:78: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:78: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:110: *Info: macro .*
+ .*:78: IT blocks containing 32-bit Thumb instructions are performance deprecated in ARMv8-A and ARMv8-R
+ .*:110: *Info: macro .*
+-.*:78: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:78: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:110: *Info: macro .*
+ .*:78: IT blocks containing 32-bit Thumb instructions are performance deprecated in ARMv8-A and ARMv8-R
+ .*:110: *Info: macro .*
+-.*:78: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:78: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:110: *Info: macro .*
+ .*:78: IT blocks containing 32-bit Thumb instructions are performance deprecated in ARMv8-A and ARMv8-R
+ .*:110: *Info: macro .*
+-.*:78: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:78: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:110: *Info: macro .*
+ .*:78: IT blocks containing 32-bit Thumb instructions are performance deprecated in ARMv8-A and ARMv8-R
+ .*:110: *Info: macro .*
+-.*:78: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:78: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:110: *Info: macro .*
+ .*:78: IT blocks containing 32-bit Thumb instructions are performance deprecated in ARMv8-A and ARMv8-R
+ .*:110: *Info: macro .*
+-.*:78: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:78: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:110: *Info: macro .*
+ .*:78: IT blocks containing 32-bit Thumb instructions are performance deprecated in ARMv8-A and ARMv8-R
+ .*:110: *Info: macro .*
+-.*:78: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:78: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:110: *Info: macro .*
+ .*:78: IT blocks containing 32-bit Thumb instructions are performance deprecated in ARMv8-A and ARMv8-R
+ .*:110: *Info: macro .*
+-.*:78: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:78: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:110: *Info: macro .*
+ .*:78: IT blocks containing 32-bit Thumb instructions are performance deprecated in ARMv8-A and ARMv8-R
+ .*:110: *Info: macro .*
+-.*:78: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:78: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:110: *Info: macro .*
+ .*:78: IT blocks containing 32-bit Thumb instructions are performance deprecated in ARMv8-A and ARMv8-R
+ .*:110: *Info: macro .*
+-.*:78: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++.*:78: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ .*:110: *Info: macro .*
+ .*:78: IT blocks containing 32-bit Thumb instructions are performance deprecated in ARMv8-A and ARMv8-R
+ .*:110: *Info: macro .*
+diff --git a/gas/testsuite/gas/arm/mve-vaddsub-it-bad.l b/gas/testsuite/gas/arm/mve-vaddsub-it-bad.l
+index 5f41bceaf405..13f464694fdb 100644
+--- a/gas/testsuite/gas/arm/mve-vaddsub-it-bad.l
++++ b/gas/testsuite/gas/arm/mve-vaddsub-it-bad.l
+@@ -1,7 +1,7 @@
+ [^:]*: Assembler messages:
+-[^:]*:4: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+-[^:]*:5: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+-[^:]*:7: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+-[^:]*:8: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++[^:]*:4: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++[^:]*:5: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++[^:]*:7: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++[^:]*:8: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ [^:]*:10: Error: selected FPU does not support instruction -- `vaddl.s8 q0,d1,d2'
+ [^:]*:11: Error: selected FPU does not support instruction -- `vsubl.s8 q0,d1,d2'
+diff --git a/gas/testsuite/gas/arm/mve-vcvtne-it-bad.l b/gas/testsuite/gas/arm/mve-vcvtne-it-bad.l
+index ca57a38537c6..6f66e53240f9 100644
+--- a/gas/testsuite/gas/arm/mve-vcvtne-it-bad.l
++++ b/gas/testsuite/gas/arm/mve-vcvtne-it-bad.l
+@@ -3,15 +3,15 @@
+ [^:]*:4: Error: thumb conditional instruction should be in IT block -- `vcvtne.u32.f64 s13,d8'
+ [^:]*:5: Error: thumb conditional instruction should be in IT block -- `vcvtne.s32.f32 s13,s8'
+ [^:]*:6: Error: thumb conditional instruction should be in IT block -- `vcvtne.u32.f32 s13,s8'
+-[^:]*:7: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++[^:]*:7: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ [^:]*:7: Error: thumb conditional instruction should be in IT block -- `vcvtne.s32.f16 s13,s8'
+-[^:]*:8: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++[^:]*:8: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ [^:]*:8: Error: thumb conditional instruction should be in IT block -- `vcvtne.u32.f16 s13,s8'
+ [^:]*:9: Error: thumb conditional instruction should be in IT block -- `vcvtne.f64.s32 d13,s8'
+ [^:]*:10: Error: thumb conditional instruction should be in IT block -- `vcvtne.f64.u32 d13,s8'
+ [^:]*:11: Error: thumb conditional instruction should be in IT block -- `vcvtne.f32.s32 s13,s8'
+ [^:]*:12: Error: thumb conditional instruction should be in IT block -- `vcvtne.f32.u32 s13,s8'
+-[^:]*:13: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++[^:]*:13: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ [^:]*:13: Error: thumb conditional instruction should be in IT block -- `vcvtne.f16.s32 s13,s8'
+-[^:]*:14: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++[^:]*:14: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ [^:]*:14: Error: thumb conditional instruction should be in IT block -- `vcvtne.f16.u32 s13,s8'
+diff --git a/gas/testsuite/gas/arm/mve-vcvtne-it.d b/gas/testsuite/gas/arm/mve-vcvtne-it.d
+index 27e45753c649..87c3c592aeda 100644
+--- a/gas/testsuite/gas/arm/mve-vcvtne-it.d
++++ b/gas/testsuite/gas/arm/mve-vcvtne-it.d
+@@ -1,10 +1,10 @@
+ # name: Armv8.1-M Mainline vcvt instruction in it block (with MVE)
+ # as: -march=armv8.1-m.main+mve.fp+fp.dp
+ #warning: [^:]*: Assembler messages:
+-#warning: [^:]*:10: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+-#warning: [^:]*:11: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+-#warning: [^:]*:19: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+-#warning: [^:]*:20: Warning: ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++#warning: [^:]*:10: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++#warning: [^:]*:11: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++#warning: [^:]*:19: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
++#warning: [^:]*:20: Warning: scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE
+ # objdump: -dr --prefix-addresses --show-raw-insn -marmv8.1-m.main
+
+ .*: +file format .*arm.*
diff --git a/patches/binutils-2.40/0015-lto-Don-t-add-indirect-symbols-for-versioned-aliases.patch b/patches/binutils-2.40/0015-lto-Don-t-add-indirect-symbols-for-versioned-aliases.patch
new file mode 100644
index 0000000..c0cc450
--- /dev/null
+++ b/patches/binutils-2.40/0015-lto-Don-t-add-indirect-symbols-for-versioned-aliases.patch
@@ -0,0 +1,96 @@
+From: "H.J. Lu" <hjl.tools@gmail.com>
+Date: Wed, 29 Mar 2023 13:06:26 -0700
+Subject: [PATCH] lto: Don't add indirect symbols for versioned aliases in IR
+
+Linker adds indirect symbols for versioned symbol aliases, which are
+created by ".symver foo, foo@FOO", by checking symbol type, value and
+section so that references to foo will be replaced by references to
+foo@FOO if foo and foo@FOO have the same symbol type, value and section.
+But in IR, since all symbols of the same type have the same value and
+section, we can't tell if a symbol is an alias of another symbol by
+their types, values and sections. We shouldn't add indirect symbols
+for versioned symbol aliases in IR.
+
+bfd/
+
+ PR ld/30281
+ * elflink.c (elf_link_add_object_symbols): Don't add indirect
+ symbols for ".symver foo, foo@FOO" aliases in IR.
+
+ld/
+
+ PR ld/30281
+ * testsuite/ld-plugin/lto.exp: Add PR ld/30281 test.
+ * testsuite/ld-plugin/pr30281.t: New file.
+ * testsuite/ld-plugin/pr30281.c: Likewise.
+
+(cherry picked from commit 79cfb928f552401e3cec7a208a87eb74aa0d2d8b)
+---
+ bfd/elflink.c | 9 ++++++++-
+ ld/testsuite/ld-plugin/lto.exp | 9 +++++++++
+ ld/testsuite/ld-plugin/pr30281.c | 4 ++++
+ ld/testsuite/ld-plugin/pr30281.t | 4 ++++
+ 4 files changed, 25 insertions(+), 1 deletion(-)
+ create mode 100644 ld/testsuite/ld-plugin/pr30281.c
+ create mode 100644 ld/testsuite/ld-plugin/pr30281.t
+
+diff --git a/bfd/elflink.c b/bfd/elflink.c
+index 7bf337c7d449..98468acca6c8 100644
+--- a/bfd/elflink.c
++++ b/bfd/elflink.c
+@@ -5382,7 +5382,14 @@ elf_link_add_object_symbols (bfd *abfd, struct bfd_link_info *info)
+ h->unique_global = (flags & BSF_GNU_UNIQUE) != 0;
+ }
+
+- if (definition && !dynamic)
++ /* Don't add indirect symbols for .symver x, x@FOO aliases
++ in IR. Since all data or text symbols in IR have the
++ same type, value and section, we can't tell if a symbol
++ is an alias of another symbol by their types, values and
++ sections. */
++ if (definition
++ && !dynamic
++ && (abfd->flags & BFD_PLUGIN) == 0)
+ {
+ char *p = strchr (name, ELF_VER_CHR);
+ if (p != NULL && p[1] != ELF_VER_CHR)
+diff --git a/ld/testsuite/ld-plugin/lto.exp b/ld/testsuite/ld-plugin/lto.exp
+index 6c1322e43e06..083cf6279685 100644
+--- a/ld/testsuite/ld-plugin/lto.exp
++++ b/ld/testsuite/ld-plugin/lto.exp
+@@ -530,6 +530,15 @@ set lto_link_elf_tests [list \
+ {} \
+ "pr29086" \
+ ] \
++ [list \
++ "Build pr30281.so" \
++ "-shared -Wl,--version-script,pr30281.t \
++ -O2 -fPIC -flto-partition=max -flto=2" \
++ "-O2 -fPIC -flto-partition=max -flto=2" \
++ {pr30281.c} \
++ "" \
++ "pr30281.so" \
++ ] \
+ ]
+
+ # PR 14918 checks that libgcc is not spuriously included in a shared link of
+diff --git a/ld/testsuite/ld-plugin/pr30281.c b/ld/testsuite/ld-plugin/pr30281.c
+new file mode 100644
+index 000000000000..ba9722a389ce
+--- /dev/null
++++ b/ld/testsuite/ld-plugin/pr30281.c
+@@ -0,0 +1,4 @@
++extern __inline __attribute__((__gnu_inline__)) void foo(void) {}
++__attribute__((__symver__("foo@GLIBC_2.2.5")))
++int __collector_foo_2_2(void) {}
++void foo(void) {}
+diff --git a/ld/testsuite/ld-plugin/pr30281.t b/ld/testsuite/ld-plugin/pr30281.t
+new file mode 100644
+index 000000000000..3169ad398c93
+--- /dev/null
++++ b/ld/testsuite/ld-plugin/pr30281.t
+@@ -0,0 +1,4 @@
++GLIBC_2.2.5 {
++ global:
++ foo;
++};
diff --git a/patches/binutils-2.40/0016-PR30536-ppc64el-gold-linker-produces-unusable-clang-.patch b/patches/binutils-2.40/0016-PR30536-ppc64el-gold-linker-produces-unusable-clang-.patch
new file mode 100644
index 0000000..8942881
--- /dev/null
+++ b/patches/binutils-2.40/0016-PR30536-ppc64el-gold-linker-produces-unusable-clang-.patch
@@ -0,0 +1,42 @@
+From: Alan Modra <amodra@gmail.com>
+Date: Wed, 21 Jun 2023 22:44:09 +0930
+Subject: [PATCH] PR30536, ppc64el gold linker produces unusable clang-16
+ binary
+
+In commit 0961e631575b, the fix for PR30217, make_lplt_section and
+make_brlt_section were changed to use rela_dyn_ rather than their own
+separate dynamic reloc sections. This fails miserably whenever brlt_
+is needed for long branches, due to needing to iterate sizing and thus
+reset brlt_ sizes.
+
+ PR 30536
+ PR 30217
+ * powerpc.cc (Target_powerpc::make_brlt_section): Don't use
+ rela_dyn_.
+
+(cherry picked from commit dc808a2ebab337b5517add4c1aad298cf836c239)
+---
+ gold/powerpc.cc | 10 +++++++++-
+ 1 file changed, 9 insertions(+), 1 deletion(-)
+
+diff --git a/gold/powerpc.cc b/gold/powerpc.cc
+index a847dadf9003..aa2d9a187874 100644
+--- a/gold/powerpc.cc
++++ b/gold/powerpc.cc
+@@ -4632,7 +4632,15 @@ Target_powerpc<size, big_endian>::make_brlt_section(Layout* layout)
+ {
+ // When PIC we can't fill in .branch_lt but must initialise at
+ // runtime via dynamic relocations.
+- brlt_rel = this->rela_dyn_section(layout);
++ this->rela_dyn_section(layout);
++ // FIXME: This reloc section won't have its relative relocs
++ // sorted properly among the other relative relocs in rela_dyn_
++ // but it must be a separate section due to needing to call
++ // reset_data_size().
++ brlt_rel = new Reloc_section(false);
++ if (this->rela_dyn_->output_section())
++ this->rela_dyn_->output_section()
++ ->add_output_section_data(brlt_rel);
+ }
+ this->brlt_section_
+ = new Output_data_brlt_powerpc<size, big_endian>(this, brlt_rel);
diff --git a/patches/binutils-2.40/0017-powerpc-DT_RELACOUNT.patch b/patches/binutils-2.40/0017-powerpc-DT_RELACOUNT.patch
new file mode 100644
index 0000000..769c883
--- /dev/null
+++ b/patches/binutils-2.40/0017-powerpc-DT_RELACOUNT.patch
@@ -0,0 +1,37 @@
+From: Alan Modra <amodra@gmail.com>
+Date: Fri, 23 Jun 2023 08:48:38 +0930
+Subject: [PATCH] powerpc DT_RELACOUNT
+
+DT_RELACOUNT was calculated incorrectly, and relative relocs not
+sorted as they should be to the start of .rela.dyn, due to adding one
+particular class of dynamic reloc using the wrong "add" method.
+
+ * powerpc.cc (Target_powerpc::Scan::global): Add relative
+ dyn relocs for ADDR64 and similar using add_global_relative.
+
+(cherry picked from commit 027614abf11de9e79a335df4e1f9a788b7ab0063)
+---
+ gold/powerpc.cc | 9 +++++++--
+ 1 file changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/gold/powerpc.cc b/gold/powerpc.cc
+index aa2d9a187874..0c15e1b37212 100644
+--- a/gold/powerpc.cc
++++ b/gold/powerpc.cc
+@@ -9005,9 +9005,14 @@ Target_powerpc<size, big_endian>::Scan::global(
+ = target->rela_dyn_section(symtab, layout, is_ifunc);
+ unsigned int dynrel = (is_ifunc ? elfcpp::R_POWERPC_IRELATIVE
+ : elfcpp::R_POWERPC_RELATIVE);
+- rela_dyn->add_symbolless_global_addend(
++ // Use the "add" method that marks the reloc as being
++ // relative. This is proper here and in other places
++ // that add IRELATIVE relocs because those relocs go
++ // into a separate section that isn't sorted, so it
++ // doesn't matter that they are marked is_relative.
++ rela_dyn->add_global_relative(
+ gsym, dynrel, output_section, object, data_shndx,
+- reloc.get_r_offset(), reloc.get_r_addend());
++ reloc.get_r_offset(), reloc.get_r_addend(), false);
+ }
+ else
+ {
diff --git a/patches/binutils-2.40/series b/patches/binutils-2.40/series
new file mode 100644
index 0000000..4330d95
--- /dev/null
+++ b/patches/binutils-2.40/series
@@ -0,0 +1,21 @@
+# generated by git-ptx-patches
+#tag:base
+#tag:Upstream --start-number 1
+0001-Fix-version-number-snafu-in-some-configuration-files.patch
+0002-toplevel-Makefile.def-add-install-strip-dependency-o.patch
+0003-bpf-fix-error-conversion-from-long-unsigned-int-to-u.patch
+0004-gas-correct-symbol-name-comparison-in-.startof.-.siz.patch
+0005-ppc32-and-LOAD-segment-with-RWX-permissions.patch
+0006-PR30046-power-cmpi-leads-to-unknown-architecture.patch
+0007-PR30155-ld-segfault-in-_bfd_nearby_section.patch
+0008-PR30198-Assertion-and-segfault-when-linking-x86_64-e.patch
+0009-PR30217-dynamic-relocations-using-local-dynamic-symb.patch
+0010-coff_get_normalized_symtab-bfd_release.patch
+0011-libctf-fix-assertion-failure-with-no-system-qsort_r.patch
+0012-libctf-get-the-offsets-of-fields-of-unnamed-structs-.patch
+0013-gas-arm-Fix-a-further-IT-predicated-vcvt-issue-in-th.patch
+0014-gas-arm-Change-warning-message-to-not-reference-spec.patch
+0015-lto-Don-t-add-indirect-symbols-for-versioned-aliases.patch
+0016-PR30536-ppc64el-gold-linker-produces-unusable-clang-.patch
+0017-powerpc-DT_RELACOUNT.patch
+# fbfe50c604ae148287cc2bec0b4e99e5 - git-ptx-patches magic
diff --git a/patches/clang-10.0.1/0001-Use-lib-for-the-dynamic-linker-on-x86_64-by-default.patch b/patches/clang-10.0.1/0001-Use-lib-for-the-dynamic-linker-on-x86_64-by-default.patch
deleted file mode 100644
index 2f57691..0000000
--- a/patches/clang-10.0.1/0001-Use-lib-for-the-dynamic-linker-on-x86_64-by-default.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From: Michael Olbrich <m.olbrich@pengutronix.de>
-Date: Tue, 25 Aug 2020 15:17:15 +0200
-Subject: [PATCH] Use /lib for the dynamic linker on x86_64 by default
-
-However, if '-gcc-toolchain /usr' is used, then assume that clang is
-actually used as a host compiler and use the default /lib64 instead.
-
-Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
----
- lib/Driver/ToolChains/Linux.cpp | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/lib/Driver/ToolChains/Linux.cpp b/lib/Driver/ToolChains/Linux.cpp
-index 6532c899492a..30026aea938a 100644
---- a/lib/Driver/ToolChains/Linux.cpp
-+++ b/lib/Driver/ToolChains/Linux.cpp
-@@ -633,8 +633,9 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const {
- break;
- case llvm::Triple::x86_64: {
- bool X32 = Triple.getEnvironment() == llvm::Triple::GNUX32;
-+ const Arg *A = Args.getLastArg(clang::driver::options::OPT_gcc_toolchain);
-
-- LibDir = X32 ? "libx32" : "lib64";
-+ LibDir = X32 ? "libx32" : (A && A->getValue() == std::string("/usr")) ? "lib64" : "lib";
- Loader = X32 ? "ld-linux-x32.so.2" : "ld-linux-x86-64.so.2";
- break;
- }
diff --git a/patches/clang-10.0.1/series b/patches/clang-10.0.1/series
deleted file mode 100644
index 89c2922..0000000
--- a/patches/clang-10.0.1/series
+++ /dev/null
@@ -1,4 +0,0 @@
-# generated by git-ptx-patches
-#tag:base --start-number 1
-0001-Use-lib-for-the-dynamic-linker-on-x86_64-by-default.patch
-# 4ca7b1d842ffc195879cb75fc26eaed3 - git-ptx-patches magic
diff --git a/patches/elf2flt-2019.12/0001-ptxdist-don-t-move-real-ld-out-of-the-way.patch b/patches/elf2flt-2020.09/0001-ptxdist-don-t-move-real-ld-out-of-the-way.patch
index 7c0fa9d..9c80e1f 100644
--- a/patches/elf2flt-2019.12/0001-ptxdist-don-t-move-real-ld-out-of-the-way.patch
+++ b/patches/elf2flt-2020.09/0001-ptxdist-don-t-move-real-ld-out-of-the-way.patch
@@ -10,10 +10,10 @@ Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
1 file changed, 4 deletions(-)
diff --git a/Makefile.in b/Makefile.in
-index 52b3347d7f43..be2561fdabad 100644
+index 0529c7f0a25a..3bd9a3d6efae 100644
--- a/Makefile.in
+++ b/Makefile.in
-@@ -110,10 +110,6 @@ install:
+@@ -111,10 +111,6 @@ install:
$(INSTALL) -m 755 $(PROG_FLTHDR) $(DESTDIR)$(target_bindir)/$(PROG_FLTHDR)
$(INSTALL) -m 755 $(PROG_ELF2FLT) $(DESTDIR)$(bindir)/$(TARGET)-$(PROG_ELF2FLT)
$(INSTALL) -m 755 $(PROG_ELF2FLT) $(DESTDIR)$(target_bindir)/$(PROG_ELF2FLT)
diff --git a/patches/elf2flt-2019.12/0002-elf2flt-handle-binutils-2.34.patch b/patches/elf2flt-2020.09/0002-elf2flt-handle-binutils-2.34.patch
index 7bfef20..0d7bd74 100644
--- a/patches/elf2flt-2019.12/0002-elf2flt-handle-binutils-2.34.patch
+++ b/patches/elf2flt-2020.09/0002-elf2flt-handle-binutils-2.34.patch
@@ -3,384 +3,371 @@ Date: Wed, 5 Feb 2020 10:31:32 +0100
Subject: [PATCH] elf2flt: handle binutils >= 2.34
The latest Binutils release (2.34) is not compatible with elf2flt due
-to a change in bfd_section_* macros. The issue has been reported to
-the Binutils mailing list but Alan Modra recommend to bundle libbfd
-library sources into each projects using it [1]. That's because the
-API is not stable over the time without any backward compatibility
-guaranties.
+to a change in bfd_section_* macros [1]. The issue has been reported
+to the Binutils mailing list but Alan Modra recommend to bundle
+libbfd library sources into each projects using it [2]. That's
+because the API is not stable over the time without any backward
+compatibility guaranties.
On the other hand, the elf2flt tools needs to support modified
-version of binutils for specific arch/target [2].
+version of binutils for specific arch/target [3].
Add two tests in the configure script to detect this API change
in order to support binutils < 2.34 and binutils >= 2.34.
-[1] https://sourceware.org/ml/binutils/2020-02/msg00044.html
-[2] https://github.com/uclinux-dev/elf2flt/issues/14
+Upstream status: [4]
+
+[1] https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=fd3619828e94a24a92cddec42cbc0ab33352eeb4
+[2] https://sourceware.org/ml/binutils/2020-02/msg00044.html
+[3] https://github.com/uclinux-dev/elf2flt/issues/14
+[4] https://github.com/uclinux-dev/elf2flt/pull/15
Signed-off-by: Romain Naour <romain.naour@smile.fr>
---
- configure.ac | 25 +++++++++++++++++++
- elf2flt.c | 81 ++++++++++++++++++++++++++++++++++--------------------------
- 2 files changed, 71 insertions(+), 35 deletions(-)
+ configure.ac | 16 ++++++++++++
+ elf2flt.c | 81 +++++++++++++++++++++++++++++++++---------------------------
+ 2 files changed, 61 insertions(+), 36 deletions(-)
diff --git a/configure.ac b/configure.ac
-index d6b4119eb18a..caae869ebffe 100644
+index e82eb1d5fefd..cf7dea8d3f98 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -212,6 +212,31 @@ AC_CHECK_FUNCS([ \
+@@ -229,6 +229,22 @@ AC_CHECK_FUNCS([ \
strsignal \
])
-+dnl Various bfd section macros and functions like bfd_section_size() has been
-+dnl modified starting binutils >= 2.34.
-+dnl Check if the prototype is "bfd_section_size (sec)" or "bfd_section_size(bfd, ptr)"
++dnl Various bfd section macros and functions like bfd_section_size() have been
++dnl modified starting with binutils >= 2.34.
++dnl Check if the prototypes take a bfd argument.
+if test "$binutils_build_dir" != "NONE"; then
+ CFLAGS="-I$binutils_include_dir -I$bfd_include_dir $CFLAGS"
+fi
+
+AC_TRY_COMPILE([#include <bfd.h>],
+ [const asection *sec; bfd_section_size(sec);],
-+ bfd_section_size_macro_has_one_arg=yes,
-+ bfd_section_size_macro_has_one_arg=no)
-+if test "$bfd_section_size_macro_has_one_arg" = "yes" ; then
-+ AC_DEFINE(HAVE_BFD_SECTION_SIZE_MACRO_HAS_ONE_ARG, 1,
-+ [define to 1 for binutils >= 2.34])
-+fi
-+
-+AC_TRY_COMPILE([#include <bfd.h>],
-+ [const asection *sec; bfd_section_vma(sec);],
-+ bfd_section_vma_macro_has_one_arg=yes,
-+ bfd_section_vma_macro_has_one_arg=no)
-+if test "$bfd_section_vma_macro_has_one_arg" = "yes" ; then
-+ AC_DEFINE(HAVE_BFD_SECTION_VMA_MACRO_HAS_ONE_ARG, 1,
-+ [define to 1 for binutils >= 2.34])
++ bfd_section_api_takes_bfd=no,
++ bfd_section_api_takes_bfd=yes)
++if test "$bfd_section_api_takes_bfd" = "yes" ; then
++ AC_DEFINE(HAVE_BFD_SECTION_API_TAKES_BFD, 1,
++ [define to 1 for binutils < 2.34])
+fi
+
if test "$GCC" = yes ; then
CFLAGS="-Wall $CFLAGS"
if test "$werror" = 1 ; then
diff --git a/elf2flt.c b/elf2flt.c
-index b7c4a490df02..8dbd9b2582f3 100644
+index b93aecdaced3..3bcf4fe7dfbf 100644
--- a/elf2flt.c
+++ b/elf2flt.c
@@ -149,6 +149,17 @@ const char *elf2flt_progname;
#define O_BINARY 0
#endif
-+#if defined(HAVE_BFD_SECTION_SIZE_MACRO_HAS_ONE_ARG)
-+#define elf2flt_bfd_section_size(abs_bfd, s) bfd_section_size(s)
++/*
++ * The bfd parameter isn't actually used by any of the bfd_section funcs and
++ * have been removed since binutils 2.34.
++ */
++#ifdef HAVE_BFD_SECTION_API_TAKES_BFD
++#define elf2flt_bfd_section_size(s) bfd_section_size(NULL, s)
++#define elf2flt_bfd_section_vma(s) bfd_section_vma(NULL, s)
+#else
-+#define elf2flt_bfd_section_size(abs_bfd, s) bfd_section_size(abs_bfd, s)
-+#endif
-+
-+#if defined(HAVE_BFD_SECTION_VMA_MACRO_HAS_ONE_ARG)
-+#define elf2flt_bfd_section_vma(abs_bfd, s) bfd_section_vma(s)
-+#else
-+#define elf2flt_bfd_section_vma(abs_bfd, s) bfd_section_vma(abs_bfd, s)
++#define elf2flt_bfd_section_size(s) bfd_section_size(s)
++#define elf2flt_bfd_section_vma(s) bfd_section_vma(s)
+#endif
/* Extra output when running. */
static int verbose = 0;
-@@ -323,9 +334,9 @@ compare_relocs (const void *pa, const void *pb)
+@@ -323,10 +334,8 @@ compare_relocs (const void *pa, const void *pb)
else if (!rb->sym_ptr_ptr || !*rb->sym_ptr_ptr)
return 1;
- a_vma = bfd_section_vma(compare_relocs_bfd,
-+ a_vma = elf2flt_bfd_section_vma(compare_relocs_bfd,
- (*(ra->sym_ptr_ptr))->section);
+- (*(ra->sym_ptr_ptr))->section);
- b_vma = bfd_section_vma(compare_relocs_bfd,
-+ b_vma = elf2flt_bfd_section_vma(compare_relocs_bfd,
- (*(rb->sym_ptr_ptr))->section);
+- (*(rb->sym_ptr_ptr))->section);
++ a_vma = elf2flt_bfd_section_vma((*(ra->sym_ptr_ptr))->section);
++ b_vma = elf2flt_bfd_section_vma((*(rb->sym_ptr_ptr))->section);
va = (*(ra->sym_ptr_ptr))->value + a_vma + ra->addend;
vb = (*(rb->sym_ptr_ptr))->value + b_vma + rb->addend;
-@@ -403,7 +414,7 @@ output_relocs (
+ return va - vb;
+@@ -403,7 +412,7 @@ output_relocs (
}
for (a = abs_bfd->sections; (a != (asection *) NULL); a = a->next) {
- section_vma = bfd_section_vma(abs_bfd, a);
-+ section_vma = elf2flt_bfd_section_vma(abs_bfd, a);
++ section_vma = elf2flt_bfd_section_vma(a);
if (verbose)
printf("SECTION: %s [%p]: flags=0x%x vma=0x%"PRIx32"\n",
-@@ -442,7 +453,7 @@ output_relocs (
+@@ -442,7 +451,7 @@ output_relocs (
continue;
if (verbose)
printf(" RELOCS: %s [%p]: flags=0x%x vma=0x%"BFD_VMA_FMT"x\n",
- r->name, r, r->flags, bfd_section_vma(abs_bfd, r));
-+ r->name, r, r->flags, elf2flt_bfd_section_vma(abs_bfd, r));
++ r->name, r, r->flags, elf2flt_bfd_section_vma(r));
if ((r->flags & SEC_RELOC) == 0)
continue;
relsize = bfd_get_reloc_upper_bound(rel_bfd, r);
-@@ -674,7 +685,7 @@ output_relocs (
+@@ -694,7 +703,7 @@ output_relocs (
case R_BFIN_RIMM16:
case R_BFIN_LUIMM16:
case R_BFIN_HUIMM16:
- sym_vma = bfd_section_vma(abs_bfd, sym_section);
-+ sym_vma = elf2flt_bfd_section_vma(abs_bfd, sym_section);
++ sym_vma = elf2flt_bfd_section_vma(sym_section);
sym_addr += sym_vma + q->addend;
if (weak_und_symbol(sym_section->name, (*(q->sym_ptr_ptr))))
-@@ -707,7 +718,7 @@ output_relocs (
+@@ -727,7 +736,7 @@ output_relocs (
break;
case R_BFIN_BYTE4_DATA:
- sym_vma = bfd_section_vma(abs_bfd, sym_section);
-+ sym_vma = elf2flt_bfd_section_vma(abs_bfd, sym_section);
++ sym_vma = elf2flt_bfd_section_vma(sym_section);
sym_addr += sym_vma + q->addend;
if (weak_und_symbol (sym_section->name, (*(q->sym_ptr_ptr))))
-@@ -851,7 +862,7 @@ output_relocs (
+@@ -885,7 +894,7 @@ output_relocs (
#if defined(TARGET_m68k)
case R_68K_32:
relocation_needed = 1;
- sym_vma = bfd_section_vma(abs_bfd, sym_section);
-+ sym_vma = elf2flt_bfd_section_vma(abs_bfd, sym_section);
++ sym_vma = elf2flt_bfd_section_vma(sym_section);
sym_addr += sym_vma + q->addend;
break;
case R_68K_PC16:
-@@ -876,7 +887,7 @@ output_relocs (
+@@ -910,7 +919,7 @@ output_relocs (
q->address, sym_addr,
(*p)->howto->rightshift,
*(uint32_t *)r_mem);
- sym_vma = bfd_section_vma(abs_bfd, sym_section);
-+ sym_vma = elf2flt_bfd_section_vma(abs_bfd, sym_section);
++ sym_vma = elf2flt_bfd_section_vma(sym_section);
sym_addr += sym_vma + q->addend;
break;
case R_ARM_GOT32:
-@@ -904,7 +915,7 @@ output_relocs (
+@@ -938,7 +947,7 @@ output_relocs (
#ifdef TARGET_v850
case R_V850_ABS32:
relocation_needed = 1;
- sym_vma = bfd_section_vma(abs_bfd, sym_section);
-+ sym_vma = elf2flt_bfd_section_vma(abs_bfd, sym_section);
++ sym_vma = elf2flt_bfd_section_vma(sym_section);
sym_addr += sym_vma + q->addend;
break;
case R_V850_ZDA_16_16_OFFSET:
-@@ -926,7 +937,7 @@ output_relocs (
+@@ -960,7 +969,7 @@ output_relocs (
sym_addr = (*(q->sym_ptr_ptr))->value;
q->address -= 1;
r_mem -= 1; /* tracks q->address */
- sym_vma = bfd_section_vma(abs_bfd, sym_section);
-+ sym_vma = elf2flt_bfd_section_vma(abs_bfd, sym_section);
++ sym_vma = elf2flt_bfd_section_vma(sym_section);
sym_addr += sym_vma + q->addend;
sym_addr |= (*(unsigned char *)r_mem<<24);
break;
-@@ -939,7 +950,7 @@ output_relocs (
+@@ -973,7 +982,7 @@ output_relocs (
/* Absolute symbol done not relocation */
relocation_needed = !bfd_is_abs_section(sym_section);
sym_addr = (*(q->sym_ptr_ptr))->value;
- sym_vma = bfd_section_vma(abs_bfd, sym_section);
-+ sym_vma = elf2flt_bfd_section_vma(abs_bfd, sym_section);
++ sym_vma = elf2flt_bfd_section_vma(sym_section);
sym_addr += sym_vma + q->addend;
break;
case R_H8_DIR32:
-@@ -952,7 +963,7 @@ output_relocs (
+@@ -986,7 +995,7 @@ output_relocs (
}
relocation_needed = 1;
sym_addr = (*(q->sym_ptr_ptr))->value;
- sym_vma = bfd_section_vma(abs_bfd, sym_section);
-+ sym_vma = elf2flt_bfd_section_vma(abs_bfd, sym_section);
++ sym_vma = elf2flt_bfd_section_vma(sym_section);
sym_addr += sym_vma + q->addend;
break;
case R_H8_PCREL16:
-@@ -985,7 +996,7 @@ output_relocs (
- pflags=0x80000000;
-
+@@ -1012,7 +1021,7 @@ output_relocs (
+ #ifdef TARGET_microblaze
+ case R_MICROBLAZE_64:
/* work out the relocation */
- sym_vma = bfd_section_vma(abs_bfd, sym_section);
-+ sym_vma = elf2flt_bfd_section_vma(abs_bfd, sym_section);
++ sym_vma = elf2flt_bfd_section_vma(sym_section);
sym_addr += sym_vma + q->addend;
/* Write relocated pointer back */
- p[2] = (sym_addr >> 24) & 0xff;
-@@ -1001,7 +1012,7 @@ output_relocs (
- relocation_needed = 0;
- pflags = 0;
- sprintf(&addstr[0], "+0x%ld", sym_addr - (*(q->sym_ptr_ptr))->value -
-- bfd_section_vma(abs_bfd, sym_section));
-+ elf2flt_bfd_section_vma(abs_bfd, sym_section));
- if (verbose)
- printf(" RELOC[%d]: offset=0x%"BFD_VMA_FMT"x symbol=%s%s "
- "section=%s size=%d "
-@@ -1017,7 +1028,7 @@ output_relocs (
- continue;
- }
+ r_mem[2] = (sym_addr >> 24) & 0xff;
+@@ -1026,7 +1035,7 @@ output_relocs (
+ pflags = 0x80000000;
+ break;
case R_MICROBLAZE_32:
- sym_vma = bfd_section_vma(abs_bfd, sym_section);
-+ sym_vma = elf2flt_bfd_section_vma(abs_bfd, sym_section);
++ sym_vma = elf2flt_bfd_section_vma(sym_section);
sym_addr += sym_vma + q->addend;
relocation_needed = 1;
break;
-@@ -1042,7 +1053,7 @@ output_relocs (
+@@ -1058,7 +1067,7 @@ output_relocs (
case R_NIOS2_BFD_RELOC_32:
relocation_needed = 1;
pflags = (FLAT_NIOS2_R_32 << 28);
- sym_vma = bfd_section_vma(abs_bfd, sym_section);
-+ sym_vma = elf2flt_bfd_section_vma(abs_bfd, sym_section);
++ sym_vma = elf2flt_bfd_section_vma(sym_section);
sym_addr += sym_vma + q->addend;
/* modify target, in target order */
*(unsigned long *)r_mem = htoniosl(sym_addr);
-@@ -1052,7 +1063,7 @@ output_relocs (
+@@ -1068,7 +1077,7 @@ output_relocs (
unsigned long exist_val;
relocation_needed = 1;
pflags = (FLAT_NIOS2_R_CALL26 << 28);
- sym_vma = bfd_section_vma(abs_bfd, sym_section);
-+ sym_vma = elf2flt_bfd_section_vma(abs_bfd, sym_section);
++ sym_vma = elf2flt_bfd_section_vma(sym_section);
sym_addr += sym_vma + q->addend;
/* modify target, in target order */
-@@ -1083,7 +1094,7 @@ output_relocs (
+@@ -1099,7 +1108,7 @@ output_relocs (
? FLAT_NIOS2_R_HIADJ_LO : FLAT_NIOS2_R_HI_LO;
pflags <<= 28;
- sym_vma = bfd_section_vma(abs_bfd, sym_section);
-+ sym_vma = elf2flt_bfd_section_vma(abs_bfd, sym_section);
++ sym_vma = elf2flt_bfd_section_vma(sym_section);
sym_addr += sym_vma + q->addend;
/* modify high 16 bits, in target order */
-@@ -1116,7 +1127,7 @@ output_relocs (
+@@ -1132,7 +1141,7 @@ output_relocs (
goto NIOS2_RELOC_ERR;
}
/* _gp holds a absolute value, otherwise the ld cannot generate correct code */
- sym_vma = bfd_section_vma(abs_bfd, sym_section);
-+ sym_vma = elf2flt_bfd_section_vma(abs_bfd, sym_section);
++ sym_vma = elf2flt_bfd_section_vma(sym_section);
//printf("sym=%x, %d, _gp=%x, %d\n", sym_addr+sym_vma, sym_addr+sym_vma, gp, gp);
sym_addr += sym_vma + q->addend;
sym_addr -= gp;
-@@ -1197,7 +1208,7 @@ NIOS2_RELOC_ERR:
+@@ -1213,7 +1222,7 @@ NIOS2_RELOC_ERR:
case R_SPARC_32:
case R_SPARC_UA32:
relocation_needed = 1;
- sym_vma = bfd_section_vma(abs_bfd, sym_section);
-+ sym_vma = elf2flt_bfd_section_vma(abs_bfd, sym_section);
++ sym_vma = elf2flt_bfd_section_vma(sym_section);
sym_addr += sym_vma + q->addend;
break;
case R_SPARC_PC22:
-@@ -1216,7 +1227,7 @@ NIOS2_RELOC_ERR:
+@@ -1232,7 +1241,7 @@ NIOS2_RELOC_ERR:
case R_SPARC_HI22:
relocation_needed = 1;
pflags = 0x80000000;
- sym_vma = bfd_section_vma(abs_bfd, sym_section);
-+ sym_vma = elf2flt_bfd_section_vma(abs_bfd, sym_section);
++ sym_vma = elf2flt_bfd_section_vma(sym_section);
sym_addr += sym_vma + q->addend;
sym_addr |= (
htonl(*(uint32_t *)r_mem)
-@@ -1226,7 +1237,7 @@ NIOS2_RELOC_ERR:
+@@ -1242,7 +1251,7 @@ NIOS2_RELOC_ERR:
case R_SPARC_LO10:
relocation_needed = 1;
pflags = 0x40000000;
- sym_vma = bfd_section_vma(abs_bfd, sym_section);
-+ sym_vma = elf2flt_bfd_section_vma(abs_bfd, sym_section);
++ sym_vma = elf2flt_bfd_section_vma(sym_section);
sym_addr += sym_vma + q->addend;
sym_addr &= 0x000003ff;
sym_addr |= (
-@@ -1240,7 +1251,7 @@ NIOS2_RELOC_ERR:
+@@ -1256,7 +1265,7 @@ NIOS2_RELOC_ERR:
#ifdef TARGET_sh
case R_SH_DIR32:
relocation_needed = 1;
- sym_vma = bfd_section_vma(abs_bfd, sym_section);
-+ sym_vma = elf2flt_bfd_section_vma(abs_bfd, sym_section);
++ sym_vma = elf2flt_bfd_section_vma(sym_section);
sym_addr += sym_vma + q->addend;
break;
case R_SH_REL32:
-@@ -1272,7 +1283,7 @@ NIOS2_RELOC_ERR:
+@@ -1288,7 +1297,7 @@ NIOS2_RELOC_ERR:
case R_E1_CONST31:
relocation_needed = 1;
DBG_E1("Handling Reloc <CONST31>\n");
- sec_vma = bfd_section_vma(abs_bfd, sym_section);
-+ sec_vma = elf2flt_bfd_section_vma(abs_bfd, sym_section);
++ sec_vma = elf2flt_bfd_section_vma(sym_section);
DBG_E1("sec_vma : [0x%x], sym_addr : [0x%x], q->address : [0x%x]\n",
sec_vma, sym_addr, q->address);
sym_addr = sec_vma + sym_addr;
-@@ -1287,7 +1298,7 @@ NIOS2_RELOC_ERR:
+@@ -1303,7 +1312,7 @@ NIOS2_RELOC_ERR:
relocation_needed = 0;
DBG_E1("Handling Reloc <CONST31_PCREL>\n");
DBG_E1("DONT RELOCATE AT LOADING\n");
- sec_vma = bfd_section_vma(abs_bfd, sym_section);
-+ sec_vma = elf2flt_bfd_section_vma(abs_bfd, sym_section);
++ sec_vma = elf2flt_bfd_section_vma(sym_section);
DBG_E1("sec_vma : [0x%x], sym_addr : [0x%x], q->address : [0x%x]\n",
sec_vma, sym_addr, q->address);
sym_addr = sec_vma + sym_addr;
-@@ -1314,7 +1325,7 @@ NIOS2_RELOC_ERR:
+@@ -1330,7 +1339,7 @@ NIOS2_RELOC_ERR:
relocation_needed = 0;
DBG_E1("Handling Reloc <DIS29W_PCREL>\n");
DBG_E1("DONT RELOCATE AT LOADING\n");
- sec_vma = bfd_section_vma(abs_bfd, sym_section);
-+ sec_vma = elf2flt_bfd_section_vma(abs_bfd, sym_section);
++ sec_vma = elf2flt_bfd_section_vma(sym_section);
DBG_E1("sec_vma : [0x%x], sym_addr : [0x%x], q->address : [0x%x]\n",
sec_vma, sym_addr, q->address);
sym_addr = sec_vma + sym_addr;
-@@ -1347,7 +1358,7 @@ NIOS2_RELOC_ERR:
+@@ -1363,7 +1372,7 @@ NIOS2_RELOC_ERR:
DBG_E1("Handling Reloc <DIS29B>\n");
DIS29_RELOCATION:
relocation_needed = 1;
- sec_vma = bfd_section_vma(abs_bfd, sym_section);
-+ sec_vma = elf2flt_bfd_section_vma(abs_bfd, sym_section);
++ sec_vma = elf2flt_bfd_section_vma(sym_section);
DBG_E1("sec_vma : [0x%x], sym_addr : [0x%08x]\n",
sec_vma, sym_addr);
sym_addr = sec_vma + sym_addr;
-@@ -1364,7 +1375,7 @@ DIS29_RELOCATION:
+@@ -1380,7 +1389,7 @@ DIS29_RELOCATION:
relocation_needed = 0;
DBG_E1("Handling Reloc <IMM32_PCREL>\n");
DBG_E1("DONT RELOCATE AT LOADING\n");
- sec_vma = bfd_section_vma(abs_bfd, sym_section);
-+ sec_vma = elf2flt_bfd_section_vma(abs_bfd, sym_section);
++ sec_vma = elf2flt_bfd_section_vma(sym_section);
DBG_E1("sec_vma : [0x%x], sym_addr : [0x%x]\n",
sec_vma, sym_addr);
sym_addr = sec_vma + sym_addr;
-@@ -1390,7 +1401,7 @@ DIS29_RELOCATION:
+@@ -1406,7 +1415,7 @@ DIS29_RELOCATION:
case R_E1_IMM32:
relocation_needed = 1;
DBG_E1("Handling Reloc <IMM32>\n");
- sec_vma = bfd_section_vma(abs_bfd, sym_section);
-+ sec_vma = elf2flt_bfd_section_vma(abs_bfd, sym_section);
++ sec_vma = elf2flt_bfd_section_vma(sym_section);
DBG_E1("sec_vma : [0x%x], sym_addr : [0x%x]\n",
sec_vma, sym_addr);
sym_addr = sec_vma + sym_addr;
-@@ -1406,7 +1417,7 @@ DIS29_RELOCATION:
+@@ -1422,7 +1431,7 @@ DIS29_RELOCATION:
case R_E1_WORD:
relocation_needed = 1;
DBG_E1("Handling Reloc <WORD>\n");
- sec_vma = bfd_section_vma(abs_bfd, sym_section);
-+ sec_vma = elf2flt_bfd_section_vma(abs_bfd, sym_section);
++ sec_vma = elf2flt_bfd_section_vma(sym_section);
DBG_E1("sec_vma : [0x%x], sym_addr : [0x%x]\n",
sec_vma, sym_addr);
sym_addr = sec_vma + sym_addr;
-@@ -1433,7 +1444,7 @@ DIS29_RELOCATION:
+@@ -1449,7 +1458,7 @@ DIS29_RELOCATION:
}
sprintf(&addstr[0], "+0x%lx", sym_addr - (*(q->sym_ptr_ptr))->value -
- bfd_section_vma(abs_bfd, sym_section));
-+ elf2flt_bfd_section_vma(abs_bfd, sym_section));
++ elf2flt_bfd_section_vma(sym_section));
/*
-@@ -1873,8 +1884,8 @@ int main(int argc, char *argv[])
+@@ -1887,8 +1896,8 @@ int main(int argc, char *argv[])
} else
continue;
- sec_size = bfd_section_size(abs_bfd, s);
- sec_vma = bfd_section_vma(abs_bfd, s);
-+ sec_size = elf2flt_bfd_section_size(abs_bfd, s);
-+ sec_vma = elf2flt_bfd_section_vma(abs_bfd, s);
++ sec_size = elf2flt_bfd_section_size(s);
++ sec_vma = elf2flt_bfd_section_vma(s);
if (sec_vma < *vma) {
if (*len > 0)
-@@ -1899,7 +1910,7 @@ int main(int argc, char *argv[])
+@@ -1913,7 +1922,7 @@ int main(int argc, char *argv[])
if (s->flags & SEC_CODE)
if (!bfd_get_section_contents(abs_bfd, s,
text + (s->vma - text_vma), 0,
- bfd_section_size(abs_bfd, s)))
-+ elf2flt_bfd_section_size(abs_bfd, s)))
++ elf2flt_bfd_section_size(s)))
{
fatal("read error section %s", s->name);
}
-@@ -1925,7 +1936,7 @@ int main(int argc, char *argv[])
+@@ -1939,7 +1948,7 @@ int main(int argc, char *argv[])
if (s->flags & SEC_DATA)
if (!bfd_get_section_contents(abs_bfd, s,
data + (s->vma - data_vma), 0,
- bfd_section_size(abs_bfd, s)))
-+ elf2flt_bfd_section_size(abs_bfd, s)))
++ elf2flt_bfd_section_size(s)))
{
fatal("read error section %s", s->name);
}
diff --git a/patches/elf2flt-2019.12/autogen.sh b/patches/elf2flt-2020.09/autogen.sh
index df78c38..df78c38 100755
--- a/patches/elf2flt-2019.12/autogen.sh
+++ b/patches/elf2flt-2020.09/autogen.sh
diff --git a/patches/elf2flt-2019.12/series b/patches/elf2flt-2020.09/series
index c9cce70..c9cce70 100644
--- a/patches/elf2flt-2019.12/series
+++ b/patches/elf2flt-2020.09/series
diff --git a/patches/gcc-10-20200822/0200-gcc-i386-use-pure64-CLFS-patch.patch b/patches/gcc-10-20200822/0200-gcc-i386-use-pure64-CLFS-patch.patch
deleted file mode 100644
index 225dc34..0000000
--- a/patches/gcc-10-20200822/0200-gcc-i386-use-pure64-CLFS-patch.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From: =?UTF-8?q?Andreas=20Bie=C3=9Fmann?= <andreas@biessmann.de>
-Date: Thu, 9 Feb 2012 13:59:12 +0100
-Subject: [PATCH] gcc/i386: use pure64 CLFS patch
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-This is a modified version of
-http://trac.cross-lfs.org/browser/patches/gcc-4.6.0-pure64-1.patch to use /lib
-instead of /lib64 for x86_64.
-This will only work as generic patch, if we do _not_ build multilib x86
-toolchains.
-
-Signed-off-by: Andreas Bießmann <andreas@biessmann.de>
----
- gcc/config/i386/linux64.h | 4 ++--
- gcc/config/i386/t-linux64 | 4 ++--
- 2 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/gcc/config/i386/linux64.h b/gcc/config/i386/linux64.h
-index 6cb68d1ccfa1..1b170fa56e63 100644
---- a/gcc/config/i386/linux64.h
-+++ b/gcc/config/i386/linux64.h
-@@ -27,8 +27,8 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- #define GNU_USER_LINK_EMULATION64 "elf_x86_64"
- #define GNU_USER_LINK_EMULATIONX32 "elf32_x86_64"
-
--#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
--#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2"
-+#define GLIBC_DYNAMIC_LINKER32 "/lib32/ld-linux.so.2"
-+#define GLIBC_DYNAMIC_LINKER64 "/lib/ld-linux-x86-64.so.2"
- #define GLIBC_DYNAMIC_LINKERX32 "/libx32/ld-linux-x32.so.2"
-
- #undef MUSL_DYNAMIC_LINKER32
-diff --git a/gcc/config/i386/t-linux64 b/gcc/config/i386/t-linux64
-index 1171e218578e..4936e51ede60 100644
---- a/gcc/config/i386/t-linux64
-+++ b/gcc/config/i386/t-linux64
-@@ -33,6 +33,6 @@
- comma=,
- MULTILIB_OPTIONS = $(subst $(comma),/,$(TM_MULTILIB_CONFIG))
- MULTILIB_DIRNAMES = $(patsubst m%, %, $(subst /, ,$(MULTILIB_OPTIONS)))
--MULTILIB_OSDIRNAMES = m64=../lib64$(call if_multiarch,:x86_64-linux-gnu)
--MULTILIB_OSDIRNAMES+= m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:i386-linux-gnu)
-+MULTILIB_OSDIRNAMES = m64=../lib$(call if_multiarch,:x86_64-linux-gnu)
-+MULTILIB_OSDIRNAMES+= m32=../lib32$(call if_multiarch,:i386-linux-gnu)
- MULTILIB_OSDIRNAMES+= mx32=../libx32$(call if_multiarch,:x86_64-linux-gnux32)
diff --git a/patches/gcc-10-20200822/0201-aarch64-change-paths-for-pure64.patch b/patches/gcc-10-20200822/0201-aarch64-change-paths-for-pure64.patch
deleted file mode 100644
index 09b7ebc..0000000
--- a/patches/gcc-10-20200822/0201-aarch64-change-paths-for-pure64.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From: Michael Olbrich <m.olbrich@pengutronix.de>
-Date: Sun, 7 Dec 2014 21:07:28 +0100
-Subject: [PATCH] aarch64: change paths for pure64
-
-Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
-[michael.tretter@posteo.net: replace ../lib with .]
-Signed-off-by: Michael Tretter <michael.tretter@posteo.net>
----
- gcc/config/aarch64/t-aarch64-linux | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/gcc/config/aarch64/t-aarch64-linux b/gcc/config/aarch64/t-aarch64-linux
-index 83e59e33b85e..a7dab7fe1573 100644
---- a/gcc/config/aarch64/t-aarch64-linux
-+++ b/gcc/config/aarch64/t-aarch64-linux
-@@ -22,7 +22,7 @@ LIB1ASMSRC = aarch64/lib1funcs.asm
- LIB1ASMFUNCS = _aarch64_sync_cache_range
-
- AARCH_BE = $(if $(findstring TARGET_BIG_ENDIAN_DEFAULT=1, $(tm_defines)),_be)
--MULTILIB_OSDIRNAMES = mabi.lp64=../lib64$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu)
-+MULTILIB_OSDIRNAMES = mabi.lp64=.$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu)
- MULTIARCH_DIRNAME = $(call if_multiarch,aarch64$(AARCH_BE)-linux-gnu)
-
- MULTILIB_OSDIRNAMES += mabi.ilp32=../libilp32$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu_ilp32)
diff --git a/patches/gcc-10-20200822/0202-mips64el-set-default-ABI-to-N64.patch b/patches/gcc-10-20200822/0202-mips64el-set-default-ABI-to-N64.patch
deleted file mode 100644
index 12ae79b..0000000
--- a/patches/gcc-10-20200822/0202-mips64el-set-default-ABI-to-N64.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From: Michael Olbrich <m.olbrich@pengutronix.de>
-Date: Thu, 27 Aug 2020 09:20:58 +0200
-Subject: [PATCH] mips64el: set default ABI to N64
-
-Otherwise the default would be N32 an building fails.
-
-Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
----
- gcc/config.gcc | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/gcc/config.gcc b/gcc/config.gcc
-index ed9697b9d4c3..601981ae4196 100644
---- a/gcc/config.gcc
-+++ b/gcc/config.gcc
-@@ -2532,6 +2532,10 @@ mips*-*-linux*) # Linux MIPS, either endian.
- default_mips_arch=mips64r2
- enable_mips_multilibs="yes"
- ;;
-+ mips64*-*-linux-gnuabi64 | mipsisa64*-*-linux-gnuabi64)
-+ default_mips_abi=n64
-+ enable_mips_multilibs="yes"
-+ ;;
- mips64*-*-linux* | mipsisa64*-*-linux*)
- default_mips_abi=n32
- enable_mips_multilibs="yes"
diff --git a/patches/gcc-10-20200822/series b/patches/gcc-10-20200822/series
deleted file mode 100644
index f9e8676..0000000
--- a/patches/gcc-10-20200822/series
+++ /dev/null
@@ -1,10 +0,0 @@
-# generated by git-ptx-patches
-#tag:base
-#tag:Upstream --start-number 100
-#tag:OSELAS.toolchain --start-number 200
-0200-gcc-i386-use-pure64-CLFS-patch.patch
-0201-aarch64-change-paths-for-pure64.patch
-0202-mips64el-set-default-ABI-to-N64.patch
-#tag:gentoo --start-number 300
-0300-libstdc-pic.patch
-# 048e3bae7b1987172844d6fd6fe748e5 - git-ptx-patches magic
diff --git a/patches/gcc-10-20200822/0300-libstdc-pic.patch b/patches/gcc-13-20230603/0300-libstdc-pic.patch
index 39cd056..da297fe 100644
--- a/patches/gcc-10-20200822/0300-libstdc-pic.patch
+++ b/patches/gcc-13-20230603/0300-libstdc-pic.patch
@@ -12,12 +12,12 @@ Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
2 files changed, 15 insertions(+), 1 deletion(-)
diff --git a/libstdc++-v3/src/Makefile.am b/libstdc++-v3/src/Makefile.am
-index a139adc81b35..829fc56b1637 100644
+index 5b9af41cdb91..cdfeaadb800c 100644
--- a/libstdc++-v3/src/Makefile.am
+++ b/libstdc++-v3/src/Makefile.am
-@@ -224,6 +224,13 @@ CXXLINK = \
- $(VTV_CXXLINKFLAGS) \
- $(OPT_LDFLAGS) $(SECTION_LDFLAGS) $(AM_CXXFLAGS) $(LTLDFLAGS) -o $@
+@@ -301,6 +301,13 @@ CXXLINK = \
+ $(LTLDFLAGS) $(LTLIBICONV) \
+ -o $@
+install-exec-local:
+ pic_objs=`sed -n "s:'::g;s:^pic_object=::p" *.lo | grep -v '^none$$'`; \
@@ -27,13 +27,13 @@ index a139adc81b35..829fc56b1637 100644
+ fi
+
# Symbol versioning for shared libraries.
+ # See configure.host and configure.ac for port_specific_symbol_files.
if ENABLE_SYMVERS
- libstdc++-symbols.ver: ${glibcxx_srcdir}/$(SYMVER_FILE) \
diff --git a/libstdc++-v3/src/Makefile.in b/libstdc++-v3/src/Makefile.in
-index ea37a962a9a5..2e50582adfe4 100644
+index f42d957af36c..eac743742a0d 100644
--- a/libstdc++-v3/src/Makefile.in
+++ b/libstdc++-v3/src/Makefile.in
-@@ -886,7 +886,7 @@ install-dvi: install-dvi-recursive
+@@ -947,7 +947,7 @@ install-dvi: install-dvi-recursive
install-dvi-am:
@@ -42,9 +42,9 @@ index ea37a962a9a5..2e50582adfe4 100644
install-html: install-html-recursive
-@@ -1087,6 +1087,13 @@ install-debug: build-debug
- (cd ${debugdir} && $(MAKE) CXXFLAGS='$(DEBUG_FLAGS)' \
- toolexeclibdir=$(glibcxx_toolexeclibdir)/debug install) ;
+@@ -1156,6 +1156,13 @@ install-debug: build-debug
+ $(MAKE) -C debug CXXFLAGS='$(DEBUG_FLAGS)' \
+ toolexeclibdir=$(glibcxx_toolexeclibdir)/debug install
+install-exec-local:
+ pic_objs=`sed -n "s:'::g;s:^pic_object=::p" *.lo | grep -v '^none$$'`; \
diff --git a/patches/gcc-13-20230603/series b/patches/gcc-13-20230603/series
new file mode 100644
index 0000000..bb7079f
--- /dev/null
+++ b/patches/gcc-13-20230603/series
@@ -0,0 +1,7 @@
+# generated by git-ptx-patches
+#tag:base
+#tag:Upstream --start-number 100
+#tag:OSELAS.toolchain --start-number 200
+#tag:gentoo --start-number 300
+0300-libstdc-pic.patch
+# ab3433936a8cad6ccdbff63835291827 - git-ptx-patches magic
diff --git a/patches/glibc-2.32/0100-add-install-lib-all-target.patch b/patches/glibc-2.37-22-g3593050c27dc/0100-add-install-lib-all-target.patch
index 3e3590f..e06e6c6 100644
--- a/patches/glibc-2.32/0100-add-install-lib-all-target.patch
+++ b/patches/glibc-2.37-22-g3593050c27dc/0100-add-install-lib-all-target.patch
@@ -16,10 +16,10 @@ Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
1 file changed, 6 insertions(+)
diff --git a/Makerules b/Makerules
-index ef0fe67d9a9e..4b1caed8b20e 100644
+index fae6b626e661..7f0b7e343176 100644
--- a/Makerules
+++ b/Makerules
-@@ -942,6 +942,12 @@ installed-libcs := $(foreach o,$(filter-out .os,$(object-suffixes-for-libc)),\
+@@ -932,6 +932,12 @@ installed-libcs := $(foreach o,$(filter-out .os,$(object-suffixes-for-libc)),\
$(inst_libdir)/$(patsubst %,$(libtype$o),\
$(libprefix)$(libc-name)))
diff --git a/patches/glibc-2.32/0101-don-t-regen-docs-if-perl-is-not-found.patch b/patches/glibc-2.37-22-g3593050c27dc/0101-don-t-regen-docs-if-perl-is-not-found.patch
index 17fbfcd..abba0f8 100644
--- a/patches/glibc-2.32/0101-don-t-regen-docs-if-perl-is-not-found.patch
+++ b/patches/glibc-2.37-22-g3593050c27dc/0101-don-t-regen-docs-if-perl-is-not-found.patch
@@ -15,7 +15,7 @@ Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
1 file changed, 5 insertions(+)
diff --git a/manual/Makefile b/manual/Makefile
-index c61e11dcd71d..a4997f2ae746 100644
+index cd814b9505b7..5f1a25a13a9b 100644
--- a/manual/Makefile
+++ b/manual/Makefile
@@ -102,9 +102,14 @@ $(objpfx)libm-err.texi: $(objpfx)stamp-libm-err
diff --git a/patches/glibc-2.32/0200-Hack-around-mips-args-to-host-gcc.patch b/patches/glibc-2.37-22-g3593050c27dc/0200-Hack-around-mips-args-to-host-gcc.patch
index b58996d..b58996d 100644
--- a/patches/glibc-2.32/0200-Hack-around-mips-args-to-host-gcc.patch
+++ b/patches/glibc-2.37-22-g3593050c27dc/0200-Hack-around-mips-args-to-host-gcc.patch
diff --git a/patches/glibc-2.32/series b/patches/glibc-2.37-22-g3593050c27dc/series
index da5b65b..da5b65b 100644
--- a/patches/glibc-2.32/series
+++ b/patches/glibc-2.37-22-g3593050c27dc/series
diff --git a/patches/lld-16.0.6/0001-HACK-add-local-copy-of-compact_unwind_encoding.h.patch b/patches/lld-16.0.6/0001-HACK-add-local-copy-of-compact_unwind_encoding.h.patch
new file mode 100644
index 0000000..625466f
--- /dev/null
+++ b/patches/lld-16.0.6/0001-HACK-add-local-copy-of-compact_unwind_encoding.h.patch
@@ -0,0 +1,567 @@
+From: Michael Olbrich <m.olbrich@pengutronix.de>
+Date: Mon, 17 May 2021 15:52:25 +0200
+Subject: [PATCH] HACK: add local copy of compact_unwind_encoding.h
+
+Without this, stand-alone builds are broken.
+
+See https://github.com/llvm/llvm-project/issues/48572
+
+Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
+---
+ MachO/Arch/ARM64.cpp | 2 +-
+ MachO/Arch/X86_64.cpp | 2 +-
+ MachO/MarkLive.cpp | 2 +-
+ MachO/Target.h | 2 +-
+ MachO/UnwindInfoSection.cpp | 2 +-
+ MachO/compact_unwind_encoding.h | 477 ++++++++++++++++++++++++++++++++++++++++
+ 6 files changed, 482 insertions(+), 5 deletions(-)
+ create mode 100644 MachO/compact_unwind_encoding.h
+
+diff --git a/MachO/Arch/ARM64.cpp b/MachO/Arch/ARM64.cpp
+index 6627d41fbec3..627966828d12 100644
+--- a/MachO/Arch/ARM64.cpp
++++ b/MachO/Arch/ARM64.cpp
+@@ -13,7 +13,7 @@
+ #include "Target.h"
+
+ #include "lld/Common/ErrorHandler.h"
+-#include "mach-o/compact_unwind_encoding.h"
++#include "compact_unwind_encoding.h"
+ #include "llvm/ADT/SmallVector.h"
+ #include "llvm/ADT/StringRef.h"
+ #include "llvm/BinaryFormat/MachO.h"
+diff --git a/MachO/Arch/X86_64.cpp b/MachO/Arch/X86_64.cpp
+index 048702f12900..60568430f4a1 100644
+--- a/MachO/Arch/X86_64.cpp
++++ b/MachO/Arch/X86_64.cpp
+@@ -12,7 +12,7 @@
+ #include "Target.h"
+
+ #include "lld/Common/ErrorHandler.h"
+-#include "mach-o/compact_unwind_encoding.h"
++#include "compact_unwind_encoding.h"
+ #include "llvm/BinaryFormat/MachO.h"
+ #include "llvm/Support/Endian.h"
+
+diff --git a/MachO/MarkLive.cpp b/MachO/MarkLive.cpp
+index a37213d5613a..84d3b0e13bba 100644
+--- a/MachO/MarkLive.cpp
++++ b/MachO/MarkLive.cpp
+@@ -16,7 +16,7 @@
+ #include "lld/Common/ErrorHandler.h"
+ #include "llvm/Support/TimeProfiler.h"
+
+-#include "mach-o/compact_unwind_encoding.h"
++#include "compact_unwind_encoding.h"
+
+ namespace lld::macho {
+
+diff --git a/MachO/Target.h b/MachO/Target.h
+index 44a85521ace3..e0e752182c68 100644
+--- a/MachO/Target.h
++++ b/MachO/Target.h
+@@ -20,7 +20,7 @@
+ #include <cstddef>
+ #include <cstdint>
+
+-#include "mach-o/compact_unwind_encoding.h"
++#include "compact_unwind_encoding.h"
+
+ namespace lld::macho {
+ LLVM_ENABLE_BITMASK_ENUMS_IN_NAMESPACE();
+diff --git a/MachO/UnwindInfoSection.cpp b/MachO/UnwindInfoSection.cpp
+index 470f33523ddb..3aef4f9183c6 100644
+--- a/MachO/UnwindInfoSection.cpp
++++ b/MachO/UnwindInfoSection.cpp
+@@ -22,7 +22,7 @@
+ #include "llvm/BinaryFormat/MachO.h"
+ #include "llvm/Support/Parallel.h"
+
+-#include "mach-o/compact_unwind_encoding.h"
++#include "compact_unwind_encoding.h"
+
+ #include <numeric>
+
+diff --git a/MachO/compact_unwind_encoding.h b/MachO/compact_unwind_encoding.h
+new file mode 100644
+index 000000000000..5301b1055ef9
+--- /dev/null
++++ b/MachO/compact_unwind_encoding.h
+@@ -0,0 +1,477 @@
++//===------------------ mach-o/compact_unwind_encoding.h ------------------===//
++//
++// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
++// See https://llvm.org/LICENSE.txt for license information.
++// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
++//
++//
++// Darwin's alternative to DWARF based unwind encodings.
++//
++//===----------------------------------------------------------------------===//
++
++
++#ifndef __COMPACT_UNWIND_ENCODING__
++#define __COMPACT_UNWIND_ENCODING__
++
++#include <stdint.h>
++
++//
++// Compilers can emit standard DWARF FDEs in the __TEXT,__eh_frame section
++// of object files. Or compilers can emit compact unwind information in
++// the __LD,__compact_unwind section.
++//
++// When the linker creates a final linked image, it will create a
++// __TEXT,__unwind_info section. This section is a small and fast way for the
++// runtime to access unwind info for any given function. If the compiler
++// emitted compact unwind info for the function, that compact unwind info will
++// be encoded in the __TEXT,__unwind_info section. If the compiler emitted
++// DWARF unwind info, the __TEXT,__unwind_info section will contain the offset
++// of the FDE in the __TEXT,__eh_frame section in the final linked image.
++//
++// Note: Previously, the linker would transform some DWARF unwind infos into
++// compact unwind info. But that is fragile and no longer done.
++
++
++//
++// The compact unwind endoding is a 32-bit value which encoded in an
++// architecture specific way, which registers to restore from where, and how
++// to unwind out of the function.
++//
++typedef uint32_t compact_unwind_encoding_t;
++
++
++// architecture independent bits
++enum {
++ UNWIND_IS_NOT_FUNCTION_START = 0x80000000,
++ UNWIND_HAS_LSDA = 0x40000000,
++ UNWIND_PERSONALITY_MASK = 0x30000000,
++};
++
++
++
++
++//
++// x86
++//
++// 1-bit: start
++// 1-bit: has lsda
++// 2-bit: personality index
++//
++// 4-bits: 0=old, 1=ebp based, 2=stack-imm, 3=stack-ind, 4=DWARF
++// ebp based:
++// 15-bits (5*3-bits per reg) register permutation
++// 8-bits for stack offset
++// frameless:
++// 8-bits stack size
++// 3-bits stack adjust
++// 3-bits register count
++// 10-bits register permutation
++//
++enum {
++ UNWIND_X86_MODE_MASK = 0x0F000000,
++ UNWIND_X86_MODE_EBP_FRAME = 0x01000000,
++ UNWIND_X86_MODE_STACK_IMMD = 0x02000000,
++ UNWIND_X86_MODE_STACK_IND = 0x03000000,
++ UNWIND_X86_MODE_DWARF = 0x04000000,
++
++ UNWIND_X86_EBP_FRAME_REGISTERS = 0x00007FFF,
++ UNWIND_X86_EBP_FRAME_OFFSET = 0x00FF0000,
++
++ UNWIND_X86_FRAMELESS_STACK_SIZE = 0x00FF0000,
++ UNWIND_X86_FRAMELESS_STACK_ADJUST = 0x0000E000,
++ UNWIND_X86_FRAMELESS_STACK_REG_COUNT = 0x00001C00,
++ UNWIND_X86_FRAMELESS_STACK_REG_PERMUTATION = 0x000003FF,
++
++ UNWIND_X86_DWARF_SECTION_OFFSET = 0x00FFFFFF,
++};
++
++enum {
++ UNWIND_X86_REG_NONE = 0,
++ UNWIND_X86_REG_EBX = 1,
++ UNWIND_X86_REG_ECX = 2,
++ UNWIND_X86_REG_EDX = 3,
++ UNWIND_X86_REG_EDI = 4,
++ UNWIND_X86_REG_ESI = 5,
++ UNWIND_X86_REG_EBP = 6,
++};
++
++//
++// For x86 there are four modes for the compact unwind encoding:
++// UNWIND_X86_MODE_EBP_FRAME:
++// EBP based frame where EBP is push on stack immediately after return address,
++// then ESP is moved to EBP. Thus, to unwind ESP is restored with the current
++// EPB value, then EBP is restored by popping off the stack, and the return
++// is done by popping the stack once more into the pc.
++// All non-volatile registers that need to be restored must have been saved
++// in a small range in the stack that starts EBP-4 to EBP-1020. The offset/4
++// is encoded in the UNWIND_X86_EBP_FRAME_OFFSET bits. The registers saved
++// are encoded in the UNWIND_X86_EBP_FRAME_REGISTERS bits as five 3-bit entries.
++// Each entry contains which register to restore.
++// UNWIND_X86_MODE_STACK_IMMD:
++// A "frameless" (EBP not used as frame pointer) function with a small
++// constant stack size. To return, a constant (encoded in the compact
++// unwind encoding) is added to the ESP. Then the return is done by
++// popping the stack into the pc.
++// All non-volatile registers that need to be restored must have been saved
++// on the stack immediately after the return address. The stack_size/4 is
++// encoded in the UNWIND_X86_FRAMELESS_STACK_SIZE (max stack size is 1024).
++// The number of registers saved is encoded in UNWIND_X86_FRAMELESS_STACK_REG_COUNT.
++// UNWIND_X86_FRAMELESS_STACK_REG_PERMUTATION constains which registers were
++// saved and their order.
++// UNWIND_X86_MODE_STACK_IND:
++// A "frameless" (EBP not used as frame pointer) function large constant
++// stack size. This case is like the previous, except the stack size is too
++// large to encode in the compact unwind encoding. Instead it requires that
++// the function contains "subl $nnnnnnnn,ESP" in its prolog. The compact
++// encoding contains the offset to the nnnnnnnn value in the function in
++// UNWIND_X86_FRAMELESS_STACK_SIZE.
++// UNWIND_X86_MODE_DWARF:
++// No compact unwind encoding is available. Instead the low 24-bits of the
++// compact encoding is the offset of the DWARF FDE in the __eh_frame section.
++// This mode is never used in object files. It is only generated by the
++// linker in final linked images which have only DWARF unwind info for a
++// function.
++//
++// The permutation encoding is a Lehmer code sequence encoded into a
++// single variable-base number so we can encode the ordering of up to
++// six registers in a 10-bit space.
++//
++// The following is the algorithm used to create the permutation encoding used
++// with frameless stacks. It is passed the number of registers to be saved and
++// an array of the register numbers saved.
++//
++//uint32_t permute_encode(uint32_t registerCount, const uint32_t registers[6])
++//{
++// uint32_t renumregs[6];
++// for (int i=6-registerCount; i < 6; ++i) {
++// int countless = 0;
++// for (int j=6-registerCount; j < i; ++j) {
++// if ( registers[j] < registers[i] )
++// ++countless;
++// }
++// renumregs[i] = registers[i] - countless -1;
++// }
++// uint32_t permutationEncoding = 0;
++// switch ( registerCount ) {
++// case 6:
++// permutationEncoding |= (120*renumregs[0] + 24*renumregs[1]
++// + 6*renumregs[2] + 2*renumregs[3]
++// + renumregs[4]);
++// break;
++// case 5:
++// permutationEncoding |= (120*renumregs[1] + 24*renumregs[2]
++// + 6*renumregs[3] + 2*renumregs[4]
++// + renumregs[5]);
++// break;
++// case 4:
++// permutationEncoding |= (60*renumregs[2] + 12*renumregs[3]
++// + 3*renumregs[4] + renumregs[5]);
++// break;
++// case 3:
++// permutationEncoding |= (20*renumregs[3] + 4*renumregs[4]
++// + renumregs[5]);
++// break;
++// case 2:
++// permutationEncoding |= (5*renumregs[4] + renumregs[5]);
++// break;
++// case 1:
++// permutationEncoding |= (renumregs[5]);
++// break;
++// }
++// return permutationEncoding;
++//}
++//
++
++
++
++
++//
++// x86_64
++//
++// 1-bit: start
++// 1-bit: has lsda
++// 2-bit: personality index
++//
++// 4-bits: 0=old, 1=rbp based, 2=stack-imm, 3=stack-ind, 4=DWARF
++// rbp based:
++// 15-bits (5*3-bits per reg) register permutation
++// 8-bits for stack offset
++// frameless:
++// 8-bits stack size
++// 3-bits stack adjust
++// 3-bits register count
++// 10-bits register permutation
++//
++enum {
++ UNWIND_X86_64_MODE_MASK = 0x0F000000,
++ UNWIND_X86_64_MODE_RBP_FRAME = 0x01000000,
++ UNWIND_X86_64_MODE_STACK_IMMD = 0x02000000,
++ UNWIND_X86_64_MODE_STACK_IND = 0x03000000,
++ UNWIND_X86_64_MODE_DWARF = 0x04000000,
++
++ UNWIND_X86_64_RBP_FRAME_REGISTERS = 0x00007FFF,
++ UNWIND_X86_64_RBP_FRAME_OFFSET = 0x00FF0000,
++
++ UNWIND_X86_64_FRAMELESS_STACK_SIZE = 0x00FF0000,
++ UNWIND_X86_64_FRAMELESS_STACK_ADJUST = 0x0000E000,
++ UNWIND_X86_64_FRAMELESS_STACK_REG_COUNT = 0x00001C00,
++ UNWIND_X86_64_FRAMELESS_STACK_REG_PERMUTATION = 0x000003FF,
++
++ UNWIND_X86_64_DWARF_SECTION_OFFSET = 0x00FFFFFF,
++};
++
++enum {
++ UNWIND_X86_64_REG_NONE = 0,
++ UNWIND_X86_64_REG_RBX = 1,
++ UNWIND_X86_64_REG_R12 = 2,
++ UNWIND_X86_64_REG_R13 = 3,
++ UNWIND_X86_64_REG_R14 = 4,
++ UNWIND_X86_64_REG_R15 = 5,
++ UNWIND_X86_64_REG_RBP = 6,
++};
++//
++// For x86_64 there are four modes for the compact unwind encoding:
++// UNWIND_X86_64_MODE_RBP_FRAME:
++// RBP based frame where RBP is push on stack immediately after return address,
++// then RSP is moved to RBP. Thus, to unwind RSP is restored with the current
++// EPB value, then RBP is restored by popping off the stack, and the return
++// is done by popping the stack once more into the pc.
++// All non-volatile registers that need to be restored must have been saved
++// in a small range in the stack that starts RBP-8 to RBP-2040. The offset/8
++// is encoded in the UNWIND_X86_64_RBP_FRAME_OFFSET bits. The registers saved
++// are encoded in the UNWIND_X86_64_RBP_FRAME_REGISTERS bits as five 3-bit entries.
++// Each entry contains which register to restore.
++// UNWIND_X86_64_MODE_STACK_IMMD:
++// A "frameless" (RBP not used as frame pointer) function with a small
++// constant stack size. To return, a constant (encoded in the compact
++// unwind encoding) is added to the RSP. Then the return is done by
++// popping the stack into the pc.
++// All non-volatile registers that need to be restored must have been saved
++// on the stack immediately after the return address. The stack_size/8 is
++// encoded in the UNWIND_X86_64_FRAMELESS_STACK_SIZE (max stack size is 2048).
++// The number of registers saved is encoded in UNWIND_X86_64_FRAMELESS_STACK_REG_COUNT.
++// UNWIND_X86_64_FRAMELESS_STACK_REG_PERMUTATION constains which registers were
++// saved and their order.
++// UNWIND_X86_64_MODE_STACK_IND:
++// A "frameless" (RBP not used as frame pointer) function large constant
++// stack size. This case is like the previous, except the stack size is too
++// large to encode in the compact unwind encoding. Instead it requires that
++// the function contains "subq $nnnnnnnn,RSP" in its prolog. The compact
++// encoding contains the offset to the nnnnnnnn value in the function in
++// UNWIND_X86_64_FRAMELESS_STACK_SIZE.
++// UNWIND_X86_64_MODE_DWARF:
++// No compact unwind encoding is available. Instead the low 24-bits of the
++// compact encoding is the offset of the DWARF FDE in the __eh_frame section.
++// This mode is never used in object files. It is only generated by the
++// linker in final linked images which have only DWARF unwind info for a
++// function.
++//
++
++
++// ARM64
++//
++// 1-bit: start
++// 1-bit: has lsda
++// 2-bit: personality index
++//
++// 4-bits: 4=frame-based, 3=DWARF, 2=frameless
++// frameless:
++// 12-bits of stack size
++// frame-based:
++// 4-bits D reg pairs saved
++// 5-bits X reg pairs saved
++// DWARF:
++// 24-bits offset of DWARF FDE in __eh_frame section
++//
++enum {
++ UNWIND_ARM64_MODE_MASK = 0x0F000000,
++ UNWIND_ARM64_MODE_FRAMELESS = 0x02000000,
++ UNWIND_ARM64_MODE_DWARF = 0x03000000,
++ UNWIND_ARM64_MODE_FRAME = 0x04000000,
++
++ UNWIND_ARM64_FRAME_X19_X20_PAIR = 0x00000001,
++ UNWIND_ARM64_FRAME_X21_X22_PAIR = 0x00000002,
++ UNWIND_ARM64_FRAME_X23_X24_PAIR = 0x00000004,
++ UNWIND_ARM64_FRAME_X25_X26_PAIR = 0x00000008,
++ UNWIND_ARM64_FRAME_X27_X28_PAIR = 0x00000010,
++ UNWIND_ARM64_FRAME_D8_D9_PAIR = 0x00000100,
++ UNWIND_ARM64_FRAME_D10_D11_PAIR = 0x00000200,
++ UNWIND_ARM64_FRAME_D12_D13_PAIR = 0x00000400,
++ UNWIND_ARM64_FRAME_D14_D15_PAIR = 0x00000800,
++
++ UNWIND_ARM64_FRAMELESS_STACK_SIZE_MASK = 0x00FFF000,
++ UNWIND_ARM64_DWARF_SECTION_OFFSET = 0x00FFFFFF,
++};
++// For arm64 there are three modes for the compact unwind encoding:
++// UNWIND_ARM64_MODE_FRAME:
++// This is a standard arm64 prolog where FP/LR are immediately pushed on the
++// stack, then SP is copied to FP. If there are any non-volatile registers
++// saved, then are copied into the stack frame in pairs in a contiguous
++// range right below the saved FP/LR pair. Any subset of the five X pairs
++// and four D pairs can be saved, but the memory layout must be in register
++// number order.
++// UNWIND_ARM64_MODE_FRAMELESS:
++// A "frameless" leaf function, where FP/LR are not saved. The return address
++// remains in LR throughout the function. If any non-volatile registers
++// are saved, they must be pushed onto the stack before any stack space is
++// allocated for local variables. The stack sized (including any saved
++// non-volatile registers) divided by 16 is encoded in the bits
++// UNWIND_ARM64_FRAMELESS_STACK_SIZE_MASK.
++// UNWIND_ARM64_MODE_DWARF:
++// No compact unwind encoding is available. Instead the low 24-bits of the
++// compact encoding is the offset of the DWARF FDE in the __eh_frame section.
++// This mode is never used in object files. It is only generated by the
++// linker in final linked images which have only DWARF unwind info for a
++// function.
++//
++
++
++
++
++
++////////////////////////////////////////////////////////////////////////////////
++//
++// Relocatable Object Files: __LD,__compact_unwind
++//
++////////////////////////////////////////////////////////////////////////////////
++
++//
++// A compiler can generated compact unwind information for a function by adding
++// a "row" to the __LD,__compact_unwind section. This section has the
++// S_ATTR_DEBUG bit set, so the section will be ignored by older linkers.
++// It is removed by the new linker, so never ends up in final executables.
++// This section is a table, initially with one row per function (that needs
++// unwind info). The table columns and some conceptual entries are:
++//
++// range-start pointer to start of function/range
++// range-length
++// compact-unwind-encoding 32-bit encoding
++// personality-function or zero if no personality function
++// lsda or zero if no LSDA data
++//
++// The length and encoding fields are 32-bits. The other are all pointer sized.
++//
++// In x86_64 assembly, these entry would look like:
++//
++// .section __LD,__compact_unwind,regular,debug
++//
++// #compact unwind for _foo
++// .quad _foo
++// .set L1,LfooEnd-_foo
++// .long L1
++// .long 0x01010001
++// .quad 0
++// .quad 0
++//
++// #compact unwind for _bar
++// .quad _bar
++// .set L2,LbarEnd-_bar
++// .long L2
++// .long 0x01020011
++// .quad __gxx_personality
++// .quad except_tab1
++//
++//
++// Notes: There is no need for any labels in the the __compact_unwind section.
++// The use of the .set directive is to force the evaluation of the
++// range-length at assembly time, instead of generating relocations.
++//
++// To support future compiler optimizations where which non-volatile registers
++// are saved changes within a function (e.g. delay saving non-volatiles until
++// necessary), there can by multiple lines in the __compact_unwind table for one
++// function, each with a different (non-overlapping) range and each with
++// different compact unwind encodings that correspond to the non-volatiles
++// saved at that range of the function.
++//
++// If a particular function is so wacky that there is no compact unwind way
++// to encode it, then the compiler can emit traditional DWARF unwind info.
++// The runtime will use which ever is available.
++//
++// Runtime support for compact unwind encodings are only available on 10.6
++// and later. So, the compiler should not generate it when targeting pre-10.6.
++
++
++
++
++////////////////////////////////////////////////////////////////////////////////
++//
++// Final Linked Images: __TEXT,__unwind_info
++//
++////////////////////////////////////////////////////////////////////////////////
++
++//
++// The __TEXT,__unwind_info section is laid out for an efficient two level lookup.
++// The header of the section contains a coarse index that maps function address
++// to the page (4096 byte block) containing the unwind info for that function.
++//
++
++#define UNWIND_SECTION_VERSION 1
++struct unwind_info_section_header
++{
++ uint32_t version; // UNWIND_SECTION_VERSION
++ uint32_t commonEncodingsArraySectionOffset;
++ uint32_t commonEncodingsArrayCount;
++ uint32_t personalityArraySectionOffset;
++ uint32_t personalityArrayCount;
++ uint32_t indexSectionOffset;
++ uint32_t indexCount;
++ // compact_unwind_encoding_t[]
++ // uint32_t personalities[]
++ // unwind_info_section_header_index_entry[]
++ // unwind_info_section_header_lsda_index_entry[]
++};
++
++struct unwind_info_section_header_index_entry
++{
++ uint32_t functionOffset;
++ uint32_t secondLevelPagesSectionOffset; // section offset to start of regular or compress page
++ uint32_t lsdaIndexArraySectionOffset; // section offset to start of lsda_index array for this range
++};
++
++struct unwind_info_section_header_lsda_index_entry
++{
++ uint32_t functionOffset;
++ uint32_t lsdaOffset;
++};
++
++//
++// There are two kinds of second level index pages: regular and compressed.
++// A compressed page can hold up to 1021 entries, but it cannot be used
++// if too many different encoding types are used. The regular page holds
++// 511 entries.
++//
++
++struct unwind_info_regular_second_level_entry
++{
++ uint32_t functionOffset;
++ compact_unwind_encoding_t encoding;
++};
++
++#define UNWIND_SECOND_LEVEL_REGULAR 2
++struct unwind_info_regular_second_level_page_header
++{
++ uint32_t kind; // UNWIND_SECOND_LEVEL_REGULAR
++ uint16_t entryPageOffset;
++ uint16_t entryCount;
++ // entry array
++};
++
++#define UNWIND_SECOND_LEVEL_COMPRESSED 3
++struct unwind_info_compressed_second_level_page_header
++{
++ uint32_t kind; // UNWIND_SECOND_LEVEL_COMPRESSED
++ uint16_t entryPageOffset;
++ uint16_t entryCount;
++ uint16_t encodingsPageOffset;
++ uint16_t encodingsCount;
++ // 32-bit entry array
++ // encodings array
++};
++
++#define UNWIND_INFO_COMPRESSED_ENTRY_FUNC_OFFSET(entry) (entry & 0x00FFFFFF)
++#define UNWIND_INFO_COMPRESSED_ENTRY_ENCODING_INDEX(entry) ((entry >> 24) & 0xFF)
++
++
++
++#endif
++
diff --git a/patches/lld-16.0.6/series b/patches/lld-16.0.6/series
new file mode 100644
index 0000000..876bc57
--- /dev/null
+++ b/patches/lld-16.0.6/series
@@ -0,0 +1,4 @@
+# generated by git-ptx-patches
+#tag:base --start-number 1
+0001-HACK-add-local-copy-of-compact_unwind_encoding.h.patch
+# f8d9473b2ec04cda098179457f4ab2cb - git-ptx-patches magic
diff --git a/ptxconfigs/aarch64-v8a-linux-gnu_gcc-10.2.1_glibc-2.32_binutils-2.35_kernel-5.8-sanitized.ptxconfig b/ptxconfigs/aarch64-v8a-linux-gnu_gcc-10.2.1_glibc-2.32_binutils-2.35_kernel-5.8-sanitized.ptxconfig
deleted file mode 100644
index 59cebf6..0000000
--- a/ptxconfigs/aarch64-v8a-linux-gnu_gcc-10.2.1_glibc-2.32_binutils-2.35_kernel-5.8-sanitized.ptxconfig
+++ /dev/null
@@ -1,143 +0,0 @@
-#
-# Automatically generated file; DO NOT EDIT.
-# PTXdist 2020.08.0
-#
-PTXCONF__ptxconfig_MAGIC__=y
-PTXCONF_BUILD_TOOLCHAIN=y
-PTXCONF_NO_PLATFORM=y
-PTXCONF_VIRTUAL=y
-PTXCONF_PROJECT="OSELAS.Toolchain-2020.XX.0"
-PTXCONF_PROJECT_CHECK_LICENSES=y
-
-#
-# ----------------------------------
-#
-# PTXCONF_ARCH_ARM is not set
-PTXCONF_ARCH_ARM64=y
-# PTXCONF_ARCH_M68K is not set
-# PTXCONF_ARCH_MIPS is not set
-# PTXCONF_ARCH_POWERPC is not set
-# PTXCONF_ARCH_I386 is not set
-# PTXCONF_ARCH_X86_64 is not set
-# PTXCONF_ARCH_AVR is not set
-# PTXCONF_ARCH_AVR32 is not set
-# PTXCONF_ARCH_RISCV64 is not set
-PTXCONF_ARCH="arm64"
-PTXCONF_GNU_TARGET="aarch64-v8a-linux-gnu"
-PTXCONF_SIZEOF_LONG_DOUBLE="16"
-
-#
-# ----------------------------------
-#
-PTXCONF_LIBC_HEADERS=y
-PTXCONF_LIBC_FIRST=y
-PTXCONF_LIBC=y
-PTXCONF_LIBC_GLIBC=y
-# PTXCONF_LIBC_UCLIBC is not set
-# PTXCONF_LIBC_NEWLIB is not set
-# PTXCONF_LIBC_AVR is not set
-PTXCONF_GLIBC_HEADERS=y
-PTXCONF_GLIBC_CRT=y
-PTXCONF_GLIBC_FIRST=y
-PTXCONF_GLIBC=y
-PTXCONF_GLIBC_VERSION="2.32"
-PTXCONF_GLIBC_DL_VERSION="2.32"
-PTXCONF_GLIBC_MD5="9ccf64ce8976baa21d85dc550ee9f145"
-PTXCONF_GLIBC_LICENSE="GPL-2.0-or-later AND LGPL-2.1-or-later"
-PTXCONF_GLIBC_LICENSE_FILES="file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c file://LICENSES;md5=1541fd8f5e8f1579512bf05f533371ba"
-PTXCONF_GLIBC_TIMESTAMP=""
-PTXCONF_GLIBC_SERIES=""
-PTXCONF_GLIBC_ENABLE_KERNEL="3.16"
-PTXCONF_GLIBC_CONFIG_EXTRA=""
-PTXCONF_GLIBC_CONFIG_EXTRA_CROSS="--enable-stackguard-randomization --enable-stack-protector=strong"
-PTXCONF_GLIBC_HEADERS_FAKE_CROSS="-D__ARM_EABI__"
-PTXCONF_CROSS_BINUTILS=y
-PTXCONF_CROSS_BINUTILS_VERSION="2.35"
-PTXCONF_CROSS_BINUTILS_MD5="f5ee1b8aab816dce3badf8513be6dd75"
-PTXCONF_CROSS_BINUTILS_LICENSE="GPL-2.0-or-later AND LGPL-2.0-or-later GPL-3.0-or-later AND LGPL-3.0-or-later"
-PTXCONF_CROSS_BINUTILS_LICENSE_FILES="file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674 file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6"
-# PTXCONF_CROSS_ELF2FLT is not set
-PTXCONF_KERNEL_HEADERS=y
-PTXCONF_KERNEL_HEADERS_VERSION="5.8"
-PTXCONF_KERNEL_HEADERS_MD5="0e5c4c15266218ef26c50fac0016095b"
-PTXCONF_KERNEL_HEADERS_SANITIZED=y
-PTXCONF_CROSS_GCC=y
-PTXCONF_CROSS_GCC_VERSION="10.2.1"
-PTXCONF_CROSS_GCC_MD5="b86843def44634eb3c55a4339c347471"
-PTXCONF_CROSS_GCC_DL_VERSION="10-20200822"
-PTXCONF_CROSS_GCC_PKGVERSION="${PTXCONF_PROJECT} ${PTXCONF_CROSS_GCC_DL_VERSION}"
-PTXCONF_CROSS_GCC_SERIES=""
-PTXCONF_CROSS_GCC_CONFIG_EXTRA="--with-abi=lp64 --with-arch=armv8-a --enable-linker-build-id"
-PTXCONF_CROSS_GCC_LICENSE="GPL-2.0-or-later WITH Classpath-exception-2.0 AND LGPL-2.1-or-later AND GPL-3.0-or-later AND GPL-3.0-or-later WITH GCC-exception-3.1 AND LGPL-3.0-or-later"
-PTXCONF_CROSS_GCC_LICENSE_FILES="file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1 file://COPYING.RUNTIME;md5=fe60d87048567d4fe8c8a0ed2448bcc8 file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6"
-PTXCONF_CROSS_GCC_GCCLIBS_LICENSE="GPL-3.0-only WITH GCC-exception-3.1"
-PTXCONF_CROSS_GCC_GCCLIBS_LICENSES="COPYING3 COPYING.RUNTIME"
-
-#
-# Additional supported languages:
-#
-PTXCONF_CROSS_GCC_LANG_C=y
-PTXCONF_CROSS_GCC_LANG_CXX=y
-# PTXCONF_CROSS_GCC_LANG_FORTRAN is not set
-# PTXCONF_CROSS_GCC_LANG_JAVA is not set
-PTXCONF_CROSS_GCC_LANG_OBJC=y
-PTXCONF_CROSS_GCC_LANG_OBJCXX=y
-PTXCONF_CROSS_GCC_ENABLE_CXA_ATEXIT=y
-PTXCONF_CROSS_GCC_CONFIG_CXA_ATEXIT="--enable-__cxa_atexit"
-PTXCONF_CROSS_GCC_DISABLE_SJLJ_EXCEPTIONS=y
-PTXCONF_CROSS_GCC_CONFIG_SJLJ_EXCEPTIONS="--disable-sjlj-exceptions"
-PTXCONF_CROSS_GCC_DISABLE_LIBSSP=y
-PTXCONF_CROSS_GCC_CONFIG_LIBSSP="--disable-libssp"
-PTXCONF_CROSS_GCC_ENABLE_SHARED=y
-PTXCONF_CROSS_GCC_CONFIG_SHARED="--enable-shared"
-PTXCONF_CROSS_GCC_THREADS_POSIX=y
-PTXCONF_CROSS_GCC_THREADS="posix"
-PTXCONF_CROSS_GCC_FIRST=y
-# PTXCONF_CROSS_LLVM is not set
-# PTXCONF_CROSS_CLANG is not set
-PTXCONF_CROSS_GDB=y
-PTXCONF_CROSS_GDB_VERSION="9.2"
-PTXCONF_CROSS_GDB_MD5="db95524e554870209ab7d9f8fd8dc557"
-PTXCONF_CROSS_GDB_LICENSE="GPL-2.0-or-later AND LGPL-2.0-or-later GPL-3.0-or-later AND LGPL-3.0-or-later"
-PTXCONF_CROSS_GDB_LICENSE_FILES="file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674 file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6"
-PTXCONF_CROSS_TOOLCHAIN=y
-PTXCONF_HOST_FAKE_MAKEINFO=y
-PTXCONF_HOST_M4=y
-PTXCONF_HOST_SYSTEM_EXPAT=y
-PTXCONF_HOST_SYSTEM_GMP=y
-PTXCONF_HOST_SYSTEM_ISL=y
-PTXCONF_HOST_SYSTEM_MPC=y
-PTXCONF_HOST_SYSTEM_MPFR=y
-PTXCONF_HOST_SYSTEM_PERL=y
-PTXCONF_HOST_SYSTEM_PYTHON3=y
-PTXCONF_HOST_SYSTEM_XZ=y
-PTXCONF_HOST_SYSTEM_ZLIB=y
-PTXCONF_HOST_AUTOTOOLS_AUTOCONF=y
-PTXCONF_HOST_AUTOTOOLS_AUTOMAKE=y
-PTXCONF_HOST_AUTOTOOLS_LIBTOOL=y
-PTXCONF_HOST_CHRPATH=y
-
-#
-# ----------------------------------
-#
-PTXCONF_TOOLCHAIN_ENABLE_SYSROOT=y
-PTXCONF_TOOLCHAIN_CONFIG_SYSROOT="--with-build-sysroot=${SYSROOT} --with-sysroot=${PTXCONF_PREFIX_TARGET}"
-PTXCONF_TOOLCHAIN_DISABLE_MULTILIB=y
-PTXCONF_TOOLCHAIN_CONFIG_MULTILIB="--disable-multilib"
-
-#
-# misc
-#
-PTXCONF_PREFIX="/opt"
-PTXCONF_PREFIX_KERNEL="-sanitized"
-PTXCONF_PREFIX_TCID="gcc-${PTXCONF_CROSS_GCC_VERSION}${PTXCONF_PREFIX_JAVA}-glibc-${PTXCONF_GLIBC_VERSION}-binutils-${PTXCONF_CROSS_BINUTILS_VERSION}-kernel-${PTXCONF_KERNEL_HEADERS_VERSION}${PTXCONF_PREFIX_KERNEL}"
-PTXCONF_SYSROOT_HOST="${PTXDIST_PLATFORMDIR}/sysroot-host"
-PTXCONF_PREFIX_CROSS="${PTXCONF_PREFIX}/${PTXCONF_PROJECT}/${PTXCONF_GNU_TARGET}/${PTXCONF_PREFIX_TCID}"
-PTXCONF_SYSROOT_CROSS="${PTXDIST_PLATFORMDIR}/sysroot-cross"
-PTXCONF_PREFIX_TARGET="${PTXCONF_PREFIX_CROSS}/sysroot-${PTXCONF_GNU_TARGET}"
-PTXCONF_SYSROOT_TARGET="${PTXCONF_SYSROOT_CROSS}${PTXCONF_PREFIX_TARGET}"
-PTXCONF_PLATFORM="${PTXCONF_GNU_TARGET}-${PTXCONF_PREFIX_TCID}"
-PTXCONF_COMPILER_PREFIX="${PTXCONF_GNU_TARGET}-"
-# PTXCONF_TOOLCHAIN_DEBUG is not set
-PTXCONF_IMAGE_TOOLCHAIN_TGZ=y
-PTXCONF_CONFIGFILE_VERSION="2020.08.0"
diff --git a/ptxconfigs/aarch64-v8a-linux-gnu_gcc-10.2.1_clang-10.0.1_glibc-2.32_binutils-2.35_kernel-5.8-sanitized.ptxconfig b/ptxconfigs/aarch64-v8a-linux-gnu_gcc-13.1.1_clang-16.0.6_glibc-2.37_binutils-2.40_kernel-6.3.6-sanitized.ptxconfig
index ae981b1..695f8b0 100644
--- a/ptxconfigs/aarch64-v8a-linux-gnu_gcc-10.2.1_clang-10.0.1_glibc-2.32_binutils-2.35_kernel-5.8-sanitized.ptxconfig
+++ b/ptxconfigs/aarch64-v8a-linux-gnu_gcc-13.1.1_clang-16.0.6_glibc-2.37_binutils-2.40_kernel-6.3.6-sanitized.ptxconfig
@@ -1,13 +1,14 @@
#
# Automatically generated file; DO NOT EDIT.
-# PTXdist 2020.08.0
+# PTXdist 2023.07.0
#
PTXCONF__ptxconfig_MAGIC__=y
PTXCONF_BUILD_TOOLCHAIN=y
PTXCONF_NO_PLATFORM=y
PTXCONF_VIRTUAL=y
-PTXCONF_PROJECT="OSELAS.Toolchain-2020.XX.0"
+PTXCONF_PROJECT="OSELAS.Toolchain-2023.07.0"
PTXCONF_PROJECT_CHECK_LICENSES=y
+PTXCONF_BASE=y
#
# ----------------------------------
@@ -16,12 +17,14 @@ PTXCONF_PROJECT_CHECK_LICENSES=y
PTXCONF_ARCH_ARM64=y
# PTXCONF_ARCH_M68K is not set
# PTXCONF_ARCH_MIPS is not set
+# PTXCONF_ARCH_MIPS64 is not set
# PTXCONF_ARCH_POWERPC is not set
# PTXCONF_ARCH_I386 is not set
# PTXCONF_ARCH_X86_64 is not set
# PTXCONF_ARCH_AVR is not set
# PTXCONF_ARCH_AVR32 is not set
# PTXCONF_ARCH_RISCV64 is not set
+# PTXCONF_ARCH_LOONGARCH is not set
PTXCONF_ARCH="arm64"
PTXCONF_GNU_TARGET="aarch64-v8a-linux-gnu"
PTXCONF_SIZEOF_LONG_DOUBLE="16"
@@ -40,34 +43,35 @@ PTXCONF_GLIBC_HEADERS=y
PTXCONF_GLIBC_CRT=y
PTXCONF_GLIBC_FIRST=y
PTXCONF_GLIBC=y
-PTXCONF_GLIBC_VERSION="2.32"
-PTXCONF_GLIBC_DL_VERSION="2.32"
-PTXCONF_GLIBC_MD5="9ccf64ce8976baa21d85dc550ee9f145"
+PTXCONF_GLIBC_VERSION="2.37"
+PTXCONF_GLIBC_DL_VERSION="2.37-22-g3593050c27dc"
+PTXCONF_GLIBC_MD5="f0f89e0ad0929acece926fcfc2a1798f"
PTXCONF_GLIBC_LICENSE="GPL-2.0-or-later AND LGPL-2.1-or-later"
PTXCONF_GLIBC_LICENSE_FILES="file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c file://LICENSES;md5=1541fd8f5e8f1579512bf05f533371ba"
PTXCONF_GLIBC_TIMESTAMP=""
PTXCONF_GLIBC_SERIES=""
-PTXCONF_GLIBC_ENABLE_KERNEL="3.16"
+PTXCONF_GLIBC_ENABLE_KERNEL="4.19"
PTXCONF_GLIBC_CONFIG_EXTRA=""
-PTXCONF_GLIBC_CONFIG_EXTRA_CROSS="--enable-stackguard-randomization --enable-stack-protector=strong"
+PTXCONF_GLIBC_CONFIG_EXTRA_CROSS="--enable-stack-protector=strong"
PTXCONF_GLIBC_HEADERS_FAKE_CROSS="-D__ARM_EABI__"
PTXCONF_CROSS_BINUTILS=y
-PTXCONF_CROSS_BINUTILS_VERSION="2.35"
-PTXCONF_CROSS_BINUTILS_MD5="f5ee1b8aab816dce3badf8513be6dd75"
+PTXCONF_CROSS_BINUTILS_VERSION="2.40"
+PTXCONF_CROSS_BINUTILS_MD5="fe10027c8de77b643ae72bd6de3f7996"
PTXCONF_CROSS_BINUTILS_LICENSE="GPL-2.0-or-later AND LGPL-2.0-or-later GPL-3.0-or-later AND LGPL-3.0-or-later"
PTXCONF_CROSS_BINUTILS_LICENSE_FILES="file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674 file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6"
+PTXCONF_CROSS_BINUTILS_GOLD=y
# PTXCONF_CROSS_ELF2FLT is not set
PTXCONF_KERNEL_HEADERS=y
-PTXCONF_KERNEL_HEADERS_VERSION="5.8"
-PTXCONF_KERNEL_HEADERS_MD5="0e5c4c15266218ef26c50fac0016095b"
+PTXCONF_KERNEL_HEADERS_VERSION="6.3.6"
+PTXCONF_KERNEL_HEADERS_MD5="b30b7e0367fee0505eecbef74d852256"
PTXCONF_KERNEL_HEADERS_SANITIZED=y
PTXCONF_CROSS_GCC=y
-PTXCONF_CROSS_GCC_VERSION="10.2.1"
-PTXCONF_CROSS_GCC_MD5="b86843def44634eb3c55a4339c347471"
-PTXCONF_CROSS_GCC_DL_VERSION="10-20200822"
+PTXCONF_CROSS_GCC_VERSION="13.1.1"
+PTXCONF_CROSS_GCC_MD5="dac67a127451736b3c3c4ded8cdac304"
+PTXCONF_CROSS_GCC_DL_VERSION="13-20230624"
PTXCONF_CROSS_GCC_PKGVERSION="${PTXCONF_PROJECT} ${PTXCONF_CROSS_GCC_DL_VERSION}"
PTXCONF_CROSS_GCC_SERIES=""
-PTXCONF_CROSS_GCC_CONFIG_EXTRA="--with-abi=lp64 --with-arch=armv8-a --enable-linker-build-id"
+PTXCONF_CROSS_GCC_CONFIG_EXTRA="--with-abi=lp64 --with-arch=armv8-a --with-specs='%{!pg:%{!fomit-frame-pointer:%{!fno-omit-frame-pointer:-fomit-frame-pointer}}}' --enable-linker-build-id"
PTXCONF_CROSS_GCC_LICENSE="GPL-2.0-or-later WITH Classpath-exception-2.0 AND LGPL-2.1-or-later AND GPL-3.0-or-later AND GPL-3.0-or-later WITH GCC-exception-3.1 AND LGPL-3.0-or-later"
PTXCONF_CROSS_GCC_LICENSE_FILES="file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1 file://COPYING.RUNTIME;md5=fe60d87048567d4fe8c8a0ed2448bcc8 file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6"
PTXCONF_CROSS_GCC_GCCLIBS_LICENSE="GPL-3.0-only WITH GCC-exception-3.1"
@@ -78,7 +82,7 @@ PTXCONF_CROSS_GCC_GCCLIBS_LICENSES="COPYING3 COPYING.RUNTIME"
#
PTXCONF_CROSS_GCC_LANG_C=y
PTXCONF_CROSS_GCC_LANG_CXX=y
-# PTXCONF_CROSS_GCC_LANG_FORTRAN is not set
+PTXCONF_CROSS_GCC_LANG_FORTRAN=y
# PTXCONF_CROSS_GCC_LANG_JAVA is not set
PTXCONF_CROSS_GCC_LANG_OBJC=y
PTXCONF_CROSS_GCC_LANG_OBJCXX=y
@@ -94,28 +98,40 @@ PTXCONF_CROSS_GCC_THREADS_POSIX=y
PTXCONF_CROSS_GCC_THREADS="posix"
PTXCONF_CROSS_GCC_FIRST=y
PTXCONF_CROSS_LLVM=y
-PTXCONF_CROSS_LLVM_VERSION="10.0.1"
-PTXCONF_CROSS_LLVM_MD5="71c68c526cbbf1674b5aafc5542b336c"
+PTXCONF_CROSS_LLVM_VERSION="16.0.6"
+PTXCONF_CROSS_LLVM_MD5="7d986cda69719a35bd5ecb266fcf1f65"
+PTXCONF_CROSS_LLVM_CMAKE_MODULES_MD5="b7830bb90e376c90a43c2c190a0a5ffa"
PTXCONF_CROSS_LLVM_LICENSE="Apache-2.0 WITH LLVM-exception AND NCSA"
PTXCONF_CROSS_LLVM_LICENSE_FILES="file://LICENSE.TXT;md5=8a15a0759ef07f2682d2ba4b893c9afe"
PTXCONF_CROSS_CLANG=y
PTXCONF_CROSS_CLANG_VERSION="${PTXCONF_CROSS_LLVM_VERSION}"
-PTXCONF_CROSS_CLANG_MD5="6c8b56f531876fd24e06257a2d8ce422"
+PTXCONF_CROSS_CLANG_MD5="70053a666251fdcabc466ea4a0275972"
PTXCONF_CROSS_CLANG_LICENSE="Apache-2.0 WITH LLVM-exception AND NCSA"
PTXCONF_CROSS_CLANG_LICENSE_FILES="file://LICENSE.TXT;md5=ff42885ed2ab98f1ecb8c1fc41205343"
PTXCONF_CROSS_LLD=y
PTXCONF_CROSS_LLD_VERSION="${PTXCONF_CROSS_LLVM_VERSION}"
-PTXCONF_CROSS_LLD_MD5="c8f364fbb129e47ef2793c317561449a"
+PTXCONF_CROSS_LLD_MD5="9c9530a0853624a869917853a2da2bd1"
PTXCONF_CROSS_LLD_LICENSE="Apache-2.0 WITH LLVM-exception AND NCSA"
PTXCONF_CROSS_LLD_LICENSE_FILES="file://LICENSE.TXT;md5=ae7dc7c027b1fa89b5b013d391d3ee2b"
+PTXCONF_CROSS_RUSTC=y
+PTXCONF_CROSS_RUSTC_VERSION="1.70.0"
+PTXCONF_CROSS_RUSTC_MD5="165792a4266021589b2d6061f208755f"
+PTXCONF_CROSS_RUSTC_TARGET="${PTXCONF_GNU_TARGET}"
+PTXCONF_CROSS_RUSTC_BUILD_VERSION="1.69.0"
+PTXCONF_CROSS_RUSTC_BUILD_DATE="2023-04-20"
+PTXCONF_CROSS_RUSTC_BUILD_STD_MD5="d9649027934eeb364f3b9ac4f2c1d1ff"
+PTXCONF_CROSS_RUSTC_BUILD_RUSTC_MD5="115ced745660c1659c54e69c44f4dd47"
+PTXCONF_CROSS_RUSTC_BUILD_CARGO_MD5="b208debb640360059b98948b0aa939fb"
PTXCONF_CROSS_GDB=y
-PTXCONF_CROSS_GDB_VERSION="9.2"
-PTXCONF_CROSS_GDB_MD5="db95524e554870209ab7d9f8fd8dc557"
+PTXCONF_CROSS_GDB_VERSION="13.2"
+PTXCONF_CROSS_GDB_MD5="fbd3cdae16c581e8a742cb766ba35076"
PTXCONF_CROSS_GDB_LICENSE="GPL-2.0-or-later AND LGPL-2.0-or-later GPL-3.0-or-later AND LGPL-3.0-or-later"
PTXCONF_CROSS_GDB_LICENSE_FILES="file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674 file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6"
PTXCONF_CROSS_TOOLCHAIN=y
PTXCONF_HOST_FAKE_MAKEINFO=y
+PTXCONF_HOST_ACL=y
PTXCONF_HOST_CMAKE=y
+PTXCONF_HOST_LIBCAP=y
PTXCONF_HOST_M4=y
PTXCONF_HOST_NINJA=y
PTXCONF_HOST_SYSTEM_EXPAT=y
@@ -123,6 +139,7 @@ PTXCONF_HOST_SYSTEM_GMP=y
PTXCONF_HOST_SYSTEM_ISL=y
PTXCONF_HOST_SYSTEM_MPC=y
PTXCONF_HOST_SYSTEM_MPFR=y
+PTXCONF_HOST_SYSTEM_OPENSSL=y
PTXCONF_HOST_SYSTEM_PERL=y
PTXCONF_HOST_SYSTEM_PYTHON3=y
PTXCONF_HOST_SYSTEM_XZ=y
@@ -131,6 +148,7 @@ PTXCONF_HOST_AUTOTOOLS_AUTOCONF=y
PTXCONF_HOST_AUTOTOOLS_AUTOMAKE=y
PTXCONF_HOST_AUTOTOOLS_LIBTOOL=y
PTXCONF_HOST_CHRPATH=y
+PTXCONF_HOST_FAKEROOT=y
#
# ----------------------------------
@@ -154,5 +172,7 @@ PTXCONF_SYSROOT_TARGET="${PTXCONF_SYSROOT_CROSS}${PTXCONF_PREFIX_TARGET}"
PTXCONF_PLATFORM="${PTXCONF_GNU_TARGET}-${PTXCONF_PREFIX_TCID}"
PTXCONF_COMPILER_PREFIX="${PTXCONF_GNU_TARGET}-"
# PTXCONF_TOOLCHAIN_DEBUG is not set
+# end of misc
+
PTXCONF_IMAGE_TOOLCHAIN_TGZ=y
-PTXCONF_CONFIGFILE_VERSION="2020.08.0"
+PTXCONF_CONFIGFILE_VERSION="2023.07.0"
diff --git a/ptxconfigs/arm-1136jfs-linux-gnueabi_gcc-10.2.1_glibc-2.32_binutils-2.35_kernel-5.8-sanitized.ptxconfig b/ptxconfigs/arm-1136jfs-linux-gnueabi_gcc-13.1.1_glibc-2.37_binutils-2.40_kernel-6.3.6-sanitized.ptxconfig
index 2b6cca4..a04806a 100644
--- a/ptxconfigs/arm-1136jfs-linux-gnueabi_gcc-10.2.1_glibc-2.32_binutils-2.35_kernel-5.8-sanitized.ptxconfig
+++ b/ptxconfigs/arm-1136jfs-linux-gnueabi_gcc-13.1.1_glibc-2.37_binutils-2.40_kernel-6.3.6-sanitized.ptxconfig
@@ -1,13 +1,14 @@
#
# Automatically generated file; DO NOT EDIT.
-# PTXdist 2020.08.0
+# PTXdist 2023.07.0
#
PTXCONF__ptxconfig_MAGIC__=y
PTXCONF_BUILD_TOOLCHAIN=y
PTXCONF_NO_PLATFORM=y
PTXCONF_VIRTUAL=y
-PTXCONF_PROJECT="OSELAS.Toolchain-2020.XX.0"
+PTXCONF_PROJECT="OSELAS.Toolchain-2023.07.0"
PTXCONF_PROJECT_CHECK_LICENSES=y
+PTXCONF_BASE=y
#
# ----------------------------------
@@ -16,12 +17,14 @@ PTXCONF_ARCH_ARM=y
# PTXCONF_ARCH_ARM64 is not set
# PTXCONF_ARCH_M68K is not set
# PTXCONF_ARCH_MIPS is not set
+# PTXCONF_ARCH_MIPS64 is not set
# PTXCONF_ARCH_POWERPC is not set
# PTXCONF_ARCH_I386 is not set
# PTXCONF_ARCH_X86_64 is not set
# PTXCONF_ARCH_AVR is not set
# PTXCONF_ARCH_AVR32 is not set
# PTXCONF_ARCH_RISCV64 is not set
+# PTXCONF_ARCH_LOONGARCH is not set
PTXCONF_ARCH="arm"
PTXCONF_GNU_TARGET="arm-1136jfs-linux-gnueabi"
PTXCONF_SIZEOF_LONG_DOUBLE="8"
@@ -40,31 +43,32 @@ PTXCONF_GLIBC_HEADERS=y
PTXCONF_GLIBC_CRT=y
PTXCONF_GLIBC_FIRST=y
PTXCONF_GLIBC=y
-PTXCONF_GLIBC_VERSION="2.32"
-PTXCONF_GLIBC_DL_VERSION="2.32"
-PTXCONF_GLIBC_MD5="9ccf64ce8976baa21d85dc550ee9f145"
+PTXCONF_GLIBC_VERSION="2.37"
+PTXCONF_GLIBC_DL_VERSION="2.37-22-g3593050c27dc"
+PTXCONF_GLIBC_MD5="f0f89e0ad0929acece926fcfc2a1798f"
PTXCONF_GLIBC_LICENSE="GPL-2.0-or-later AND LGPL-2.1-or-later"
PTXCONF_GLIBC_LICENSE_FILES="file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c file://LICENSES;md5=1541fd8f5e8f1579512bf05f533371ba"
PTXCONF_GLIBC_TIMESTAMP=""
PTXCONF_GLIBC_SERIES=""
-PTXCONF_GLIBC_ENABLE_KERNEL="3.16"
+PTXCONF_GLIBC_ENABLE_KERNEL="4.19"
PTXCONF_GLIBC_CONFIG_EXTRA=""
-PTXCONF_GLIBC_CONFIG_EXTRA_CROSS="--enable-stackguard-randomization --enable-stack-protector=strong"
+PTXCONF_GLIBC_CONFIG_EXTRA_CROSS="--enable-stack-protector=strong"
PTXCONF_GLIBC_HEADERS_FAKE_CROSS="-D__ARM_EABI__ -D__ARM_ARCH=6"
PTXCONF_CROSS_BINUTILS=y
-PTXCONF_CROSS_BINUTILS_VERSION="2.35"
-PTXCONF_CROSS_BINUTILS_MD5="f5ee1b8aab816dce3badf8513be6dd75"
+PTXCONF_CROSS_BINUTILS_VERSION="2.40"
+PTXCONF_CROSS_BINUTILS_MD5="fe10027c8de77b643ae72bd6de3f7996"
PTXCONF_CROSS_BINUTILS_LICENSE="GPL-2.0-or-later AND LGPL-2.0-or-later GPL-3.0-or-later AND LGPL-3.0-or-later"
PTXCONF_CROSS_BINUTILS_LICENSE_FILES="file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674 file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6"
+PTXCONF_CROSS_BINUTILS_GOLD=y
# PTXCONF_CROSS_ELF2FLT is not set
PTXCONF_KERNEL_HEADERS=y
-PTXCONF_KERNEL_HEADERS_VERSION="5.8"
-PTXCONF_KERNEL_HEADERS_MD5="0e5c4c15266218ef26c50fac0016095b"
+PTXCONF_KERNEL_HEADERS_VERSION="6.3.6"
+PTXCONF_KERNEL_HEADERS_MD5="b30b7e0367fee0505eecbef74d852256"
PTXCONF_KERNEL_HEADERS_SANITIZED=y
PTXCONF_CROSS_GCC=y
-PTXCONF_CROSS_GCC_VERSION="10.2.1"
-PTXCONF_CROSS_GCC_MD5="b86843def44634eb3c55a4339c347471"
-PTXCONF_CROSS_GCC_DL_VERSION="10-20200822"
+PTXCONF_CROSS_GCC_VERSION="13.1.1"
+PTXCONF_CROSS_GCC_MD5="dac67a127451736b3c3c4ded8cdac304"
+PTXCONF_CROSS_GCC_DL_VERSION="13-20230624"
PTXCONF_CROSS_GCC_PKGVERSION="${PTXCONF_PROJECT} ${PTXCONF_CROSS_GCC_DL_VERSION}"
PTXCONF_CROSS_GCC_SERIES=""
PTXCONF_CROSS_GCC_CONFIG_EXTRA="--with-float=softfp --with-fpu=vfp --with-cpu=arm1136jf-s --enable-linker-build-id"
@@ -78,7 +82,7 @@ PTXCONF_CROSS_GCC_GCCLIBS_LICENSES="COPYING3 COPYING.RUNTIME"
#
PTXCONF_CROSS_GCC_LANG_C=y
PTXCONF_CROSS_GCC_LANG_CXX=y
-# PTXCONF_CROSS_GCC_LANG_FORTRAN is not set
+PTXCONF_CROSS_GCC_LANG_FORTRAN=y
# PTXCONF_CROSS_GCC_LANG_JAVA is not set
PTXCONF_CROSS_GCC_LANG_OBJC=y
PTXCONF_CROSS_GCC_LANG_OBJCXX=y
@@ -95,13 +99,16 @@ PTXCONF_CROSS_GCC_THREADS="posix"
PTXCONF_CROSS_GCC_FIRST=y
# PTXCONF_CROSS_LLVM is not set
# PTXCONF_CROSS_CLANG is not set
+# PTXCONF_CROSS_RUSTC is not set
PTXCONF_CROSS_GDB=y
-PTXCONF_CROSS_GDB_VERSION="9.2"
-PTXCONF_CROSS_GDB_MD5="db95524e554870209ab7d9f8fd8dc557"
+PTXCONF_CROSS_GDB_VERSION="13.2"
+PTXCONF_CROSS_GDB_MD5="fbd3cdae16c581e8a742cb766ba35076"
PTXCONF_CROSS_GDB_LICENSE="GPL-2.0-or-later AND LGPL-2.0-or-later GPL-3.0-or-later AND LGPL-3.0-or-later"
PTXCONF_CROSS_GDB_LICENSE_FILES="file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674 file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6"
PTXCONF_CROSS_TOOLCHAIN=y
PTXCONF_HOST_FAKE_MAKEINFO=y
+PTXCONF_HOST_ACL=y
+PTXCONF_HOST_LIBCAP=y
PTXCONF_HOST_M4=y
PTXCONF_HOST_SYSTEM_EXPAT=y
PTXCONF_HOST_SYSTEM_GMP=y
@@ -116,6 +123,7 @@ PTXCONF_HOST_AUTOTOOLS_AUTOCONF=y
PTXCONF_HOST_AUTOTOOLS_AUTOMAKE=y
PTXCONF_HOST_AUTOTOOLS_LIBTOOL=y
PTXCONF_HOST_CHRPATH=y
+PTXCONF_HOST_FAKEROOT=y
#
# ----------------------------------
@@ -139,5 +147,7 @@ PTXCONF_SYSROOT_TARGET="${PTXCONF_SYSROOT_CROSS}${PTXCONF_PREFIX_TARGET}"
PTXCONF_PLATFORM="${PTXCONF_GNU_TARGET}-${PTXCONF_PREFIX_TCID}"
PTXCONF_COMPILER_PREFIX="${PTXCONF_GNU_TARGET}-"
# PTXCONF_TOOLCHAIN_DEBUG is not set
+# end of misc
+
PTXCONF_IMAGE_TOOLCHAIN_TGZ=y
-PTXCONF_CONFIGFILE_VERSION="2020.08.0"
+PTXCONF_CONFIGFILE_VERSION="2023.07.0"
diff --git a/ptxconfigs/arm-1136jfs-linux-gnueabihf_gcc-10.2.1_glibc-2.32_binutils-2.35_kernel-5.8-sanitized.ptxconfig b/ptxconfigs/arm-1136jfs-linux-gnueabihf_gcc-13.1.1_glibc-2.37_binutils-2.40_kernel-6.3.6-sanitized.ptxconfig
index 5e5ffd3..8aa7412 100644
--- a/ptxconfigs/arm-1136jfs-linux-gnueabihf_gcc-10.2.1_glibc-2.32_binutils-2.35_kernel-5.8-sanitized.ptxconfig
+++ b/ptxconfigs/arm-1136jfs-linux-gnueabihf_gcc-13.1.1_glibc-2.37_binutils-2.40_kernel-6.3.6-sanitized.ptxconfig
@@ -1,13 +1,14 @@
#
# Automatically generated file; DO NOT EDIT.
-# PTXdist 2020.08.0
+# PTXdist 2023.07.0
#
PTXCONF__ptxconfig_MAGIC__=y
PTXCONF_BUILD_TOOLCHAIN=y
PTXCONF_NO_PLATFORM=y
PTXCONF_VIRTUAL=y
-PTXCONF_PROJECT="OSELAS.Toolchain-2020.XX.0"
+PTXCONF_PROJECT="OSELAS.Toolchain-2023.07.0"
PTXCONF_PROJECT_CHECK_LICENSES=y
+PTXCONF_BASE=y
#
# ----------------------------------
@@ -16,12 +17,14 @@ PTXCONF_ARCH_ARM=y
# PTXCONF_ARCH_ARM64 is not set
# PTXCONF_ARCH_M68K is not set
# PTXCONF_ARCH_MIPS is not set
+# PTXCONF_ARCH_MIPS64 is not set
# PTXCONF_ARCH_POWERPC is not set
# PTXCONF_ARCH_I386 is not set
# PTXCONF_ARCH_X86_64 is not set
# PTXCONF_ARCH_AVR is not set
# PTXCONF_ARCH_AVR32 is not set
# PTXCONF_ARCH_RISCV64 is not set
+# PTXCONF_ARCH_LOONGARCH is not set
PTXCONF_ARCH="arm"
PTXCONF_GNU_TARGET="arm-1136jfs-linux-gnueabihf"
PTXCONF_SIZEOF_LONG_DOUBLE="8"
@@ -40,31 +43,32 @@ PTXCONF_GLIBC_HEADERS=y
PTXCONF_GLIBC_CRT=y
PTXCONF_GLIBC_FIRST=y
PTXCONF_GLIBC=y
-PTXCONF_GLIBC_VERSION="2.32"
-PTXCONF_GLIBC_DL_VERSION="2.32"
-PTXCONF_GLIBC_MD5="9ccf64ce8976baa21d85dc550ee9f145"
+PTXCONF_GLIBC_VERSION="2.37"
+PTXCONF_GLIBC_DL_VERSION="2.37-22-g3593050c27dc"
+PTXCONF_GLIBC_MD5="f0f89e0ad0929acece926fcfc2a1798f"
PTXCONF_GLIBC_LICENSE="GPL-2.0-or-later AND LGPL-2.1-or-later"
PTXCONF_GLIBC_LICENSE_FILES="file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c file://LICENSES;md5=1541fd8f5e8f1579512bf05f533371ba"
PTXCONF_GLIBC_TIMESTAMP=""
PTXCONF_GLIBC_SERIES=""
-PTXCONF_GLIBC_ENABLE_KERNEL="3.16"
+PTXCONF_GLIBC_ENABLE_KERNEL="4.19"
PTXCONF_GLIBC_CONFIG_EXTRA=""
-PTXCONF_GLIBC_CONFIG_EXTRA_CROSS="--enable-stackguard-randomization --enable-stack-protector=strong"
+PTXCONF_GLIBC_CONFIG_EXTRA_CROSS="--enable-stack-protector=strong"
PTXCONF_GLIBC_HEADERS_FAKE_CROSS="-D__ARM_EABI__ -D__ARM_ARCH=6"
PTXCONF_CROSS_BINUTILS=y
-PTXCONF_CROSS_BINUTILS_VERSION="2.35"
-PTXCONF_CROSS_BINUTILS_MD5="f5ee1b8aab816dce3badf8513be6dd75"
+PTXCONF_CROSS_BINUTILS_VERSION="2.40"
+PTXCONF_CROSS_BINUTILS_MD5="fe10027c8de77b643ae72bd6de3f7996"
PTXCONF_CROSS_BINUTILS_LICENSE="GPL-2.0-or-later AND LGPL-2.0-or-later GPL-3.0-or-later AND LGPL-3.0-or-later"
PTXCONF_CROSS_BINUTILS_LICENSE_FILES="file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674 file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6"
+PTXCONF_CROSS_BINUTILS_GOLD=y
# PTXCONF_CROSS_ELF2FLT is not set
PTXCONF_KERNEL_HEADERS=y
-PTXCONF_KERNEL_HEADERS_VERSION="5.8"
-PTXCONF_KERNEL_HEADERS_MD5="0e5c4c15266218ef26c50fac0016095b"
+PTXCONF_KERNEL_HEADERS_VERSION="6.3.6"
+PTXCONF_KERNEL_HEADERS_MD5="b30b7e0367fee0505eecbef74d852256"
PTXCONF_KERNEL_HEADERS_SANITIZED=y
PTXCONF_CROSS_GCC=y
-PTXCONF_CROSS_GCC_VERSION="10.2.1"
-PTXCONF_CROSS_GCC_MD5="b86843def44634eb3c55a4339c347471"
-PTXCONF_CROSS_GCC_DL_VERSION="10-20200822"
+PTXCONF_CROSS_GCC_VERSION="13.1.1"
+PTXCONF_CROSS_GCC_MD5="dac67a127451736b3c3c4ded8cdac304"
+PTXCONF_CROSS_GCC_DL_VERSION="13-20230624"
PTXCONF_CROSS_GCC_PKGVERSION="${PTXCONF_PROJECT} ${PTXCONF_CROSS_GCC_DL_VERSION}"
PTXCONF_CROSS_GCC_SERIES=""
PTXCONF_CROSS_GCC_CONFIG_EXTRA="--with-float=hard --with-fpu=vfp --with-cpu=arm1136jf-s --enable-linker-build-id"
@@ -78,7 +82,7 @@ PTXCONF_CROSS_GCC_GCCLIBS_LICENSES="COPYING3 COPYING.RUNTIME"
#
PTXCONF_CROSS_GCC_LANG_C=y
PTXCONF_CROSS_GCC_LANG_CXX=y
-# PTXCONF_CROSS_GCC_LANG_FORTRAN is not set
+PTXCONF_CROSS_GCC_LANG_FORTRAN=y
# PTXCONF_CROSS_GCC_LANG_JAVA is not set
PTXCONF_CROSS_GCC_LANG_OBJC=y
PTXCONF_CROSS_GCC_LANG_OBJCXX=y
@@ -95,13 +99,16 @@ PTXCONF_CROSS_GCC_THREADS="posix"
PTXCONF_CROSS_GCC_FIRST=y
# PTXCONF_CROSS_LLVM is not set
# PTXCONF_CROSS_CLANG is not set
+# PTXCONF_CROSS_RUSTC is not set
PTXCONF_CROSS_GDB=y
-PTXCONF_CROSS_GDB_VERSION="9.2"
-PTXCONF_CROSS_GDB_MD5="db95524e554870209ab7d9f8fd8dc557"
+PTXCONF_CROSS_GDB_VERSION="13.2"
+PTXCONF_CROSS_GDB_MD5="fbd3cdae16c581e8a742cb766ba35076"
PTXCONF_CROSS_GDB_LICENSE="GPL-2.0-or-later AND LGPL-2.0-or-later GPL-3.0-or-later AND LGPL-3.0-or-later"
PTXCONF_CROSS_GDB_LICENSE_FILES="file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674 file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6"
PTXCONF_CROSS_TOOLCHAIN=y
PTXCONF_HOST_FAKE_MAKEINFO=y
+PTXCONF_HOST_ACL=y
+PTXCONF_HOST_LIBCAP=y
PTXCONF_HOST_M4=y
PTXCONF_HOST_SYSTEM_EXPAT=y
PTXCONF_HOST_SYSTEM_GMP=y
@@ -116,6 +123,7 @@ PTXCONF_HOST_AUTOTOOLS_AUTOCONF=y
PTXCONF_HOST_AUTOTOOLS_AUTOMAKE=y
PTXCONF_HOST_AUTOTOOLS_LIBTOOL=y
PTXCONF_HOST_CHRPATH=y
+PTXCONF_HOST_FAKEROOT=y
#
# ----------------------------------
@@ -139,5 +147,7 @@ PTXCONF_SYSROOT_TARGET="${PTXCONF_SYSROOT_CROSS}${PTXCONF_PREFIX_TARGET}"
PTXCONF_PLATFORM="${PTXCONF_GNU_TARGET}-${PTXCONF_PREFIX_TCID}"
PTXCONF_COMPILER_PREFIX="${PTXCONF_GNU_TARGET}-"
# PTXCONF_TOOLCHAIN_DEBUG is not set
+# end of misc
+
PTXCONF_IMAGE_TOOLCHAIN_TGZ=y
-PTXCONF_CONFIGFILE_VERSION="2020.08.0"
+PTXCONF_CONFIGFILE_VERSION="2023.07.0"
diff --git a/ptxconfigs/arm-v4t-linux-gnueabi_gcc-10.2.1_glibc-2.32_binutils-2.35_kernel-5.8-sanitized.ptxconfig b/ptxconfigs/arm-v4t-linux-gnueabi_gcc-13.1.1_glibc-2.37_binutils-2.40_kernel-6.3.6-sanitized.ptxconfig
index 94a963e..769e50d 100644
--- a/ptxconfigs/arm-v4t-linux-gnueabi_gcc-10.2.1_glibc-2.32_binutils-2.35_kernel-5.8-sanitized.ptxconfig
+++ b/ptxconfigs/arm-v4t-linux-gnueabi_gcc-13.1.1_glibc-2.37_binutils-2.40_kernel-6.3.6-sanitized.ptxconfig
@@ -1,13 +1,14 @@
#
# Automatically generated file; DO NOT EDIT.
-# PTXdist 2020.08.0
+# PTXdist 2023.07.0
#
PTXCONF__ptxconfig_MAGIC__=y
PTXCONF_BUILD_TOOLCHAIN=y
PTXCONF_NO_PLATFORM=y
PTXCONF_VIRTUAL=y
-PTXCONF_PROJECT="OSELAS.Toolchain-2020.XX.0"
+PTXCONF_PROJECT="OSELAS.Toolchain-2023.07.0"
PTXCONF_PROJECT_CHECK_LICENSES=y
+PTXCONF_BASE=y
#
# ----------------------------------
@@ -16,12 +17,14 @@ PTXCONF_ARCH_ARM=y
# PTXCONF_ARCH_ARM64 is not set
# PTXCONF_ARCH_M68K is not set
# PTXCONF_ARCH_MIPS is not set
+# PTXCONF_ARCH_MIPS64 is not set
# PTXCONF_ARCH_POWERPC is not set
# PTXCONF_ARCH_I386 is not set
# PTXCONF_ARCH_X86_64 is not set
# PTXCONF_ARCH_AVR is not set
# PTXCONF_ARCH_AVR32 is not set
# PTXCONF_ARCH_RISCV64 is not set
+# PTXCONF_ARCH_LOONGARCH is not set
PTXCONF_ARCH="arm"
PTXCONF_GNU_TARGET="arm-v4t-linux-gnueabi"
PTXCONF_SIZEOF_LONG_DOUBLE="8"
@@ -40,31 +43,32 @@ PTXCONF_GLIBC_HEADERS=y
PTXCONF_GLIBC_CRT=y
PTXCONF_GLIBC_FIRST=y
PTXCONF_GLIBC=y
-PTXCONF_GLIBC_VERSION="2.32"
-PTXCONF_GLIBC_DL_VERSION="2.32"
-PTXCONF_GLIBC_MD5="9ccf64ce8976baa21d85dc550ee9f145"
+PTXCONF_GLIBC_VERSION="2.37"
+PTXCONF_GLIBC_DL_VERSION="2.37-22-g3593050c27dc"
+PTXCONF_GLIBC_MD5="f0f89e0ad0929acece926fcfc2a1798f"
PTXCONF_GLIBC_LICENSE="GPL-2.0-or-later AND LGPL-2.1-or-later"
PTXCONF_GLIBC_LICENSE_FILES="file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c file://LICENSES;md5=1541fd8f5e8f1579512bf05f533371ba"
PTXCONF_GLIBC_TIMESTAMP=""
PTXCONF_GLIBC_SERIES=""
-PTXCONF_GLIBC_ENABLE_KERNEL="3.16"
+PTXCONF_GLIBC_ENABLE_KERNEL="4.19"
PTXCONF_GLIBC_CONFIG_EXTRA=""
-PTXCONF_GLIBC_CONFIG_EXTRA_CROSS="--enable-stackguard-randomization --enable-stack-protector=strong"
+PTXCONF_GLIBC_CONFIG_EXTRA_CROSS="--enable-stack-protector=strong"
PTXCONF_GLIBC_HEADERS_FAKE_CROSS="-D__ARM_EABI__"
PTXCONF_CROSS_BINUTILS=y
-PTXCONF_CROSS_BINUTILS_VERSION="2.35"
-PTXCONF_CROSS_BINUTILS_MD5="f5ee1b8aab816dce3badf8513be6dd75"
+PTXCONF_CROSS_BINUTILS_VERSION="2.40"
+PTXCONF_CROSS_BINUTILS_MD5="fe10027c8de77b643ae72bd6de3f7996"
PTXCONF_CROSS_BINUTILS_LICENSE="GPL-2.0-or-later AND LGPL-2.0-or-later GPL-3.0-or-later AND LGPL-3.0-or-later"
PTXCONF_CROSS_BINUTILS_LICENSE_FILES="file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674 file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6"
+PTXCONF_CROSS_BINUTILS_GOLD=y
# PTXCONF_CROSS_ELF2FLT is not set
PTXCONF_KERNEL_HEADERS=y
-PTXCONF_KERNEL_HEADERS_VERSION="5.8"
-PTXCONF_KERNEL_HEADERS_MD5="0e5c4c15266218ef26c50fac0016095b"
+PTXCONF_KERNEL_HEADERS_VERSION="6.3.6"
+PTXCONF_KERNEL_HEADERS_MD5="b30b7e0367fee0505eecbef74d852256"
PTXCONF_KERNEL_HEADERS_SANITIZED=y
PTXCONF_CROSS_GCC=y
-PTXCONF_CROSS_GCC_VERSION="10.2.1"
-PTXCONF_CROSS_GCC_MD5="b86843def44634eb3c55a4339c347471"
-PTXCONF_CROSS_GCC_DL_VERSION="10-20200822"
+PTXCONF_CROSS_GCC_VERSION="13.1.1"
+PTXCONF_CROSS_GCC_MD5="dac67a127451736b3c3c4ded8cdac304"
+PTXCONF_CROSS_GCC_DL_VERSION="13-20230624"
PTXCONF_CROSS_GCC_PKGVERSION="${PTXCONF_PROJECT} ${PTXCONF_CROSS_GCC_DL_VERSION}"
PTXCONF_CROSS_GCC_SERIES=""
PTXCONF_CROSS_GCC_CONFIG_EXTRA="--with-float=soft --with-fpu=vfp --with-arch=armv4t --enable-linker-build-id"
@@ -78,7 +82,7 @@ PTXCONF_CROSS_GCC_GCCLIBS_LICENSES="COPYING3 COPYING.RUNTIME"
#
PTXCONF_CROSS_GCC_LANG_C=y
PTXCONF_CROSS_GCC_LANG_CXX=y
-# PTXCONF_CROSS_GCC_LANG_FORTRAN is not set
+PTXCONF_CROSS_GCC_LANG_FORTRAN=y
# PTXCONF_CROSS_GCC_LANG_JAVA is not set
PTXCONF_CROSS_GCC_LANG_OBJC=y
PTXCONF_CROSS_GCC_LANG_OBJCXX=y
@@ -95,13 +99,16 @@ PTXCONF_CROSS_GCC_THREADS="posix"
PTXCONF_CROSS_GCC_FIRST=y
# PTXCONF_CROSS_LLVM is not set
# PTXCONF_CROSS_CLANG is not set
+# PTXCONF_CROSS_RUSTC is not set
PTXCONF_CROSS_GDB=y
-PTXCONF_CROSS_GDB_VERSION="9.2"
-PTXCONF_CROSS_GDB_MD5="db95524e554870209ab7d9f8fd8dc557"
+PTXCONF_CROSS_GDB_VERSION="13.2"
+PTXCONF_CROSS_GDB_MD5="fbd3cdae16c581e8a742cb766ba35076"
PTXCONF_CROSS_GDB_LICENSE="GPL-2.0-or-later AND LGPL-2.0-or-later GPL-3.0-or-later AND LGPL-3.0-or-later"
PTXCONF_CROSS_GDB_LICENSE_FILES="file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674 file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6"
PTXCONF_CROSS_TOOLCHAIN=y
PTXCONF_HOST_FAKE_MAKEINFO=y
+PTXCONF_HOST_ACL=y
+PTXCONF_HOST_LIBCAP=y
PTXCONF_HOST_M4=y
PTXCONF_HOST_SYSTEM_EXPAT=y
PTXCONF_HOST_SYSTEM_GMP=y
@@ -116,6 +123,7 @@ PTXCONF_HOST_AUTOTOOLS_AUTOCONF=y
PTXCONF_HOST_AUTOTOOLS_AUTOMAKE=y
PTXCONF_HOST_AUTOTOOLS_LIBTOOL=y
PTXCONF_HOST_CHRPATH=y
+PTXCONF_HOST_FAKEROOT=y
#
# ----------------------------------
@@ -139,5 +147,7 @@ PTXCONF_SYSROOT_TARGET="${PTXCONF_SYSROOT_CROSS}${PTXCONF_PREFIX_TARGET}"
PTXCONF_PLATFORM="${PTXCONF_GNU_TARGET}-${PTXCONF_PREFIX_TCID}"
PTXCONF_COMPILER_PREFIX="${PTXCONF_GNU_TARGET}-"
# PTXCONF_TOOLCHAIN_DEBUG is not set
+# end of misc
+
PTXCONF_IMAGE_TOOLCHAIN_TGZ=y
-PTXCONF_CONFIGFILE_VERSION="2020.08.0"
+PTXCONF_CONFIGFILE_VERSION="2023.07.0"
diff --git a/ptxconfigs/arm-v5te-linux-gnueabi_gcc-10.2.1_glibc-2.32_binutils-2.35_kernel-5.8-sanitized.ptxconfig b/ptxconfigs/arm-v5te-linux-gnueabi_gcc-13.1.1_glibc-2.37_binutils-2.40_kernel-6.3.6-sanitized.ptxconfig
index 1f7a9e3..db49a05 100644
--- a/ptxconfigs/arm-v5te-linux-gnueabi_gcc-10.2.1_glibc-2.32_binutils-2.35_kernel-5.8-sanitized.ptxconfig
+++ b/ptxconfigs/arm-v5te-linux-gnueabi_gcc-13.1.1_glibc-2.37_binutils-2.40_kernel-6.3.6-sanitized.ptxconfig
@@ -1,13 +1,14 @@
#
# Automatically generated file; DO NOT EDIT.
-# PTXdist 2020.08.0
+# PTXdist 2023.07.0
#
PTXCONF__ptxconfig_MAGIC__=y
PTXCONF_BUILD_TOOLCHAIN=y
PTXCONF_NO_PLATFORM=y
PTXCONF_VIRTUAL=y
-PTXCONF_PROJECT="OSELAS.Toolchain-2020.XX.0"
+PTXCONF_PROJECT="OSELAS.Toolchain-2023.07.0"
PTXCONF_PROJECT_CHECK_LICENSES=y
+PTXCONF_BASE=y
#
# ----------------------------------
@@ -16,12 +17,14 @@ PTXCONF_ARCH_ARM=y
# PTXCONF_ARCH_ARM64 is not set
# PTXCONF_ARCH_M68K is not set
# PTXCONF_ARCH_MIPS is not set
+# PTXCONF_ARCH_MIPS64 is not set
# PTXCONF_ARCH_POWERPC is not set
# PTXCONF_ARCH_I386 is not set
# PTXCONF_ARCH_X86_64 is not set
# PTXCONF_ARCH_AVR is not set
# PTXCONF_ARCH_AVR32 is not set
# PTXCONF_ARCH_RISCV64 is not set
+# PTXCONF_ARCH_LOONGARCH is not set
PTXCONF_ARCH="arm"
PTXCONF_GNU_TARGET="arm-v5te-linux-gnueabi"
PTXCONF_SIZEOF_LONG_DOUBLE="8"
@@ -40,31 +43,32 @@ PTXCONF_GLIBC_HEADERS=y
PTXCONF_GLIBC_CRT=y
PTXCONF_GLIBC_FIRST=y
PTXCONF_GLIBC=y
-PTXCONF_GLIBC_VERSION="2.32"
-PTXCONF_GLIBC_DL_VERSION="2.32"
-PTXCONF_GLIBC_MD5="9ccf64ce8976baa21d85dc550ee9f145"
+PTXCONF_GLIBC_VERSION="2.37"
+PTXCONF_GLIBC_DL_VERSION="2.37-22-g3593050c27dc"
+PTXCONF_GLIBC_MD5="f0f89e0ad0929acece926fcfc2a1798f"
PTXCONF_GLIBC_LICENSE="GPL-2.0-or-later AND LGPL-2.1-or-later"
PTXCONF_GLIBC_LICENSE_FILES="file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c file://LICENSES;md5=1541fd8f5e8f1579512bf05f533371ba"
PTXCONF_GLIBC_TIMESTAMP=""
PTXCONF_GLIBC_SERIES=""
-PTXCONF_GLIBC_ENABLE_KERNEL="3.16"
+PTXCONF_GLIBC_ENABLE_KERNEL="4.19"
PTXCONF_GLIBC_CONFIG_EXTRA=""
-PTXCONF_GLIBC_CONFIG_EXTRA_CROSS="--enable-stackguard-randomization --enable-stack-protector=strong"
+PTXCONF_GLIBC_CONFIG_EXTRA_CROSS="--enable-stack-protector=strong"
PTXCONF_GLIBC_HEADERS_FAKE_CROSS="-D__ARM_EABI__ -D__ARM_ARCH=5"
PTXCONF_CROSS_BINUTILS=y
-PTXCONF_CROSS_BINUTILS_VERSION="2.35"
-PTXCONF_CROSS_BINUTILS_MD5="f5ee1b8aab816dce3badf8513be6dd75"
+PTXCONF_CROSS_BINUTILS_VERSION="2.40"
+PTXCONF_CROSS_BINUTILS_MD5="fe10027c8de77b643ae72bd6de3f7996"
PTXCONF_CROSS_BINUTILS_LICENSE="GPL-2.0-or-later AND LGPL-2.0-or-later GPL-3.0-or-later AND LGPL-3.0-or-later"
PTXCONF_CROSS_BINUTILS_LICENSE_FILES="file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674 file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6"
+PTXCONF_CROSS_BINUTILS_GOLD=y
# PTXCONF_CROSS_ELF2FLT is not set
PTXCONF_KERNEL_HEADERS=y
-PTXCONF_KERNEL_HEADERS_VERSION="5.8"
-PTXCONF_KERNEL_HEADERS_MD5="0e5c4c15266218ef26c50fac0016095b"
+PTXCONF_KERNEL_HEADERS_VERSION="6.3.6"
+PTXCONF_KERNEL_HEADERS_MD5="b30b7e0367fee0505eecbef74d852256"
PTXCONF_KERNEL_HEADERS_SANITIZED=y
PTXCONF_CROSS_GCC=y
-PTXCONF_CROSS_GCC_VERSION="10.2.1"
-PTXCONF_CROSS_GCC_MD5="b86843def44634eb3c55a4339c347471"
-PTXCONF_CROSS_GCC_DL_VERSION="10-20200822"
+PTXCONF_CROSS_GCC_VERSION="13.1.1"
+PTXCONF_CROSS_GCC_MD5="dac67a127451736b3c3c4ded8cdac304"
+PTXCONF_CROSS_GCC_DL_VERSION="13-20230624"
PTXCONF_CROSS_GCC_PKGVERSION="${PTXCONF_PROJECT} ${PTXCONF_CROSS_GCC_DL_VERSION}"
PTXCONF_CROSS_GCC_SERIES=""
PTXCONF_CROSS_GCC_CONFIG_EXTRA="--with-float=soft --with-fpu=vfp --with-cpu=arm926ej-s --enable-linker-build-id"
@@ -78,7 +82,7 @@ PTXCONF_CROSS_GCC_GCCLIBS_LICENSES="COPYING3 COPYING.RUNTIME"
#
PTXCONF_CROSS_GCC_LANG_C=y
PTXCONF_CROSS_GCC_LANG_CXX=y
-# PTXCONF_CROSS_GCC_LANG_FORTRAN is not set
+PTXCONF_CROSS_GCC_LANG_FORTRAN=y
# PTXCONF_CROSS_GCC_LANG_JAVA is not set
PTXCONF_CROSS_GCC_LANG_OBJC=y
PTXCONF_CROSS_GCC_LANG_OBJCXX=y
@@ -95,13 +99,16 @@ PTXCONF_CROSS_GCC_THREADS="posix"
PTXCONF_CROSS_GCC_FIRST=y
# PTXCONF_CROSS_LLVM is not set
# PTXCONF_CROSS_CLANG is not set
+# PTXCONF_CROSS_RUSTC is not set
PTXCONF_CROSS_GDB=y
-PTXCONF_CROSS_GDB_VERSION="9.2"
-PTXCONF_CROSS_GDB_MD5="db95524e554870209ab7d9f8fd8dc557"
+PTXCONF_CROSS_GDB_VERSION="13.2"
+PTXCONF_CROSS_GDB_MD5="fbd3cdae16c581e8a742cb766ba35076"
PTXCONF_CROSS_GDB_LICENSE="GPL-2.0-or-later AND LGPL-2.0-or-later GPL-3.0-or-later AND LGPL-3.0-or-later"
PTXCONF_CROSS_GDB_LICENSE_FILES="file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674 file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6"
PTXCONF_CROSS_TOOLCHAIN=y
PTXCONF_HOST_FAKE_MAKEINFO=y
+PTXCONF_HOST_ACL=y
+PTXCONF_HOST_LIBCAP=y
PTXCONF_HOST_M4=y
PTXCONF_HOST_SYSTEM_EXPAT=y
PTXCONF_HOST_SYSTEM_GMP=y
@@ -116,6 +123,7 @@ PTXCONF_HOST_AUTOTOOLS_AUTOCONF=y
PTXCONF_HOST_AUTOTOOLS_AUTOMAKE=y
PTXCONF_HOST_AUTOTOOLS_LIBTOOL=y
PTXCONF_HOST_CHRPATH=y
+PTXCONF_HOST_FAKEROOT=y
#
# ----------------------------------
@@ -139,5 +147,7 @@ PTXCONF_SYSROOT_TARGET="${PTXCONF_SYSROOT_CROSS}${PTXCONF_PREFIX_TARGET}"
PTXCONF_PLATFORM="${PTXCONF_GNU_TARGET}-${PTXCONF_PREFIX_TCID}"
PTXCONF_COMPILER_PREFIX="${PTXCONF_GNU_TARGET}-"
# PTXCONF_TOOLCHAIN_DEBUG is not set
+# end of misc
+
PTXCONF_IMAGE_TOOLCHAIN_TGZ=y
-PTXCONF_CONFIGFILE_VERSION="2020.08.0"
+PTXCONF_CONFIGFILE_VERSION="2023.07.0"
diff --git a/ptxconfigs/arm-v7a-linux-gnueabi_gcc-10.2.1_glibc-2.32_binutils-2.35_kernel-5.8-sanitized.ptxconfig b/ptxconfigs/arm-v7a-linux-gnueabi_gcc-10.2.1_glibc-2.32_binutils-2.35_kernel-5.8-sanitized.ptxconfig
deleted file mode 100644
index 1e7d3f4..0000000
--- a/ptxconfigs/arm-v7a-linux-gnueabi_gcc-10.2.1_glibc-2.32_binutils-2.35_kernel-5.8-sanitized.ptxconfig
+++ /dev/null
@@ -1,143 +0,0 @@
-#
-# Automatically generated file; DO NOT EDIT.
-# PTXdist 2020.08.0
-#
-PTXCONF__ptxconfig_MAGIC__=y
-PTXCONF_BUILD_TOOLCHAIN=y
-PTXCONF_NO_PLATFORM=y
-PTXCONF_VIRTUAL=y
-PTXCONF_PROJECT="OSELAS.Toolchain-2020.XX.0"
-PTXCONF_PROJECT_CHECK_LICENSES=y
-
-#
-# ----------------------------------
-#
-PTXCONF_ARCH_ARM=y
-# PTXCONF_ARCH_ARM64 is not set
-# PTXCONF_ARCH_M68K is not set
-# PTXCONF_ARCH_MIPS is not set
-# PTXCONF_ARCH_POWERPC is not set
-# PTXCONF_ARCH_I386 is not set
-# PTXCONF_ARCH_X86_64 is not set
-# PTXCONF_ARCH_AVR is not set
-# PTXCONF_ARCH_AVR32 is not set
-# PTXCONF_ARCH_RISCV64 is not set
-PTXCONF_ARCH="arm"
-PTXCONF_GNU_TARGET="arm-v7a-linux-gnueabi"
-PTXCONF_SIZEOF_LONG_DOUBLE="8"
-
-#
-# ----------------------------------
-#
-PTXCONF_LIBC_HEADERS=y
-PTXCONF_LIBC_FIRST=y
-PTXCONF_LIBC=y
-PTXCONF_LIBC_GLIBC=y
-# PTXCONF_LIBC_UCLIBC is not set
-# PTXCONF_LIBC_NEWLIB is not set
-# PTXCONF_LIBC_AVR is not set
-PTXCONF_GLIBC_HEADERS=y
-PTXCONF_GLIBC_CRT=y
-PTXCONF_GLIBC_FIRST=y
-PTXCONF_GLIBC=y
-PTXCONF_GLIBC_VERSION="2.32"
-PTXCONF_GLIBC_DL_VERSION="2.32"
-PTXCONF_GLIBC_MD5="9ccf64ce8976baa21d85dc550ee9f145"
-PTXCONF_GLIBC_LICENSE="GPL-2.0-or-later AND LGPL-2.1-or-later"
-PTXCONF_GLIBC_LICENSE_FILES="file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c file://LICENSES;md5=1541fd8f5e8f1579512bf05f533371ba"
-PTXCONF_GLIBC_TIMESTAMP=""
-PTXCONF_GLIBC_SERIES=""
-PTXCONF_GLIBC_ENABLE_KERNEL="3.16"
-PTXCONF_GLIBC_CONFIG_EXTRA=""
-PTXCONF_GLIBC_CONFIG_EXTRA_CROSS="--enable-stackguard-randomization --enable-stack-protector=strong"
-PTXCONF_GLIBC_HEADERS_FAKE_CROSS="-D__ARM_EABI__ -D__ARM_ARCH=7"
-PTXCONF_CROSS_BINUTILS=y
-PTXCONF_CROSS_BINUTILS_VERSION="2.35"
-PTXCONF_CROSS_BINUTILS_MD5="f5ee1b8aab816dce3badf8513be6dd75"
-PTXCONF_CROSS_BINUTILS_LICENSE="GPL-2.0-or-later AND LGPL-2.0-or-later GPL-3.0-or-later AND LGPL-3.0-or-later"
-PTXCONF_CROSS_BINUTILS_LICENSE_FILES="file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674 file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6"
-# PTXCONF_CROSS_ELF2FLT is not set
-PTXCONF_KERNEL_HEADERS=y
-PTXCONF_KERNEL_HEADERS_VERSION="5.8"
-PTXCONF_KERNEL_HEADERS_MD5="0e5c4c15266218ef26c50fac0016095b"
-PTXCONF_KERNEL_HEADERS_SANITIZED=y
-PTXCONF_CROSS_GCC=y
-PTXCONF_CROSS_GCC_VERSION="10.2.1"
-PTXCONF_CROSS_GCC_MD5="b86843def44634eb3c55a4339c347471"
-PTXCONF_CROSS_GCC_DL_VERSION="10-20200822"
-PTXCONF_CROSS_GCC_PKGVERSION="${PTXCONF_PROJECT} ${PTXCONF_CROSS_GCC_DL_VERSION}"
-PTXCONF_CROSS_GCC_SERIES=""
-PTXCONF_CROSS_GCC_CONFIG_EXTRA="--with-float=softfp --with-fpu=vfpv3-d16 --with-arch=armv7-a --with-mode=thumb --with-tune=cortex-a9 --enable-linker-build-id"
-PTXCONF_CROSS_GCC_LICENSE="GPL-2.0-or-later WITH Classpath-exception-2.0 AND LGPL-2.1-or-later AND GPL-3.0-or-later AND GPL-3.0-or-later WITH GCC-exception-3.1 AND LGPL-3.0-or-later"
-PTXCONF_CROSS_GCC_LICENSE_FILES="file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1 file://COPYING.RUNTIME;md5=fe60d87048567d4fe8c8a0ed2448bcc8 file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6"
-PTXCONF_CROSS_GCC_GCCLIBS_LICENSE="GPL-3.0-only WITH GCC-exception-3.1"
-PTXCONF_CROSS_GCC_GCCLIBS_LICENSES="COPYING3 COPYING.RUNTIME"
-
-#
-# Additional supported languages:
-#
-PTXCONF_CROSS_GCC_LANG_C=y
-PTXCONF_CROSS_GCC_LANG_CXX=y
-# PTXCONF_CROSS_GCC_LANG_FORTRAN is not set
-# PTXCONF_CROSS_GCC_LANG_JAVA is not set
-PTXCONF_CROSS_GCC_LANG_OBJC=y
-PTXCONF_CROSS_GCC_LANG_OBJCXX=y
-PTXCONF_CROSS_GCC_ENABLE_CXA_ATEXIT=y
-PTXCONF_CROSS_GCC_CONFIG_CXA_ATEXIT="--enable-__cxa_atexit"
-PTXCONF_CROSS_GCC_DISABLE_SJLJ_EXCEPTIONS=y
-PTXCONF_CROSS_GCC_CONFIG_SJLJ_EXCEPTIONS="--disable-sjlj-exceptions"
-PTXCONF_CROSS_GCC_DISABLE_LIBSSP=y
-PTXCONF_CROSS_GCC_CONFIG_LIBSSP="--disable-libssp"
-PTXCONF_CROSS_GCC_ENABLE_SHARED=y
-PTXCONF_CROSS_GCC_CONFIG_SHARED="--enable-shared"
-PTXCONF_CROSS_GCC_THREADS_POSIX=y
-PTXCONF_CROSS_GCC_THREADS="posix"
-PTXCONF_CROSS_GCC_FIRST=y
-# PTXCONF_CROSS_LLVM is not set
-# PTXCONF_CROSS_CLANG is not set
-PTXCONF_CROSS_GDB=y
-PTXCONF_CROSS_GDB_VERSION="9.2"
-PTXCONF_CROSS_GDB_MD5="db95524e554870209ab7d9f8fd8dc557"
-PTXCONF_CROSS_GDB_LICENSE="GPL-2.0-or-later AND LGPL-2.0-or-later GPL-3.0-or-later AND LGPL-3.0-or-later"
-PTXCONF_CROSS_GDB_LICENSE_FILES="file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674 file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6"
-PTXCONF_CROSS_TOOLCHAIN=y
-PTXCONF_HOST_FAKE_MAKEINFO=y
-PTXCONF_HOST_M4=y
-PTXCONF_HOST_SYSTEM_EXPAT=y
-PTXCONF_HOST_SYSTEM_GMP=y
-PTXCONF_HOST_SYSTEM_ISL=y
-PTXCONF_HOST_SYSTEM_MPC=y
-PTXCONF_HOST_SYSTEM_MPFR=y
-PTXCONF_HOST_SYSTEM_PERL=y
-PTXCONF_HOST_SYSTEM_PYTHON3=y
-PTXCONF_HOST_SYSTEM_XZ=y
-PTXCONF_HOST_SYSTEM_ZLIB=y
-PTXCONF_HOST_AUTOTOOLS_AUTOCONF=y
-PTXCONF_HOST_AUTOTOOLS_AUTOMAKE=y
-PTXCONF_HOST_AUTOTOOLS_LIBTOOL=y
-PTXCONF_HOST_CHRPATH=y
-
-#
-# ----------------------------------
-#
-PTXCONF_TOOLCHAIN_ENABLE_SYSROOT=y
-PTXCONF_TOOLCHAIN_CONFIG_SYSROOT="--with-build-sysroot=${SYSROOT} --with-sysroot=${PTXCONF_PREFIX_TARGET}"
-PTXCONF_TOOLCHAIN_DISABLE_MULTILIB=y
-PTXCONF_TOOLCHAIN_CONFIG_MULTILIB="--disable-multilib"
-
-#
-# misc
-#
-PTXCONF_PREFIX="/opt"
-PTXCONF_PREFIX_KERNEL="-sanitized"
-PTXCONF_PREFIX_TCID="gcc-${PTXCONF_CROSS_GCC_VERSION}${PTXCONF_PREFIX_JAVA}-glibc-${PTXCONF_GLIBC_VERSION}-binutils-${PTXCONF_CROSS_BINUTILS_VERSION}-kernel-${PTXCONF_KERNEL_HEADERS_VERSION}${PTXCONF_PREFIX_KERNEL}"
-PTXCONF_SYSROOT_HOST="${PTXDIST_PLATFORMDIR}/sysroot-host"
-PTXCONF_PREFIX_CROSS="${PTXCONF_PREFIX}/${PTXCONF_PROJECT}/${PTXCONF_GNU_TARGET}/${PTXCONF_PREFIX_TCID}"
-PTXCONF_SYSROOT_CROSS="${PTXDIST_PLATFORMDIR}/sysroot-cross"
-PTXCONF_PREFIX_TARGET="${PTXCONF_PREFIX_CROSS}/sysroot-${PTXCONF_GNU_TARGET}"
-PTXCONF_SYSROOT_TARGET="${PTXCONF_SYSROOT_CROSS}${PTXCONF_PREFIX_TARGET}"
-PTXCONF_PLATFORM="${PTXCONF_GNU_TARGET}-${PTXCONF_PREFIX_TCID}"
-PTXCONF_COMPILER_PREFIX="${PTXCONF_GNU_TARGET}-"
-# PTXCONF_TOOLCHAIN_DEBUG is not set
-PTXCONF_IMAGE_TOOLCHAIN_TGZ=y
-PTXCONF_CONFIGFILE_VERSION="2020.08.0"
diff --git a/ptxconfigs/arm-v7a-linux-gnueabi_gcc-10.2.1_clang-10.0.1_glibc-2.32_binutils-2.35_kernel-5.8-sanitized.ptxconfig b/ptxconfigs/arm-v7a-linux-gnueabi_gcc-13.1.1_clang-16.0.6_glibc-2.37_binutils-2.40_kernel-6.3.6-sanitized.ptxconfig
index f05a72f..faca4aa 100644
--- a/ptxconfigs/arm-v7a-linux-gnueabi_gcc-10.2.1_clang-10.0.1_glibc-2.32_binutils-2.35_kernel-5.8-sanitized.ptxconfig
+++ b/ptxconfigs/arm-v7a-linux-gnueabi_gcc-13.1.1_clang-16.0.6_glibc-2.37_binutils-2.40_kernel-6.3.6-sanitized.ptxconfig
@@ -1,13 +1,14 @@
#
# Automatically generated file; DO NOT EDIT.
-# PTXdist 2020.08.0
+# PTXdist 2023.07.0
#
PTXCONF__ptxconfig_MAGIC__=y
PTXCONF_BUILD_TOOLCHAIN=y
PTXCONF_NO_PLATFORM=y
PTXCONF_VIRTUAL=y
-PTXCONF_PROJECT="OSELAS.Toolchain-2020.XX.0"
+PTXCONF_PROJECT="OSELAS.Toolchain-2023.07.0"
PTXCONF_PROJECT_CHECK_LICENSES=y
+PTXCONF_BASE=y
#
# ----------------------------------
@@ -16,12 +17,14 @@ PTXCONF_ARCH_ARM=y
# PTXCONF_ARCH_ARM64 is not set
# PTXCONF_ARCH_M68K is not set
# PTXCONF_ARCH_MIPS is not set
+# PTXCONF_ARCH_MIPS64 is not set
# PTXCONF_ARCH_POWERPC is not set
# PTXCONF_ARCH_I386 is not set
# PTXCONF_ARCH_X86_64 is not set
# PTXCONF_ARCH_AVR is not set
# PTXCONF_ARCH_AVR32 is not set
# PTXCONF_ARCH_RISCV64 is not set
+# PTXCONF_ARCH_LOONGARCH is not set
PTXCONF_ARCH="arm"
PTXCONF_GNU_TARGET="arm-v7a-linux-gnueabi"
PTXCONF_SIZEOF_LONG_DOUBLE="8"
@@ -40,31 +43,32 @@ PTXCONF_GLIBC_HEADERS=y
PTXCONF_GLIBC_CRT=y
PTXCONF_GLIBC_FIRST=y
PTXCONF_GLIBC=y
-PTXCONF_GLIBC_VERSION="2.32"
-PTXCONF_GLIBC_DL_VERSION="2.32"
-PTXCONF_GLIBC_MD5="9ccf64ce8976baa21d85dc550ee9f145"
+PTXCONF_GLIBC_VERSION="2.37"
+PTXCONF_GLIBC_DL_VERSION="2.37-22-g3593050c27dc"
+PTXCONF_GLIBC_MD5="f0f89e0ad0929acece926fcfc2a1798f"
PTXCONF_GLIBC_LICENSE="GPL-2.0-or-later AND LGPL-2.1-or-later"
PTXCONF_GLIBC_LICENSE_FILES="file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c file://LICENSES;md5=1541fd8f5e8f1579512bf05f533371ba"
PTXCONF_GLIBC_TIMESTAMP=""
PTXCONF_GLIBC_SERIES=""
-PTXCONF_GLIBC_ENABLE_KERNEL="3.16"
+PTXCONF_GLIBC_ENABLE_KERNEL="4.19"
PTXCONF_GLIBC_CONFIG_EXTRA=""
-PTXCONF_GLIBC_CONFIG_EXTRA_CROSS="--enable-stackguard-randomization --enable-stack-protector=strong"
+PTXCONF_GLIBC_CONFIG_EXTRA_CROSS="--enable-stack-protector=strong"
PTXCONF_GLIBC_HEADERS_FAKE_CROSS="-D__ARM_EABI__ -D__ARM_ARCH=7"
PTXCONF_CROSS_BINUTILS=y
-PTXCONF_CROSS_BINUTILS_VERSION="2.35"
-PTXCONF_CROSS_BINUTILS_MD5="f5ee1b8aab816dce3badf8513be6dd75"
+PTXCONF_CROSS_BINUTILS_VERSION="2.40"
+PTXCONF_CROSS_BINUTILS_MD5="fe10027c8de77b643ae72bd6de3f7996"
PTXCONF_CROSS_BINUTILS_LICENSE="GPL-2.0-or-later AND LGPL-2.0-or-later GPL-3.0-or-later AND LGPL-3.0-or-later"
PTXCONF_CROSS_BINUTILS_LICENSE_FILES="file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674 file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6"
+PTXCONF_CROSS_BINUTILS_GOLD=y
# PTXCONF_CROSS_ELF2FLT is not set
PTXCONF_KERNEL_HEADERS=y
-PTXCONF_KERNEL_HEADERS_VERSION="5.8"
-PTXCONF_KERNEL_HEADERS_MD5="0e5c4c15266218ef26c50fac0016095b"
+PTXCONF_KERNEL_HEADERS_VERSION="6.3.6"
+PTXCONF_KERNEL_HEADERS_MD5="b30b7e0367fee0505eecbef74d852256"
PTXCONF_KERNEL_HEADERS_SANITIZED=y
PTXCONF_CROSS_GCC=y
-PTXCONF_CROSS_GCC_VERSION="10.2.1"
-PTXCONF_CROSS_GCC_MD5="b86843def44634eb3c55a4339c347471"
-PTXCONF_CROSS_GCC_DL_VERSION="10-20200822"
+PTXCONF_CROSS_GCC_VERSION="13.1.1"
+PTXCONF_CROSS_GCC_MD5="dac67a127451736b3c3c4ded8cdac304"
+PTXCONF_CROSS_GCC_DL_VERSION="13-20230624"
PTXCONF_CROSS_GCC_PKGVERSION="${PTXCONF_PROJECT} ${PTXCONF_CROSS_GCC_DL_VERSION}"
PTXCONF_CROSS_GCC_SERIES=""
PTXCONF_CROSS_GCC_CONFIG_EXTRA="--with-float=softfp --with-fpu=vfpv3-d16 --with-arch=armv7-a --with-mode=thumb --with-tune=cortex-a9 --enable-linker-build-id"
@@ -78,7 +82,7 @@ PTXCONF_CROSS_GCC_GCCLIBS_LICENSES="COPYING3 COPYING.RUNTIME"
#
PTXCONF_CROSS_GCC_LANG_C=y
PTXCONF_CROSS_GCC_LANG_CXX=y
-# PTXCONF_CROSS_GCC_LANG_FORTRAN is not set
+PTXCONF_CROSS_GCC_LANG_FORTRAN=y
# PTXCONF_CROSS_GCC_LANG_JAVA is not set
PTXCONF_CROSS_GCC_LANG_OBJC=y
PTXCONF_CROSS_GCC_LANG_OBJCXX=y
@@ -94,28 +98,40 @@ PTXCONF_CROSS_GCC_THREADS_POSIX=y
PTXCONF_CROSS_GCC_THREADS="posix"
PTXCONF_CROSS_GCC_FIRST=y
PTXCONF_CROSS_LLVM=y
-PTXCONF_CROSS_LLVM_VERSION="10.0.1"
-PTXCONF_CROSS_LLVM_MD5="71c68c526cbbf1674b5aafc5542b336c"
+PTXCONF_CROSS_LLVM_VERSION="16.0.6"
+PTXCONF_CROSS_LLVM_MD5="7d986cda69719a35bd5ecb266fcf1f65"
+PTXCONF_CROSS_LLVM_CMAKE_MODULES_MD5="b7830bb90e376c90a43c2c190a0a5ffa"
PTXCONF_CROSS_LLVM_LICENSE="Apache-2.0 WITH LLVM-exception AND NCSA"
PTXCONF_CROSS_LLVM_LICENSE_FILES="file://LICENSE.TXT;md5=8a15a0759ef07f2682d2ba4b893c9afe"
PTXCONF_CROSS_CLANG=y
PTXCONF_CROSS_CLANG_VERSION="${PTXCONF_CROSS_LLVM_VERSION}"
-PTXCONF_CROSS_CLANG_MD5="6c8b56f531876fd24e06257a2d8ce422"
+PTXCONF_CROSS_CLANG_MD5="70053a666251fdcabc466ea4a0275972"
PTXCONF_CROSS_CLANG_LICENSE="Apache-2.0 WITH LLVM-exception AND NCSA"
PTXCONF_CROSS_CLANG_LICENSE_FILES="file://LICENSE.TXT;md5=ff42885ed2ab98f1ecb8c1fc41205343"
PTXCONF_CROSS_LLD=y
PTXCONF_CROSS_LLD_VERSION="${PTXCONF_CROSS_LLVM_VERSION}"
-PTXCONF_CROSS_LLD_MD5="c8f364fbb129e47ef2793c317561449a"
+PTXCONF_CROSS_LLD_MD5="9c9530a0853624a869917853a2da2bd1"
PTXCONF_CROSS_LLD_LICENSE="Apache-2.0 WITH LLVM-exception AND NCSA"
PTXCONF_CROSS_LLD_LICENSE_FILES="file://LICENSE.TXT;md5=ae7dc7c027b1fa89b5b013d391d3ee2b"
+PTXCONF_CROSS_RUSTC=y
+PTXCONF_CROSS_RUSTC_VERSION="1.70.0"
+PTXCONF_CROSS_RUSTC_MD5="165792a4266021589b2d6061f208755f"
+PTXCONF_CROSS_RUSTC_TARGET="${PTXCONF_GNU_TARGET}"
+PTXCONF_CROSS_RUSTC_BUILD_VERSION="1.69.0"
+PTXCONF_CROSS_RUSTC_BUILD_DATE="2023-04-20"
+PTXCONF_CROSS_RUSTC_BUILD_STD_MD5="d9649027934eeb364f3b9ac4f2c1d1ff"
+PTXCONF_CROSS_RUSTC_BUILD_RUSTC_MD5="115ced745660c1659c54e69c44f4dd47"
+PTXCONF_CROSS_RUSTC_BUILD_CARGO_MD5="b208debb640360059b98948b0aa939fb"
PTXCONF_CROSS_GDB=y
-PTXCONF_CROSS_GDB_VERSION="9.2"
-PTXCONF_CROSS_GDB_MD5="db95524e554870209ab7d9f8fd8dc557"
+PTXCONF_CROSS_GDB_VERSION="13.2"
+PTXCONF_CROSS_GDB_MD5="fbd3cdae16c581e8a742cb766ba35076"
PTXCONF_CROSS_GDB_LICENSE="GPL-2.0-or-later AND LGPL-2.0-or-later GPL-3.0-or-later AND LGPL-3.0-or-later"
PTXCONF_CROSS_GDB_LICENSE_FILES="file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674 file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6"
PTXCONF_CROSS_TOOLCHAIN=y
PTXCONF_HOST_FAKE_MAKEINFO=y
+PTXCONF_HOST_ACL=y
PTXCONF_HOST_CMAKE=y
+PTXCONF_HOST_LIBCAP=y
PTXCONF_HOST_M4=y
PTXCONF_HOST_NINJA=y
PTXCONF_HOST_SYSTEM_EXPAT=y
@@ -123,6 +139,7 @@ PTXCONF_HOST_SYSTEM_GMP=y
PTXCONF_HOST_SYSTEM_ISL=y
PTXCONF_HOST_SYSTEM_MPC=y
PTXCONF_HOST_SYSTEM_MPFR=y
+PTXCONF_HOST_SYSTEM_OPENSSL=y
PTXCONF_HOST_SYSTEM_PERL=y
PTXCONF_HOST_SYSTEM_PYTHON3=y
PTXCONF_HOST_SYSTEM_XZ=y
@@ -131,6 +148,7 @@ PTXCONF_HOST_AUTOTOOLS_AUTOCONF=y
PTXCONF_HOST_AUTOTOOLS_AUTOMAKE=y
PTXCONF_HOST_AUTOTOOLS_LIBTOOL=y
PTXCONF_HOST_CHRPATH=y
+PTXCONF_HOST_FAKEROOT=y
#
# ----------------------------------
@@ -154,5 +172,7 @@ PTXCONF_SYSROOT_TARGET="${PTXCONF_SYSROOT_CROSS}${PTXCONF_PREFIX_TARGET}"
PTXCONF_PLATFORM="${PTXCONF_GNU_TARGET}-${PTXCONF_PREFIX_TCID}"
PTXCONF_COMPILER_PREFIX="${PTXCONF_GNU_TARGET}-"
# PTXCONF_TOOLCHAIN_DEBUG is not set
+# end of misc
+
PTXCONF_IMAGE_TOOLCHAIN_TGZ=y
-PTXCONF_CONFIGFILE_VERSION="2020.08.0"
+PTXCONF_CONFIGFILE_VERSION="2023.07.0"
diff --git a/ptxconfigs/arm-v7a-linux-gnueabihf_gcc-10.2.1_glibc-2.32_binutils-2.35_kernel-5.8-sanitized.ptxconfig b/ptxconfigs/arm-v7a-linux-gnueabihf_gcc-10.2.1_glibc-2.32_binutils-2.35_kernel-5.8-sanitized.ptxconfig
deleted file mode 100644
index f05da54..0000000
--- a/ptxconfigs/arm-v7a-linux-gnueabihf_gcc-10.2.1_glibc-2.32_binutils-2.35_kernel-5.8-sanitized.ptxconfig
+++ /dev/null
@@ -1,143 +0,0 @@
-#
-# Automatically generated file; DO NOT EDIT.
-# PTXdist 2020.08.0
-#
-PTXCONF__ptxconfig_MAGIC__=y
-PTXCONF_BUILD_TOOLCHAIN=y
-PTXCONF_NO_PLATFORM=y
-PTXCONF_VIRTUAL=y
-PTXCONF_PROJECT="OSELAS.Toolchain-2020.XX.0"
-PTXCONF_PROJECT_CHECK_LICENSES=y
-
-#
-# ----------------------------------
-#
-PTXCONF_ARCH_ARM=y
-# PTXCONF_ARCH_ARM64 is not set
-# PTXCONF_ARCH_M68K is not set
-# PTXCONF_ARCH_MIPS is not set
-# PTXCONF_ARCH_POWERPC is not set
-# PTXCONF_ARCH_I386 is not set
-# PTXCONF_ARCH_X86_64 is not set
-# PTXCONF_ARCH_AVR is not set
-# PTXCONF_ARCH_AVR32 is not set
-# PTXCONF_ARCH_RISCV64 is not set
-PTXCONF_ARCH="arm"
-PTXCONF_GNU_TARGET="arm-v7a-linux-gnueabihf"
-PTXCONF_SIZEOF_LONG_DOUBLE="8"
-
-#
-# ----------------------------------
-#
-PTXCONF_LIBC_HEADERS=y
-PTXCONF_LIBC_FIRST=y
-PTXCONF_LIBC=y
-PTXCONF_LIBC_GLIBC=y
-# PTXCONF_LIBC_UCLIBC is not set
-# PTXCONF_LIBC_NEWLIB is not set
-# PTXCONF_LIBC_AVR is not set
-PTXCONF_GLIBC_HEADERS=y
-PTXCONF_GLIBC_CRT=y
-PTXCONF_GLIBC_FIRST=y
-PTXCONF_GLIBC=y
-PTXCONF_GLIBC_VERSION="2.32"
-PTXCONF_GLIBC_DL_VERSION="2.32"
-PTXCONF_GLIBC_MD5="9ccf64ce8976baa21d85dc550ee9f145"
-PTXCONF_GLIBC_LICENSE="GPL-2.0-or-later AND LGPL-2.1-or-later"
-PTXCONF_GLIBC_LICENSE_FILES="file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c file://LICENSES;md5=1541fd8f5e8f1579512bf05f533371ba"
-PTXCONF_GLIBC_TIMESTAMP=""
-PTXCONF_GLIBC_SERIES=""
-PTXCONF_GLIBC_ENABLE_KERNEL="3.16"
-PTXCONF_GLIBC_CONFIG_EXTRA=""
-PTXCONF_GLIBC_CONFIG_EXTRA_CROSS="--enable-stackguard-randomization --enable-stack-protector=strong"
-PTXCONF_GLIBC_HEADERS_FAKE_CROSS="-D__ARM_EABI__ -D__ARM_ARCH=7"
-PTXCONF_CROSS_BINUTILS=y
-PTXCONF_CROSS_BINUTILS_VERSION="2.35"
-PTXCONF_CROSS_BINUTILS_MD5="f5ee1b8aab816dce3badf8513be6dd75"
-PTXCONF_CROSS_BINUTILS_LICENSE="GPL-2.0-or-later AND LGPL-2.0-or-later GPL-3.0-or-later AND LGPL-3.0-or-later"
-PTXCONF_CROSS_BINUTILS_LICENSE_FILES="file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674 file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6"
-# PTXCONF_CROSS_ELF2FLT is not set
-PTXCONF_KERNEL_HEADERS=y
-PTXCONF_KERNEL_HEADERS_VERSION="5.8"
-PTXCONF_KERNEL_HEADERS_MD5="0e5c4c15266218ef26c50fac0016095b"
-PTXCONF_KERNEL_HEADERS_SANITIZED=y
-PTXCONF_CROSS_GCC=y
-PTXCONF_CROSS_GCC_VERSION="10.2.1"
-PTXCONF_CROSS_GCC_MD5="b86843def44634eb3c55a4339c347471"
-PTXCONF_CROSS_GCC_DL_VERSION="10-20200822"
-PTXCONF_CROSS_GCC_PKGVERSION="${PTXCONF_PROJECT} ${PTXCONF_CROSS_GCC_DL_VERSION}"
-PTXCONF_CROSS_GCC_SERIES=""
-PTXCONF_CROSS_GCC_CONFIG_EXTRA="--with-float=hard --with-fpu=vfpv3-d16 --with-arch=armv7-a --with-mode=thumb --with-tune=cortex-a9 --enable-linker-build-id"
-PTXCONF_CROSS_GCC_LICENSE="GPL-2.0-or-later WITH Classpath-exception-2.0 AND LGPL-2.1-or-later AND GPL-3.0-or-later AND GPL-3.0-or-later WITH GCC-exception-3.1 AND LGPL-3.0-or-later"
-PTXCONF_CROSS_GCC_LICENSE_FILES="file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1 file://COPYING.RUNTIME;md5=fe60d87048567d4fe8c8a0ed2448bcc8 file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6"
-PTXCONF_CROSS_GCC_GCCLIBS_LICENSE="GPL-3.0-only WITH GCC-exception-3.1"
-PTXCONF_CROSS_GCC_GCCLIBS_LICENSES="COPYING3 COPYING.RUNTIME"
-
-#
-# Additional supported languages:
-#
-PTXCONF_CROSS_GCC_LANG_C=y
-PTXCONF_CROSS_GCC_LANG_CXX=y
-# PTXCONF_CROSS_GCC_LANG_FORTRAN is not set
-# PTXCONF_CROSS_GCC_LANG_JAVA is not set
-PTXCONF_CROSS_GCC_LANG_OBJC=y
-PTXCONF_CROSS_GCC_LANG_OBJCXX=y
-PTXCONF_CROSS_GCC_ENABLE_CXA_ATEXIT=y
-PTXCONF_CROSS_GCC_CONFIG_CXA_ATEXIT="--enable-__cxa_atexit"
-PTXCONF_CROSS_GCC_DISABLE_SJLJ_EXCEPTIONS=y
-PTXCONF_CROSS_GCC_CONFIG_SJLJ_EXCEPTIONS="--disable-sjlj-exceptions"
-PTXCONF_CROSS_GCC_DISABLE_LIBSSP=y
-PTXCONF_CROSS_GCC_CONFIG_LIBSSP="--disable-libssp"
-PTXCONF_CROSS_GCC_ENABLE_SHARED=y
-PTXCONF_CROSS_GCC_CONFIG_SHARED="--enable-shared"
-PTXCONF_CROSS_GCC_THREADS_POSIX=y
-PTXCONF_CROSS_GCC_THREADS="posix"
-PTXCONF_CROSS_GCC_FIRST=y
-# PTXCONF_CROSS_LLVM is not set
-# PTXCONF_CROSS_CLANG is not set
-PTXCONF_CROSS_GDB=y
-PTXCONF_CROSS_GDB_VERSION="9.2"
-PTXCONF_CROSS_GDB_MD5="db95524e554870209ab7d9f8fd8dc557"
-PTXCONF_CROSS_GDB_LICENSE="GPL-2.0-or-later AND LGPL-2.0-or-later GPL-3.0-or-later AND LGPL-3.0-or-later"
-PTXCONF_CROSS_GDB_LICENSE_FILES="file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674 file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6"
-PTXCONF_CROSS_TOOLCHAIN=y
-PTXCONF_HOST_FAKE_MAKEINFO=y
-PTXCONF_HOST_M4=y
-PTXCONF_HOST_SYSTEM_EXPAT=y
-PTXCONF_HOST_SYSTEM_GMP=y
-PTXCONF_HOST_SYSTEM_ISL=y
-PTXCONF_HOST_SYSTEM_MPC=y
-PTXCONF_HOST_SYSTEM_MPFR=y
-PTXCONF_HOST_SYSTEM_PERL=y
-PTXCONF_HOST_SYSTEM_PYTHON3=y
-PTXCONF_HOST_SYSTEM_XZ=y
-PTXCONF_HOST_SYSTEM_ZLIB=y
-PTXCONF_HOST_AUTOTOOLS_AUTOCONF=y
-PTXCONF_HOST_AUTOTOOLS_AUTOMAKE=y
-PTXCONF_HOST_AUTOTOOLS_LIBTOOL=y
-PTXCONF_HOST_CHRPATH=y
-
-#
-# ----------------------------------
-#
-PTXCONF_TOOLCHAIN_ENABLE_SYSROOT=y
-PTXCONF_TOOLCHAIN_CONFIG_SYSROOT="--with-build-sysroot=${SYSROOT} --with-sysroot=${PTXCONF_PREFIX_TARGET}"
-PTXCONF_TOOLCHAIN_DISABLE_MULTILIB=y
-PTXCONF_TOOLCHAIN_CONFIG_MULTILIB="--disable-multilib"
-
-#
-# misc
-#
-PTXCONF_PREFIX="/opt"
-PTXCONF_PREFIX_KERNEL="-sanitized"
-PTXCONF_PREFIX_TCID="gcc-${PTXCONF_CROSS_GCC_VERSION}${PTXCONF_PREFIX_JAVA}-glibc-${PTXCONF_GLIBC_VERSION}-binutils-${PTXCONF_CROSS_BINUTILS_VERSION}-kernel-${PTXCONF_KERNEL_HEADERS_VERSION}${PTXCONF_PREFIX_KERNEL}"
-PTXCONF_SYSROOT_HOST="${PTXDIST_PLATFORMDIR}/sysroot-host"
-PTXCONF_PREFIX_CROSS="${PTXCONF_PREFIX}/${PTXCONF_PROJECT}/${PTXCONF_GNU_TARGET}/${PTXCONF_PREFIX_TCID}"
-PTXCONF_SYSROOT_CROSS="${PTXDIST_PLATFORMDIR}/sysroot-cross"
-PTXCONF_PREFIX_TARGET="${PTXCONF_PREFIX_CROSS}/sysroot-${PTXCONF_GNU_TARGET}"
-PTXCONF_SYSROOT_TARGET="${PTXCONF_SYSROOT_CROSS}${PTXCONF_PREFIX_TARGET}"
-PTXCONF_PLATFORM="${PTXCONF_GNU_TARGET}-${PTXCONF_PREFIX_TCID}"
-PTXCONF_COMPILER_PREFIX="${PTXCONF_GNU_TARGET}-"
-# PTXCONF_TOOLCHAIN_DEBUG is not set
-PTXCONF_IMAGE_TOOLCHAIN_TGZ=y
-PTXCONF_CONFIGFILE_VERSION="2020.08.0"
diff --git a/ptxconfigs/arm-v7a-linux-gnueabihf_gcc-10.2.1_clang-10.0.1_glibc-2.32_binutils-2.35_kernel-5.8-sanitized.ptxconfig b/ptxconfigs/arm-v7a-linux-gnueabihf_gcc-13.1.1_clang-16.0.6_glibc-2.37_binutils-2.40_kernel-6.3.6-sanitized.ptxconfig
index 4cf5acd..f4ff10f 100644
--- a/ptxconfigs/arm-v7a-linux-gnueabihf_gcc-10.2.1_clang-10.0.1_glibc-2.32_binutils-2.35_kernel-5.8-sanitized.ptxconfig
+++ b/ptxconfigs/arm-v7a-linux-gnueabihf_gcc-13.1.1_clang-16.0.6_glibc-2.37_binutils-2.40_kernel-6.3.6-sanitized.ptxconfig
@@ -1,13 +1,14 @@
#
# Automatically generated file; DO NOT EDIT.
-# PTXdist 2020.08.0
+# PTXdist 2023.07.0
#
PTXCONF__ptxconfig_MAGIC__=y
PTXCONF_BUILD_TOOLCHAIN=y
PTXCONF_NO_PLATFORM=y
PTXCONF_VIRTUAL=y
-PTXCONF_PROJECT="OSELAS.Toolchain-2020.XX.0"
+PTXCONF_PROJECT="OSELAS.Toolchain-2023.07.0"
PTXCONF_PROJECT_CHECK_LICENSES=y
+PTXCONF_BASE=y
#
# ----------------------------------
@@ -16,12 +17,14 @@ PTXCONF_ARCH_ARM=y
# PTXCONF_ARCH_ARM64 is not set
# PTXCONF_ARCH_M68K is not set
# PTXCONF_ARCH_MIPS is not set
+# PTXCONF_ARCH_MIPS64 is not set
# PTXCONF_ARCH_POWERPC is not set
# PTXCONF_ARCH_I386 is not set
# PTXCONF_ARCH_X86_64 is not set
# PTXCONF_ARCH_AVR is not set
# PTXCONF_ARCH_AVR32 is not set
# PTXCONF_ARCH_RISCV64 is not set
+# PTXCONF_ARCH_LOONGARCH is not set
PTXCONF_ARCH="arm"
PTXCONF_GNU_TARGET="arm-v7a-linux-gnueabihf"
PTXCONF_SIZEOF_LONG_DOUBLE="8"
@@ -40,31 +43,32 @@ PTXCONF_GLIBC_HEADERS=y
PTXCONF_GLIBC_CRT=y
PTXCONF_GLIBC_FIRST=y
PTXCONF_GLIBC=y
-PTXCONF_GLIBC_VERSION="2.32"
-PTXCONF_GLIBC_DL_VERSION="2.32"
-PTXCONF_GLIBC_MD5="9ccf64ce8976baa21d85dc550ee9f145"
+PTXCONF_GLIBC_VERSION="2.37"
+PTXCONF_GLIBC_DL_VERSION="2.37-22-g3593050c27dc"
+PTXCONF_GLIBC_MD5="f0f89e0ad0929acece926fcfc2a1798f"
PTXCONF_GLIBC_LICENSE="GPL-2.0-or-later AND LGPL-2.1-or-later"
PTXCONF_GLIBC_LICENSE_FILES="file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c file://LICENSES;md5=1541fd8f5e8f1579512bf05f533371ba"
PTXCONF_GLIBC_TIMESTAMP=""
PTXCONF_GLIBC_SERIES=""
-PTXCONF_GLIBC_ENABLE_KERNEL="3.16"
+PTXCONF_GLIBC_ENABLE_KERNEL="4.19"
PTXCONF_GLIBC_CONFIG_EXTRA=""
-PTXCONF_GLIBC_CONFIG_EXTRA_CROSS="--enable-stackguard-randomization --enable-stack-protector=strong"
+PTXCONF_GLIBC_CONFIG_EXTRA_CROSS="--enable-stack-protector=strong"
PTXCONF_GLIBC_HEADERS_FAKE_CROSS="-D__ARM_EABI__ -D__ARM_ARCH=7"
PTXCONF_CROSS_BINUTILS=y
-PTXCONF_CROSS_BINUTILS_VERSION="2.35"
-PTXCONF_CROSS_BINUTILS_MD5="f5ee1b8aab816dce3badf8513be6dd75"
+PTXCONF_CROSS_BINUTILS_VERSION="2.40"
+PTXCONF_CROSS_BINUTILS_MD5="fe10027c8de77b643ae72bd6de3f7996"
PTXCONF_CROSS_BINUTILS_LICENSE="GPL-2.0-or-later AND LGPL-2.0-or-later GPL-3.0-or-later AND LGPL-3.0-or-later"
PTXCONF_CROSS_BINUTILS_LICENSE_FILES="file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674 file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6"
+PTXCONF_CROSS_BINUTILS_GOLD=y
# PTXCONF_CROSS_ELF2FLT is not set
PTXCONF_KERNEL_HEADERS=y
-PTXCONF_KERNEL_HEADERS_VERSION="5.8"
-PTXCONF_KERNEL_HEADERS_MD5="0e5c4c15266218ef26c50fac0016095b"
+PTXCONF_KERNEL_HEADERS_VERSION="6.3.6"
+PTXCONF_KERNEL_HEADERS_MD5="b30b7e0367fee0505eecbef74d852256"
PTXCONF_KERNEL_HEADERS_SANITIZED=y
PTXCONF_CROSS_GCC=y
-PTXCONF_CROSS_GCC_VERSION="10.2.1"
-PTXCONF_CROSS_GCC_MD5="b86843def44634eb3c55a4339c347471"
-PTXCONF_CROSS_GCC_DL_VERSION="10-20200822"
+PTXCONF_CROSS_GCC_VERSION="13.1.1"
+PTXCONF_CROSS_GCC_MD5="dac67a127451736b3c3c4ded8cdac304"
+PTXCONF_CROSS_GCC_DL_VERSION="13-20230624"
PTXCONF_CROSS_GCC_PKGVERSION="${PTXCONF_PROJECT} ${PTXCONF_CROSS_GCC_DL_VERSION}"
PTXCONF_CROSS_GCC_SERIES=""
PTXCONF_CROSS_GCC_CONFIG_EXTRA="--with-float=hard --with-fpu=vfpv3-d16 --with-arch=armv7-a --with-mode=thumb --with-tune=cortex-a9 --enable-linker-build-id"
@@ -78,7 +82,7 @@ PTXCONF_CROSS_GCC_GCCLIBS_LICENSES="COPYING3 COPYING.RUNTIME"
#
PTXCONF_CROSS_GCC_LANG_C=y
PTXCONF_CROSS_GCC_LANG_CXX=y
-# PTXCONF_CROSS_GCC_LANG_FORTRAN is not set
+PTXCONF_CROSS_GCC_LANG_FORTRAN=y
# PTXCONF_CROSS_GCC_LANG_JAVA is not set
PTXCONF_CROSS_GCC_LANG_OBJC=y
PTXCONF_CROSS_GCC_LANG_OBJCXX=y
@@ -94,28 +98,40 @@ PTXCONF_CROSS_GCC_THREADS_POSIX=y
PTXCONF_CROSS_GCC_THREADS="posix"
PTXCONF_CROSS_GCC_FIRST=y
PTXCONF_CROSS_LLVM=y
-PTXCONF_CROSS_LLVM_VERSION="10.0.1"
-PTXCONF_CROSS_LLVM_MD5="71c68c526cbbf1674b5aafc5542b336c"
+PTXCONF_CROSS_LLVM_VERSION="16.0.6"
+PTXCONF_CROSS_LLVM_MD5="7d986cda69719a35bd5ecb266fcf1f65"
+PTXCONF_CROSS_LLVM_CMAKE_MODULES_MD5="b7830bb90e376c90a43c2c190a0a5ffa"
PTXCONF_CROSS_LLVM_LICENSE="Apache-2.0 WITH LLVM-exception AND NCSA"
PTXCONF_CROSS_LLVM_LICENSE_FILES="file://LICENSE.TXT;md5=8a15a0759ef07f2682d2ba4b893c9afe"
PTXCONF_CROSS_CLANG=y
PTXCONF_CROSS_CLANG_VERSION="${PTXCONF_CROSS_LLVM_VERSION}"
-PTXCONF_CROSS_CLANG_MD5="6c8b56f531876fd24e06257a2d8ce422"
+PTXCONF_CROSS_CLANG_MD5="70053a666251fdcabc466ea4a0275972"
PTXCONF_CROSS_CLANG_LICENSE="Apache-2.0 WITH LLVM-exception AND NCSA"
PTXCONF_CROSS_CLANG_LICENSE_FILES="file://LICENSE.TXT;md5=ff42885ed2ab98f1ecb8c1fc41205343"
PTXCONF_CROSS_LLD=y
PTXCONF_CROSS_LLD_VERSION="${PTXCONF_CROSS_LLVM_VERSION}"
-PTXCONF_CROSS_LLD_MD5="c8f364fbb129e47ef2793c317561449a"
+PTXCONF_CROSS_LLD_MD5="9c9530a0853624a869917853a2da2bd1"
PTXCONF_CROSS_LLD_LICENSE="Apache-2.0 WITH LLVM-exception AND NCSA"
PTXCONF_CROSS_LLD_LICENSE_FILES="file://LICENSE.TXT;md5=ae7dc7c027b1fa89b5b013d391d3ee2b"
+PTXCONF_CROSS_RUSTC=y
+PTXCONF_CROSS_RUSTC_VERSION="1.70.0"
+PTXCONF_CROSS_RUSTC_MD5="165792a4266021589b2d6061f208755f"
+PTXCONF_CROSS_RUSTC_TARGET="${PTXCONF_GNU_TARGET}"
+PTXCONF_CROSS_RUSTC_BUILD_VERSION="1.69.0"
+PTXCONF_CROSS_RUSTC_BUILD_DATE="2023-04-20"
+PTXCONF_CROSS_RUSTC_BUILD_STD_MD5="d9649027934eeb364f3b9ac4f2c1d1ff"
+PTXCONF_CROSS_RUSTC_BUILD_RUSTC_MD5="115ced745660c1659c54e69c44f4dd47"
+PTXCONF_CROSS_RUSTC_BUILD_CARGO_MD5="b208debb640360059b98948b0aa939fb"
PTXCONF_CROSS_GDB=y
-PTXCONF_CROSS_GDB_VERSION="9.2"
-PTXCONF_CROSS_GDB_MD5="db95524e554870209ab7d9f8fd8dc557"
+PTXCONF_CROSS_GDB_VERSION="13.2"
+PTXCONF_CROSS_GDB_MD5="fbd3cdae16c581e8a742cb766ba35076"
PTXCONF_CROSS_GDB_LICENSE="GPL-2.0-or-later AND LGPL-2.0-or-later GPL-3.0-or-later AND LGPL-3.0-or-later"
PTXCONF_CROSS_GDB_LICENSE_FILES="file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674 file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6"
PTXCONF_CROSS_TOOLCHAIN=y
PTXCONF_HOST_FAKE_MAKEINFO=y
+PTXCONF_HOST_ACL=y
PTXCONF_HOST_CMAKE=y
+PTXCONF_HOST_LIBCAP=y
PTXCONF_HOST_M4=y
PTXCONF_HOST_NINJA=y
PTXCONF_HOST_SYSTEM_EXPAT=y
@@ -123,6 +139,7 @@ PTXCONF_HOST_SYSTEM_GMP=y
PTXCONF_HOST_SYSTEM_ISL=y
PTXCONF_HOST_SYSTEM_MPC=y
PTXCONF_HOST_SYSTEM_MPFR=y
+PTXCONF_HOST_SYSTEM_OPENSSL=y
PTXCONF_HOST_SYSTEM_PERL=y
PTXCONF_HOST_SYSTEM_PYTHON3=y
PTXCONF_HOST_SYSTEM_XZ=y
@@ -131,6 +148,7 @@ PTXCONF_HOST_AUTOTOOLS_AUTOCONF=y
PTXCONF_HOST_AUTOTOOLS_AUTOMAKE=y
PTXCONF_HOST_AUTOTOOLS_LIBTOOL=y
PTXCONF_HOST_CHRPATH=y
+PTXCONF_HOST_FAKEROOT=y
#
# ----------------------------------
@@ -154,5 +172,7 @@ PTXCONF_SYSROOT_TARGET="${PTXCONF_SYSROOT_CROSS}${PTXCONF_PREFIX_TARGET}"
PTXCONF_PLATFORM="${PTXCONF_GNU_TARGET}-${PTXCONF_PREFIX_TCID}"
PTXCONF_COMPILER_PREFIX="${PTXCONF_GNU_TARGET}-"
# PTXCONF_TOOLCHAIN_DEBUG is not set
+# end of misc
+
PTXCONF_IMAGE_TOOLCHAIN_TGZ=y
-PTXCONF_CONFIGFILE_VERSION="2020.08.0"
+PTXCONF_CONFIGFILE_VERSION="2023.07.0"
diff --git a/ptxconfigs/arm-v7em-eabihf_gcc-10.2.1_newlib-3.3.0_binutils-2.35.ptxconfig b/ptxconfigs/arm-v7em-eabihf_gcc-13.1.1_newlib-4.3.0.20230120_binutils-2.40.ptxconfig
index fb5f8fc..8b97685 100644
--- a/ptxconfigs/arm-v7em-eabihf_gcc-10.2.1_newlib-3.3.0_binutils-2.35.ptxconfig
+++ b/ptxconfigs/arm-v7em-eabihf_gcc-13.1.1_newlib-4.3.0.20230120_binutils-2.40.ptxconfig
@@ -1,13 +1,14 @@
#
# Automatically generated file; DO NOT EDIT.
-# PTXdist 2020.08.0
+# PTXdist 2023.07.0
#
PTXCONF__ptxconfig_MAGIC__=y
PTXCONF_BUILD_TOOLCHAIN=y
PTXCONF_NO_PLATFORM=y
PTXCONF_VIRTUAL=y
-PTXCONF_PROJECT="OSELAS.Toolchain-2020.XX.0"
+PTXCONF_PROJECT="OSELAS.Toolchain-2023.07.0"
PTXCONF_PROJECT_CHECK_LICENSES=y
+PTXCONF_BASE=y
#
# ----------------------------------
@@ -16,12 +17,14 @@ PTXCONF_ARCH_ARM=y
# PTXCONF_ARCH_ARM64 is not set
# PTXCONF_ARCH_M68K is not set
# PTXCONF_ARCH_MIPS is not set
+# PTXCONF_ARCH_MIPS64 is not set
# PTXCONF_ARCH_POWERPC is not set
# PTXCONF_ARCH_I386 is not set
# PTXCONF_ARCH_X86_64 is not set
# PTXCONF_ARCH_AVR is not set
# PTXCONF_ARCH_AVR32 is not set
# PTXCONF_ARCH_RISCV64 is not set
+# PTXCONF_ARCH_LOONGARCH is not set
PTXCONF_ARCH="arm"
PTXCONF_GNU_TARGET="arm-v7em-eabihf"
PTXCONF_SIZEOF_LONG_DOUBLE="8"
@@ -37,20 +40,21 @@ PTXCONF_LIBC=y
PTXCONF_LIBC_NEWLIB=y
# PTXCONF_LIBC_AVR is not set
PTXCONF_NEWLIB=y
-PTXCONF_NEWLIB_VERSION="3.3.0"
+PTXCONF_NEWLIB_VERSION="4.3.0.20230120"
PTXCONF_NEWLIB_DL_VERSION="${PTXCONF_NEWLIB_VERSION}"
-PTXCONF_NEWLIB_MD5="af1c64d25eb3f71dec5ad7ec79877d7f"
+PTXCONF_NEWLIB_MD5="6adcadd40af12376220b73f2574b4b6f"
PTXCONF_CROSS_BINUTILS=y
-PTXCONF_CROSS_BINUTILS_VERSION="2.35"
-PTXCONF_CROSS_BINUTILS_MD5="f5ee1b8aab816dce3badf8513be6dd75"
+PTXCONF_CROSS_BINUTILS_VERSION="2.40"
+PTXCONF_CROSS_BINUTILS_MD5="fe10027c8de77b643ae72bd6de3f7996"
PTXCONF_CROSS_BINUTILS_LICENSE="GPL-2.0-or-later AND LGPL-2.0-or-later GPL-3.0-or-later AND LGPL-3.0-or-later"
PTXCONF_CROSS_BINUTILS_LICENSE_FILES="file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674 file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6"
+PTXCONF_CROSS_BINUTILS_GOLD=y
# PTXCONF_CROSS_ELF2FLT is not set
# PTXCONF_KERNEL_HEADERS is not set
PTXCONF_CROSS_GCC=y
-PTXCONF_CROSS_GCC_VERSION="10.2.1"
-PTXCONF_CROSS_GCC_MD5="b86843def44634eb3c55a4339c347471"
-PTXCONF_CROSS_GCC_DL_VERSION="10-20200822"
+PTXCONF_CROSS_GCC_VERSION="13.1.1"
+PTXCONF_CROSS_GCC_MD5="dac67a127451736b3c3c4ded8cdac304"
+PTXCONF_CROSS_GCC_DL_VERSION="13-20230624"
PTXCONF_CROSS_GCC_PKGVERSION="${PTXCONF_PROJECT} ${PTXCONF_CROSS_GCC_DL_VERSION}"
PTXCONF_CROSS_GCC_SERIES=""
PTXCONF_CROSS_GCC_CONFIG_EXTRA="--with-float=hard --with-fpu=fpv4-sp-d16 --with-arch=armv7e-m --with-mode=thumb"
@@ -82,13 +86,16 @@ PTXCONF_CROSS_GCC_THREADS="single"
PTXCONF_CROSS_GCC_FIRST=y
# PTXCONF_CROSS_LLVM is not set
# PTXCONF_CROSS_CLANG is not set
+# PTXCONF_CROSS_RUSTC is not set
PTXCONF_CROSS_GDB=y
-PTXCONF_CROSS_GDB_VERSION="9.2"
-PTXCONF_CROSS_GDB_MD5="db95524e554870209ab7d9f8fd8dc557"
+PTXCONF_CROSS_GDB_VERSION="13.2"
+PTXCONF_CROSS_GDB_MD5="fbd3cdae16c581e8a742cb766ba35076"
PTXCONF_CROSS_GDB_LICENSE="GPL-2.0-or-later AND LGPL-2.0-or-later GPL-3.0-or-later AND LGPL-3.0-or-later"
PTXCONF_CROSS_GDB_LICENSE_FILES="file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674 file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6"
PTXCONF_CROSS_TOOLCHAIN=y
PTXCONF_HOST_FAKE_MAKEINFO=y
+PTXCONF_HOST_ACL=y
+PTXCONF_HOST_LIBCAP=y
PTXCONF_HOST_M4=y
PTXCONF_HOST_SYSTEM_EXPAT=y
PTXCONF_HOST_SYSTEM_GMP=y
@@ -103,6 +110,7 @@ PTXCONF_HOST_AUTOTOOLS_AUTOCONF=y
PTXCONF_HOST_AUTOTOOLS_AUTOMAKE=y
PTXCONF_HOST_AUTOTOOLS_LIBTOOL=y
PTXCONF_HOST_CHRPATH=y
+PTXCONF_HOST_FAKEROOT=y
#
# ----------------------------------
@@ -124,5 +132,7 @@ PTXCONF_SYSROOT_TARGET="${PTXCONF_SYSROOT_CROSS}${PTXCONF_PREFIX_TARGET}"
PTXCONF_PLATFORM="${PTXCONF_GNU_TARGET}-${PTXCONF_PREFIX_TCID}"
PTXCONF_COMPILER_PREFIX="${PTXCONF_GNU_TARGET}-"
# PTXCONF_TOOLCHAIN_DEBUG is not set
+# end of misc
+
PTXCONF_IMAGE_TOOLCHAIN_TGZ=y
-PTXCONF_CONFIGFILE_VERSION="2020.08.0"
+PTXCONF_CONFIGFILE_VERSION="2023.07.0"
diff --git a/ptxconfigs/arm-v7em-uclinuxeabihf_gcc-10.2.1_uclibc-ng-1.0.34_binutils-2.35_kernel-5.8-sanitized.ptxconfig b/ptxconfigs/arm-v7em-uclinuxeabihf_gcc-10.2.1_uclibc-ng-1.0.34_binutils-2.35_kernel-5.8-sanitized.ptxconfig
deleted file mode 100644
index e4b25b7..0000000
--- a/ptxconfigs/arm-v7em-uclinuxeabihf_gcc-10.2.1_uclibc-ng-1.0.34_binutils-2.35_kernel-5.8-sanitized.ptxconfig
+++ /dev/null
@@ -1,137 +0,0 @@
-#
-# Automatically generated file; DO NOT EDIT.
-# PTXdist 2020.08.0
-#
-PTXCONF__ptxconfig_MAGIC__=y
-PTXCONF_BUILD_TOOLCHAIN=y
-PTXCONF_NO_PLATFORM=y
-PTXCONF_VIRTUAL=y
-PTXCONF_PROJECT="OSELAS.Toolchain-2020.XX.0"
-PTXCONF_PROJECT_CHECK_LICENSES=y
-
-#
-# ----------------------------------
-#
-PTXCONF_ARCH_ARM=y
-# PTXCONF_ARCH_ARM64 is not set
-# PTXCONF_ARCH_M68K is not set
-# PTXCONF_ARCH_MIPS is not set
-# PTXCONF_ARCH_POWERPC is not set
-# PTXCONF_ARCH_I386 is not set
-# PTXCONF_ARCH_X86_64 is not set
-# PTXCONF_ARCH_AVR is not set
-# PTXCONF_ARCH_AVR32 is not set
-# PTXCONF_ARCH_RISCV64 is not set
-PTXCONF_ARCH="arm"
-PTXCONF_GNU_TARGET="arm-v7em-uclinuxeabihf"
-PTXCONF_SIZEOF_LONG_DOUBLE="8"
-
-#
-# ----------------------------------
-#
-PTXCONF_LIBC_HEADERS=y
-PTXCONF_LIBC_FIRST=y
-PTXCONF_LIBC=y
-# PTXCONF_LIBC_GLIBC is not set
-PTXCONF_LIBC_UCLIBC=y
-# PTXCONF_LIBC_NEWLIB is not set
-# PTXCONF_LIBC_AVR is not set
-PTXCONF_UCLIBC=y
-PTXCONF_UCLIBC_VERSION="ng-1.0.34"
-PTXCONF_UCLIBC_MD5="e3cf18ff85b79bc0909e8910dd4042c3"
-PTXCONF_UCLIBC_CONFIG="uclibc-${PTXCONF_UCLIBC_VERSION}-${PTXCONF_GNU_TARGET}.config"
-PTXCONF_UCLIBC_LICENSE="LGPL-2.1-or-later"
-PTXCONF_UCLIBC_LICENSE_FILES="file://COPYING.LIB;md5=a6f89e2100d9b6cdffcea4f398e37343"
-PTXCONF_UCLIBC_HEADERS=y
-PTXCONF_UCLIBC_HEADERS_FAKE_CROSS="-D__ARM_EABI__"
-PTXCONF_CROSS_BINUTILS=y
-PTXCONF_CROSS_BINUTILS_VERSION="2.35"
-PTXCONF_CROSS_BINUTILS_MD5="f5ee1b8aab816dce3badf8513be6dd75"
-PTXCONF_CROSS_BINUTILS_LICENSE="GPL-2.0-or-later AND LGPL-2.0-or-later GPL-3.0-or-later AND LGPL-3.0-or-later"
-PTXCONF_CROSS_BINUTILS_LICENSE_FILES="file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674 file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6"
-PTXCONF_CROSS_BINUTILS_LD_REAL=y
-PTXCONF_CROSS_ELF2FLT=y
-PTXCONF_KERNEL_HEADERS=y
-PTXCONF_KERNEL_HEADERS_VERSION="5.8"
-PTXCONF_KERNEL_HEADERS_MD5="0e5c4c15266218ef26c50fac0016095b"
-PTXCONF_KERNEL_HEADERS_SANITIZED=y
-PTXCONF_CROSS_GCC=y
-PTXCONF_CROSS_GCC_VERSION="10.2.1"
-PTXCONF_CROSS_GCC_MD5="b86843def44634eb3c55a4339c347471"
-PTXCONF_CROSS_GCC_DL_VERSION="10-20200822"
-PTXCONF_CROSS_GCC_PKGVERSION="${PTXCONF_PROJECT} ${PTXCONF_CROSS_GCC_DL_VERSION}"
-PTXCONF_CROSS_GCC_SERIES=""
-PTXCONF_CROSS_GCC_CONFIG_EXTRA="--with-float=hard --with-fpu=fpv4-sp-d16 --with-arch=armv7e-m --with-mode=thumb"
-PTXCONF_CROSS_GCC_LICENSE="GPL-2.0-or-later WITH Classpath-exception-2.0 AND LGPL-2.1-or-later AND GPL-3.0-or-later AND GPL-3.0-or-later WITH GCC-exception-3.1 AND LGPL-3.0-or-later"
-PTXCONF_CROSS_GCC_LICENSE_FILES="file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1 file://COPYING.RUNTIME;md5=fe60d87048567d4fe8c8a0ed2448bcc8 file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6"
-PTXCONF_CROSS_GCC_GCCLIBS_LICENSE="GPL-3.0-only WITH GCC-exception-3.1"
-PTXCONF_CROSS_GCC_GCCLIBS_LICENSES="COPYING3 COPYING.RUNTIME"
-
-#
-# Additional supported languages:
-#
-PTXCONF_CROSS_GCC_LANG_C=y
-PTXCONF_CROSS_GCC_LANG_CXX=y
-# PTXCONF_CROSS_GCC_LANG_FORTRAN is not set
-# PTXCONF_CROSS_GCC_LANG_JAVA is not set
-PTXCONF_CROSS_GCC_LANG_OBJC=y
-PTXCONF_CROSS_GCC_LANG_OBJCXX=y
-PTXCONF_CROSS_GCC_ENABLE_CXA_ATEXIT=y
-PTXCONF_CROSS_GCC_CONFIG_CXA_ATEXIT="--enable-__cxa_atexit"
-PTXCONF_CROSS_GCC_DISABLE_SJLJ_EXCEPTIONS=y
-PTXCONF_CROSS_GCC_CONFIG_SJLJ_EXCEPTIONS="--disable-sjlj-exceptions"
-PTXCONF_CROSS_GCC_DISABLE_LIBSSP=y
-PTXCONF_CROSS_GCC_CONFIG_LIBSSP="--disable-libssp"
-PTXCONF_CROSS_GCC_DISABLE_SHARED=y
-PTXCONF_CROSS_GCC_CONFIG_SHARED="--disable-shared"
-PTXCONF_CROSS_GCC_THREADS_SINGLE=y
-PTXCONF_CROSS_GCC_THREADS="single"
-PTXCONF_CROSS_GCC_FIRST=y
-# PTXCONF_CROSS_LLVM is not set
-# PTXCONF_CROSS_CLANG is not set
-PTXCONF_CROSS_GDB=y
-PTXCONF_CROSS_GDB_VERSION="9.2"
-PTXCONF_CROSS_GDB_MD5="db95524e554870209ab7d9f8fd8dc557"
-PTXCONF_CROSS_GDB_LICENSE="GPL-2.0-or-later AND LGPL-2.0-or-later GPL-3.0-or-later AND LGPL-3.0-or-later"
-PTXCONF_CROSS_GDB_LICENSE_FILES="file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674 file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6"
-PTXCONF_CROSS_TOOLCHAIN=y
-PTXCONF_HOST_FAKE_MAKEINFO=y
-PTXCONF_HOST_M4=y
-PTXCONF_HOST_SYSTEM_EXPAT=y
-PTXCONF_HOST_SYSTEM_GMP=y
-PTXCONF_HOST_SYSTEM_ISL=y
-PTXCONF_HOST_SYSTEM_MPC=y
-PTXCONF_HOST_SYSTEM_MPFR=y
-PTXCONF_HOST_SYSTEM_PERL=y
-PTXCONF_HOST_SYSTEM_PYTHON3=y
-PTXCONF_HOST_SYSTEM_XZ=y
-PTXCONF_HOST_SYSTEM_ZLIB=y
-PTXCONF_HOST_AUTOTOOLS_AUTOCONF=y
-PTXCONF_HOST_AUTOTOOLS_AUTOMAKE=y
-PTXCONF_HOST_AUTOTOOLS_LIBTOOL=y
-PTXCONF_HOST_CHRPATH=y
-
-#
-# ----------------------------------
-#
-PTXCONF_TOOLCHAIN_ENABLE_SYSROOT=y
-PTXCONF_TOOLCHAIN_CONFIG_SYSROOT="--with-build-sysroot=${SYSROOT} --with-sysroot=${PTXCONF_PREFIX_TARGET}"
-PTXCONF_TOOLCHAIN_DISABLE_MULTILIB=y
-PTXCONF_TOOLCHAIN_CONFIG_MULTILIB="--disable-multilib"
-
-#
-# misc
-#
-PTXCONF_PREFIX="/opt"
-PTXCONF_PREFIX_KERNEL="-sanitized"
-PTXCONF_PREFIX_TCID="gcc-${PTXCONF_CROSS_GCC_VERSION}${PTXCONF_PREFIX_JAVA}-uclibc-${PTXCONF_UCLIBC_VERSION}-binutils-${PTXCONF_CROSS_BINUTILS_VERSION}-kernel-${PTXCONF_KERNEL_HEADERS_VERSION}${PTXCONF_PREFIX_KERNEL}"
-PTXCONF_SYSROOT_HOST="${PTXDIST_PLATFORMDIR}/sysroot-host"
-PTXCONF_PREFIX_CROSS="${PTXCONF_PREFIX}/${PTXCONF_PROJECT}/${PTXCONF_GNU_TARGET}/${PTXCONF_PREFIX_TCID}"
-PTXCONF_SYSROOT_CROSS="${PTXDIST_PLATFORMDIR}/sysroot-cross"
-PTXCONF_PREFIX_TARGET="${PTXCONF_PREFIX_CROSS}/sysroot-${PTXCONF_GNU_TARGET}"
-PTXCONF_SYSROOT_TARGET="${PTXCONF_SYSROOT_CROSS}${PTXCONF_PREFIX_TARGET}"
-PTXCONF_PLATFORM="${PTXCONF_GNU_TARGET}-${PTXCONF_PREFIX_TCID}"
-PTXCONF_COMPILER_PREFIX="${PTXCONF_GNU_TARGET}-"
-# PTXCONF_TOOLCHAIN_DEBUG is not set
-PTXCONF_IMAGE_TOOLCHAIN_TGZ=y
-PTXCONF_CONFIGFILE_VERSION="2020.08.0"
diff --git a/ptxconfigs/arm-v7m-eabi_gcc-10.2.1_newlib-3.3.0_binutils-2.35.ptxconfig b/ptxconfigs/arm-v7m-eabi_gcc-13.1.1_newlib-4.3.0.20230120_binutils-2.40.ptxconfig
index 5d2f0a4..daa1d97 100644
--- a/ptxconfigs/arm-v7m-eabi_gcc-10.2.1_newlib-3.3.0_binutils-2.35.ptxconfig
+++ b/ptxconfigs/arm-v7m-eabi_gcc-13.1.1_newlib-4.3.0.20230120_binutils-2.40.ptxconfig
@@ -1,13 +1,14 @@
#
# Automatically generated file; DO NOT EDIT.
-# PTXdist 2020.08.0
+# PTXdist 2023.07.0
#
PTXCONF__ptxconfig_MAGIC__=y
PTXCONF_BUILD_TOOLCHAIN=y
PTXCONF_NO_PLATFORM=y
PTXCONF_VIRTUAL=y
-PTXCONF_PROJECT="OSELAS.Toolchain-2020.XX.0"
+PTXCONF_PROJECT="OSELAS.Toolchain-2023.07.0"
PTXCONF_PROJECT_CHECK_LICENSES=y
+PTXCONF_BASE=y
#
# ----------------------------------
@@ -16,12 +17,14 @@ PTXCONF_ARCH_ARM=y
# PTXCONF_ARCH_ARM64 is not set
# PTXCONF_ARCH_M68K is not set
# PTXCONF_ARCH_MIPS is not set
+# PTXCONF_ARCH_MIPS64 is not set
# PTXCONF_ARCH_POWERPC is not set
# PTXCONF_ARCH_I386 is not set
# PTXCONF_ARCH_X86_64 is not set
# PTXCONF_ARCH_AVR is not set
# PTXCONF_ARCH_AVR32 is not set
# PTXCONF_ARCH_RISCV64 is not set
+# PTXCONF_ARCH_LOONGARCH is not set
PTXCONF_ARCH="arm"
PTXCONF_GNU_TARGET="arm-v7m-eabi"
PTXCONF_SIZEOF_LONG_DOUBLE="8"
@@ -37,20 +40,21 @@ PTXCONF_LIBC=y
PTXCONF_LIBC_NEWLIB=y
# PTXCONF_LIBC_AVR is not set
PTXCONF_NEWLIB=y
-PTXCONF_NEWLIB_VERSION="3.3.0"
+PTXCONF_NEWLIB_VERSION="4.3.0.20230120"
PTXCONF_NEWLIB_DL_VERSION="${PTXCONF_NEWLIB_VERSION}"
-PTXCONF_NEWLIB_MD5="af1c64d25eb3f71dec5ad7ec79877d7f"
+PTXCONF_NEWLIB_MD5="6adcadd40af12376220b73f2574b4b6f"
PTXCONF_CROSS_BINUTILS=y
-PTXCONF_CROSS_BINUTILS_VERSION="2.35"
-PTXCONF_CROSS_BINUTILS_MD5="f5ee1b8aab816dce3badf8513be6dd75"
+PTXCONF_CROSS_BINUTILS_VERSION="2.40"
+PTXCONF_CROSS_BINUTILS_MD5="fe10027c8de77b643ae72bd6de3f7996"
PTXCONF_CROSS_BINUTILS_LICENSE="GPL-2.0-or-later AND LGPL-2.0-or-later GPL-3.0-or-later AND LGPL-3.0-or-later"
PTXCONF_CROSS_BINUTILS_LICENSE_FILES="file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674 file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6"
+PTXCONF_CROSS_BINUTILS_GOLD=y
# PTXCONF_CROSS_ELF2FLT is not set
# PTXCONF_KERNEL_HEADERS is not set
PTXCONF_CROSS_GCC=y
-PTXCONF_CROSS_GCC_VERSION="10.2.1"
-PTXCONF_CROSS_GCC_MD5="b86843def44634eb3c55a4339c347471"
-PTXCONF_CROSS_GCC_DL_VERSION="10-20200822"
+PTXCONF_CROSS_GCC_VERSION="13.1.1"
+PTXCONF_CROSS_GCC_MD5="dac67a127451736b3c3c4ded8cdac304"
+PTXCONF_CROSS_GCC_DL_VERSION="13-20230624"
PTXCONF_CROSS_GCC_PKGVERSION="${PTXCONF_PROJECT} ${PTXCONF_CROSS_GCC_DL_VERSION}"
PTXCONF_CROSS_GCC_SERIES=""
PTXCONF_CROSS_GCC_CONFIG_EXTRA="--with-float=soft --with-fpu=vfp --with-arch=armv7-m --with-mode=thumb"
@@ -82,13 +86,16 @@ PTXCONF_CROSS_GCC_THREADS="single"
PTXCONF_CROSS_GCC_FIRST=y
# PTXCONF_CROSS_LLVM is not set
# PTXCONF_CROSS_CLANG is not set
+# PTXCONF_CROSS_RUSTC is not set
PTXCONF_CROSS_GDB=y
-PTXCONF_CROSS_GDB_VERSION="9.2"
-PTXCONF_CROSS_GDB_MD5="db95524e554870209ab7d9f8fd8dc557"
+PTXCONF_CROSS_GDB_VERSION="13.2"
+PTXCONF_CROSS_GDB_MD5="fbd3cdae16c581e8a742cb766ba35076"
PTXCONF_CROSS_GDB_LICENSE="GPL-2.0-or-later AND LGPL-2.0-or-later GPL-3.0-or-later AND LGPL-3.0-or-later"
PTXCONF_CROSS_GDB_LICENSE_FILES="file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674 file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6"
PTXCONF_CROSS_TOOLCHAIN=y
PTXCONF_HOST_FAKE_MAKEINFO=y
+PTXCONF_HOST_ACL=y
+PTXCONF_HOST_LIBCAP=y
PTXCONF_HOST_M4=y
PTXCONF_HOST_SYSTEM_EXPAT=y
PTXCONF_HOST_SYSTEM_GMP=y
@@ -103,6 +110,7 @@ PTXCONF_HOST_AUTOTOOLS_AUTOCONF=y
PTXCONF_HOST_AUTOTOOLS_AUTOMAKE=y
PTXCONF_HOST_AUTOTOOLS_LIBTOOL=y
PTXCONF_HOST_CHRPATH=y
+PTXCONF_HOST_FAKEROOT=y
#
# ----------------------------------
@@ -124,5 +132,7 @@ PTXCONF_SYSROOT_TARGET="${PTXCONF_SYSROOT_CROSS}${PTXCONF_PREFIX_TARGET}"
PTXCONF_PLATFORM="${PTXCONF_GNU_TARGET}-${PTXCONF_PREFIX_TCID}"
PTXCONF_COMPILER_PREFIX="${PTXCONF_GNU_TARGET}-"
# PTXCONF_TOOLCHAIN_DEBUG is not set
+# end of misc
+
PTXCONF_IMAGE_TOOLCHAIN_TGZ=y
-PTXCONF_CONFIGFILE_VERSION="2020.08.0"
+PTXCONF_CONFIGFILE_VERSION="2023.07.0"
diff --git a/ptxconfigs/arm-v7m-uclinuxeabi_gcc-10.2.1_uclibc-ng-1.0.34_binutils-2.35_kernel-5.8-sanitized.ptxconfig b/ptxconfigs/arm-v7m-uclinuxeabi_gcc-10.2.1_uclibc-ng-1.0.34_binutils-2.35_kernel-5.8-sanitized.ptxconfig
deleted file mode 100644
index 2cad30d..0000000
--- a/ptxconfigs/arm-v7m-uclinuxeabi_gcc-10.2.1_uclibc-ng-1.0.34_binutils-2.35_kernel-5.8-sanitized.ptxconfig
+++ /dev/null
@@ -1,137 +0,0 @@
-#
-# Automatically generated file; DO NOT EDIT.
-# PTXdist 2020.08.0
-#
-PTXCONF__ptxconfig_MAGIC__=y
-PTXCONF_BUILD_TOOLCHAIN=y
-PTXCONF_NO_PLATFORM=y
-PTXCONF_VIRTUAL=y
-PTXCONF_PROJECT="OSELAS.Toolchain-2020.XX.0"
-PTXCONF_PROJECT_CHECK_LICENSES=y
-
-#
-# ----------------------------------
-#
-PTXCONF_ARCH_ARM=y
-# PTXCONF_ARCH_ARM64 is not set
-# PTXCONF_ARCH_M68K is not set
-# PTXCONF_ARCH_MIPS is not set
-# PTXCONF_ARCH_POWERPC is not set
-# PTXCONF_ARCH_I386 is not set
-# PTXCONF_ARCH_X86_64 is not set
-# PTXCONF_ARCH_AVR is not set
-# PTXCONF_ARCH_AVR32 is not set
-# PTXCONF_ARCH_RISCV64 is not set
-PTXCONF_ARCH="arm"
-PTXCONF_GNU_TARGET="arm-v7m-uclinuxeabi"
-PTXCONF_SIZEOF_LONG_DOUBLE="8"
-
-#
-# ----------------------------------
-#
-PTXCONF_LIBC_HEADERS=y
-PTXCONF_LIBC_FIRST=y
-PTXCONF_LIBC=y
-# PTXCONF_LIBC_GLIBC is not set
-PTXCONF_LIBC_UCLIBC=y
-# PTXCONF_LIBC_NEWLIB is not set
-# PTXCONF_LIBC_AVR is not set
-PTXCONF_UCLIBC=y
-PTXCONF_UCLIBC_VERSION="ng-1.0.34"
-PTXCONF_UCLIBC_MD5="e3cf18ff85b79bc0909e8910dd4042c3"
-PTXCONF_UCLIBC_CONFIG="uclibc-${PTXCONF_UCLIBC_VERSION}-${PTXCONF_GNU_TARGET}.config"
-PTXCONF_UCLIBC_LICENSE="LGPL-2.1-or-later"
-PTXCONF_UCLIBC_LICENSE_FILES="file://COPYING.LIB;md5=a6f89e2100d9b6cdffcea4f398e37343"
-PTXCONF_UCLIBC_HEADERS=y
-PTXCONF_UCLIBC_HEADERS_FAKE_CROSS="-D__ARM_EABI__"
-PTXCONF_CROSS_BINUTILS=y
-PTXCONF_CROSS_BINUTILS_VERSION="2.35"
-PTXCONF_CROSS_BINUTILS_MD5="f5ee1b8aab816dce3badf8513be6dd75"
-PTXCONF_CROSS_BINUTILS_LICENSE="GPL-2.0-or-later AND LGPL-2.0-or-later GPL-3.0-or-later AND LGPL-3.0-or-later"
-PTXCONF_CROSS_BINUTILS_LICENSE_FILES="file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674 file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6"
-PTXCONF_CROSS_BINUTILS_LD_REAL=y
-PTXCONF_CROSS_ELF2FLT=y
-PTXCONF_KERNEL_HEADERS=y
-PTXCONF_KERNEL_HEADERS_VERSION="5.8"
-PTXCONF_KERNEL_HEADERS_MD5="0e5c4c15266218ef26c50fac0016095b"
-PTXCONF_KERNEL_HEADERS_SANITIZED=y
-PTXCONF_CROSS_GCC=y
-PTXCONF_CROSS_GCC_VERSION="10.2.1"
-PTXCONF_CROSS_GCC_MD5="b86843def44634eb3c55a4339c347471"
-PTXCONF_CROSS_GCC_DL_VERSION="10-20200822"
-PTXCONF_CROSS_GCC_PKGVERSION="${PTXCONF_PROJECT} ${PTXCONF_CROSS_GCC_DL_VERSION}"
-PTXCONF_CROSS_GCC_SERIES=""
-PTXCONF_CROSS_GCC_CONFIG_EXTRA="--with-float=soft --with-fpu=vfp --with-arch=armv7-m --with-mode=thumb"
-PTXCONF_CROSS_GCC_LICENSE="GPL-2.0-or-later WITH Classpath-exception-2.0 AND LGPL-2.1-or-later AND GPL-3.0-or-later AND GPL-3.0-or-later WITH GCC-exception-3.1 AND LGPL-3.0-or-later"
-PTXCONF_CROSS_GCC_LICENSE_FILES="file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1 file://COPYING.RUNTIME;md5=fe60d87048567d4fe8c8a0ed2448bcc8 file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6"
-PTXCONF_CROSS_GCC_GCCLIBS_LICENSE="GPL-3.0-only WITH GCC-exception-3.1"
-PTXCONF_CROSS_GCC_GCCLIBS_LICENSES="COPYING3 COPYING.RUNTIME"
-
-#
-# Additional supported languages:
-#
-PTXCONF_CROSS_GCC_LANG_C=y
-PTXCONF_CROSS_GCC_LANG_CXX=y
-# PTXCONF_CROSS_GCC_LANG_FORTRAN is not set
-# PTXCONF_CROSS_GCC_LANG_JAVA is not set
-PTXCONF_CROSS_GCC_LANG_OBJC=y
-PTXCONF_CROSS_GCC_LANG_OBJCXX=y
-PTXCONF_CROSS_GCC_ENABLE_CXA_ATEXIT=y
-PTXCONF_CROSS_GCC_CONFIG_CXA_ATEXIT="--enable-__cxa_atexit"
-PTXCONF_CROSS_GCC_DISABLE_SJLJ_EXCEPTIONS=y
-PTXCONF_CROSS_GCC_CONFIG_SJLJ_EXCEPTIONS="--disable-sjlj-exceptions"
-PTXCONF_CROSS_GCC_DISABLE_LIBSSP=y
-PTXCONF_CROSS_GCC_CONFIG_LIBSSP="--disable-libssp"
-PTXCONF_CROSS_GCC_DISABLE_SHARED=y
-PTXCONF_CROSS_GCC_CONFIG_SHARED="--disable-shared"
-PTXCONF_CROSS_GCC_THREADS_SINGLE=y
-PTXCONF_CROSS_GCC_THREADS="single"
-PTXCONF_CROSS_GCC_FIRST=y
-# PTXCONF_CROSS_LLVM is not set
-# PTXCONF_CROSS_CLANG is not set
-PTXCONF_CROSS_GDB=y
-PTXCONF_CROSS_GDB_VERSION="9.2"
-PTXCONF_CROSS_GDB_MD5="db95524e554870209ab7d9f8fd8dc557"
-PTXCONF_CROSS_GDB_LICENSE="GPL-2.0-or-later AND LGPL-2.0-or-later GPL-3.0-or-later AND LGPL-3.0-or-later"
-PTXCONF_CROSS_GDB_LICENSE_FILES="file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674 file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6"
-PTXCONF_CROSS_TOOLCHAIN=y
-PTXCONF_HOST_FAKE_MAKEINFO=y
-PTXCONF_HOST_M4=y
-PTXCONF_HOST_SYSTEM_EXPAT=y
-PTXCONF_HOST_SYSTEM_GMP=y
-PTXCONF_HOST_SYSTEM_ISL=y
-PTXCONF_HOST_SYSTEM_MPC=y
-PTXCONF_HOST_SYSTEM_MPFR=y
-PTXCONF_HOST_SYSTEM_PERL=y
-PTXCONF_HOST_SYSTEM_PYTHON3=y
-PTXCONF_HOST_SYSTEM_XZ=y
-PTXCONF_HOST_SYSTEM_ZLIB=y
-PTXCONF_HOST_AUTOTOOLS_AUTOCONF=y
-PTXCONF_HOST_AUTOTOOLS_AUTOMAKE=y
-PTXCONF_HOST_AUTOTOOLS_LIBTOOL=y
-PTXCONF_HOST_CHRPATH=y
-
-#
-# ----------------------------------
-#
-PTXCONF_TOOLCHAIN_ENABLE_SYSROOT=y
-PTXCONF_TOOLCHAIN_CONFIG_SYSROOT="--with-build-sysroot=${SYSROOT} --with-sysroot=${PTXCONF_PREFIX_TARGET}"
-PTXCONF_TOOLCHAIN_DISABLE_MULTILIB=y
-PTXCONF_TOOLCHAIN_CONFIG_MULTILIB="--disable-multilib"
-
-#
-# misc
-#
-PTXCONF_PREFIX="/opt"
-PTXCONF_PREFIX_KERNEL="-sanitized"
-PTXCONF_PREFIX_TCID="gcc-${PTXCONF_CROSS_GCC_VERSION}${PTXCONF_PREFIX_JAVA}-uclibc-${PTXCONF_UCLIBC_VERSION}-binutils-${PTXCONF_CROSS_BINUTILS_VERSION}-kernel-${PTXCONF_KERNEL_HEADERS_VERSION}${PTXCONF_PREFIX_KERNEL}"
-PTXCONF_SYSROOT_HOST="${PTXDIST_PLATFORMDIR}/sysroot-host"
-PTXCONF_PREFIX_CROSS="${PTXCONF_PREFIX}/${PTXCONF_PROJECT}/${PTXCONF_GNU_TARGET}/${PTXCONF_PREFIX_TCID}"
-PTXCONF_SYSROOT_CROSS="${PTXDIST_PLATFORMDIR}/sysroot-cross"
-PTXCONF_PREFIX_TARGET="${PTXCONF_PREFIX_CROSS}/sysroot-${PTXCONF_GNU_TARGET}"
-PTXCONF_SYSROOT_TARGET="${PTXCONF_SYSROOT_CROSS}${PTXCONF_PREFIX_TARGET}"
-PTXCONF_PLATFORM="${PTXCONF_GNU_TARGET}-${PTXCONF_PREFIX_TCID}"
-PTXCONF_COMPILER_PREFIX="${PTXCONF_GNU_TARGET}-"
-# PTXCONF_TOOLCHAIN_DEBUG is not set
-PTXCONF_IMAGE_TOOLCHAIN_TGZ=y
-PTXCONF_CONFIGFILE_VERSION="2020.08.0"
diff --git a/ptxconfigs/i586-unknown-linux-gnu_gcc-10.2.1_glibc-2.32_binutils-2.35_kernel-5.8-sanitized.ptxconfig b/ptxconfigs/i586-unknown-linux-gnu_gcc-13.1.1_glibc-2.37_binutils-2.40_kernel-6.3.6-sanitized.ptxconfig
index c16617e..65e8863 100644
--- a/ptxconfigs/i586-unknown-linux-gnu_gcc-10.2.1_glibc-2.32_binutils-2.35_kernel-5.8-sanitized.ptxconfig
+++ b/ptxconfigs/i586-unknown-linux-gnu_gcc-13.1.1_glibc-2.37_binutils-2.40_kernel-6.3.6-sanitized.ptxconfig
@@ -1,13 +1,14 @@
#
# Automatically generated file; DO NOT EDIT.
-# PTXdist 2020.08.0
+# PTXdist 2023.07.0
#
PTXCONF__ptxconfig_MAGIC__=y
PTXCONF_BUILD_TOOLCHAIN=y
PTXCONF_NO_PLATFORM=y
PTXCONF_VIRTUAL=y
-PTXCONF_PROJECT="OSELAS.Toolchain-2020.XX.0"
+PTXCONF_PROJECT="OSELAS.Toolchain-2023.07.0"
PTXCONF_PROJECT_CHECK_LICENSES=y
+PTXCONF_BASE=y
#
# ----------------------------------
@@ -16,12 +17,14 @@ PTXCONF_PROJECT_CHECK_LICENSES=y
# PTXCONF_ARCH_ARM64 is not set
# PTXCONF_ARCH_M68K is not set
# PTXCONF_ARCH_MIPS is not set
+# PTXCONF_ARCH_MIPS64 is not set
# PTXCONF_ARCH_POWERPC is not set
PTXCONF_ARCH_I386=y
# PTXCONF_ARCH_X86_64 is not set
# PTXCONF_ARCH_AVR is not set
# PTXCONF_ARCH_AVR32 is not set
# PTXCONF_ARCH_RISCV64 is not set
+# PTXCONF_ARCH_LOONGARCH is not set
PTXCONF_ARCH="i386"
PTXCONF_GNU_TARGET="i586-unknown-linux-gnu"
PTXCONF_SIZEOF_LONG_DOUBLE="12"
@@ -40,31 +43,32 @@ PTXCONF_GLIBC_HEADERS=y
PTXCONF_GLIBC_CRT=y
PTXCONF_GLIBC_FIRST=y
PTXCONF_GLIBC=y
-PTXCONF_GLIBC_VERSION="2.32"
-PTXCONF_GLIBC_DL_VERSION="2.32"
-PTXCONF_GLIBC_MD5="9ccf64ce8976baa21d85dc550ee9f145"
+PTXCONF_GLIBC_VERSION="2.37"
+PTXCONF_GLIBC_DL_VERSION="2.37-22-g3593050c27dc"
+PTXCONF_GLIBC_MD5="f0f89e0ad0929acece926fcfc2a1798f"
PTXCONF_GLIBC_LICENSE="GPL-2.0-or-later AND LGPL-2.1-or-later"
PTXCONF_GLIBC_LICENSE_FILES="file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c file://LICENSES;md5=1541fd8f5e8f1579512bf05f533371ba"
PTXCONF_GLIBC_TIMESTAMP=""
PTXCONF_GLIBC_SERIES=""
-PTXCONF_GLIBC_ENABLE_KERNEL="3.16"
+PTXCONF_GLIBC_ENABLE_KERNEL="4.19"
PTXCONF_GLIBC_CONFIG_EXTRA=""
-PTXCONF_GLIBC_CONFIG_EXTRA_CROSS="--enable-stackguard-randomization --enable-stack-protector=strong"
+PTXCONF_GLIBC_CONFIG_EXTRA_CROSS="--enable-stack-protector=strong"
PTXCONF_GLIBC_HEADERS_FAKE_CROSS=""
PTXCONF_CROSS_BINUTILS=y
-PTXCONF_CROSS_BINUTILS_VERSION="2.35"
-PTXCONF_CROSS_BINUTILS_MD5="f5ee1b8aab816dce3badf8513be6dd75"
+PTXCONF_CROSS_BINUTILS_VERSION="2.40"
+PTXCONF_CROSS_BINUTILS_MD5="fe10027c8de77b643ae72bd6de3f7996"
PTXCONF_CROSS_BINUTILS_LICENSE="GPL-2.0-or-later AND LGPL-2.0-or-later GPL-3.0-or-later AND LGPL-3.0-or-later"
PTXCONF_CROSS_BINUTILS_LICENSE_FILES="file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674 file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6"
+PTXCONF_CROSS_BINUTILS_GOLD=y
# PTXCONF_CROSS_ELF2FLT is not set
PTXCONF_KERNEL_HEADERS=y
-PTXCONF_KERNEL_HEADERS_VERSION="5.8"
-PTXCONF_KERNEL_HEADERS_MD5="0e5c4c15266218ef26c50fac0016095b"
+PTXCONF_KERNEL_HEADERS_VERSION="6.3.6"
+PTXCONF_KERNEL_HEADERS_MD5="b30b7e0367fee0505eecbef74d852256"
PTXCONF_KERNEL_HEADERS_SANITIZED=y
PTXCONF_CROSS_GCC=y
-PTXCONF_CROSS_GCC_VERSION="10.2.1"
-PTXCONF_CROSS_GCC_MD5="b86843def44634eb3c55a4339c347471"
-PTXCONF_CROSS_GCC_DL_VERSION="10-20200822"
+PTXCONF_CROSS_GCC_VERSION="13.1.1"
+PTXCONF_CROSS_GCC_MD5="dac67a127451736b3c3c4ded8cdac304"
+PTXCONF_CROSS_GCC_DL_VERSION="13-20230624"
PTXCONF_CROSS_GCC_PKGVERSION="${PTXCONF_PROJECT} ${PTXCONF_CROSS_GCC_DL_VERSION}"
PTXCONF_CROSS_GCC_SERIES=""
PTXCONF_CROSS_GCC_CONFIG_EXTRA="--with-arch=i586 --enable-linker-build-id"
@@ -78,7 +82,7 @@ PTXCONF_CROSS_GCC_GCCLIBS_LICENSES="COPYING3 COPYING.RUNTIME"
#
PTXCONF_CROSS_GCC_LANG_C=y
PTXCONF_CROSS_GCC_LANG_CXX=y
-# PTXCONF_CROSS_GCC_LANG_FORTRAN is not set
+PTXCONF_CROSS_GCC_LANG_FORTRAN=y
# PTXCONF_CROSS_GCC_LANG_JAVA is not set
PTXCONF_CROSS_GCC_LANG_OBJC=y
PTXCONF_CROSS_GCC_LANG_OBJCXX=y
@@ -95,13 +99,16 @@ PTXCONF_CROSS_GCC_THREADS="posix"
PTXCONF_CROSS_GCC_FIRST=y
# PTXCONF_CROSS_LLVM is not set
# PTXCONF_CROSS_CLANG is not set
+# PTXCONF_CROSS_RUSTC is not set
PTXCONF_CROSS_GDB=y
-PTXCONF_CROSS_GDB_VERSION="9.2"
-PTXCONF_CROSS_GDB_MD5="db95524e554870209ab7d9f8fd8dc557"
+PTXCONF_CROSS_GDB_VERSION="13.2"
+PTXCONF_CROSS_GDB_MD5="fbd3cdae16c581e8a742cb766ba35076"
PTXCONF_CROSS_GDB_LICENSE="GPL-2.0-or-later AND LGPL-2.0-or-later GPL-3.0-or-later AND LGPL-3.0-or-later"
PTXCONF_CROSS_GDB_LICENSE_FILES="file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674 file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6"
PTXCONF_CROSS_TOOLCHAIN=y
PTXCONF_HOST_FAKE_MAKEINFO=y
+PTXCONF_HOST_ACL=y
+PTXCONF_HOST_LIBCAP=y
PTXCONF_HOST_M4=y
PTXCONF_HOST_SYSTEM_EXPAT=y
PTXCONF_HOST_SYSTEM_GMP=y
@@ -116,6 +123,7 @@ PTXCONF_HOST_AUTOTOOLS_AUTOCONF=y
PTXCONF_HOST_AUTOTOOLS_AUTOMAKE=y
PTXCONF_HOST_AUTOTOOLS_LIBTOOL=y
PTXCONF_HOST_CHRPATH=y
+PTXCONF_HOST_FAKEROOT=y
#
# ----------------------------------
@@ -139,5 +147,7 @@ PTXCONF_SYSROOT_TARGET="${PTXCONF_SYSROOT_CROSS}${PTXCONF_PREFIX_TARGET}"
PTXCONF_PLATFORM="${PTXCONF_GNU_TARGET}-${PTXCONF_PREFIX_TCID}"
PTXCONF_COMPILER_PREFIX="${PTXCONF_GNU_TARGET}-"
# PTXCONF_TOOLCHAIN_DEBUG is not set
+# end of misc
+
PTXCONF_IMAGE_TOOLCHAIN_TGZ=y
-PTXCONF_CONFIGFILE_VERSION="2020.08.0"
+PTXCONF_CONFIGFILE_VERSION="2023.07.0"
diff --git a/ptxconfigs/i686-atom-linux-gnu_gcc-10.2.1_glibc-2.32_binutils-2.35_kernel-5.8-sanitized.ptxconfig b/ptxconfigs/i686-atom-linux-gnu_gcc-13.1.1_glibc-2.37_binutils-2.40_kernel-6.3.6-sanitized.ptxconfig
index 28b918a..c0c85aa 100644
--- a/ptxconfigs/i686-atom-linux-gnu_gcc-10.2.1_glibc-2.32_binutils-2.35_kernel-5.8-sanitized.ptxconfig
+++ b/ptxconfigs/i686-atom-linux-gnu_gcc-13.1.1_glibc-2.37_binutils-2.40_kernel-6.3.6-sanitized.ptxconfig
@@ -1,13 +1,14 @@
#
# Automatically generated file; DO NOT EDIT.
-# PTXdist 2020.08.0
+# PTXdist 2023.07.0
#
PTXCONF__ptxconfig_MAGIC__=y
PTXCONF_BUILD_TOOLCHAIN=y
PTXCONF_NO_PLATFORM=y
PTXCONF_VIRTUAL=y
-PTXCONF_PROJECT="OSELAS.Toolchain-2020.XX.0"
+PTXCONF_PROJECT="OSELAS.Toolchain-2023.07.0"
PTXCONF_PROJECT_CHECK_LICENSES=y
+PTXCONF_BASE=y
#
# ----------------------------------
@@ -16,12 +17,14 @@ PTXCONF_PROJECT_CHECK_LICENSES=y
# PTXCONF_ARCH_ARM64 is not set
# PTXCONF_ARCH_M68K is not set
# PTXCONF_ARCH_MIPS is not set
+# PTXCONF_ARCH_MIPS64 is not set
# PTXCONF_ARCH_POWERPC is not set
PTXCONF_ARCH_I386=y
# PTXCONF_ARCH_X86_64 is not set
# PTXCONF_ARCH_AVR is not set
# PTXCONF_ARCH_AVR32 is not set
# PTXCONF_ARCH_RISCV64 is not set
+# PTXCONF_ARCH_LOONGARCH is not set
PTXCONF_ARCH="i386"
PTXCONF_GNU_TARGET="i686-atom-linux-gnu"
PTXCONF_SIZEOF_LONG_DOUBLE="12"
@@ -40,31 +43,32 @@ PTXCONF_GLIBC_HEADERS=y
PTXCONF_GLIBC_CRT=y
PTXCONF_GLIBC_FIRST=y
PTXCONF_GLIBC=y
-PTXCONF_GLIBC_VERSION="2.32"
-PTXCONF_GLIBC_DL_VERSION="2.32"
-PTXCONF_GLIBC_MD5="9ccf64ce8976baa21d85dc550ee9f145"
+PTXCONF_GLIBC_VERSION="2.37"
+PTXCONF_GLIBC_DL_VERSION="2.37-22-g3593050c27dc"
+PTXCONF_GLIBC_MD5="f0f89e0ad0929acece926fcfc2a1798f"
PTXCONF_GLIBC_LICENSE="GPL-2.0-or-later AND LGPL-2.1-or-later"
PTXCONF_GLIBC_LICENSE_FILES="file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c file://LICENSES;md5=1541fd8f5e8f1579512bf05f533371ba"
PTXCONF_GLIBC_TIMESTAMP=""
PTXCONF_GLIBC_SERIES=""
-PTXCONF_GLIBC_ENABLE_KERNEL="3.16"
+PTXCONF_GLIBC_ENABLE_KERNEL="4.19"
PTXCONF_GLIBC_CONFIG_EXTRA=""
-PTXCONF_GLIBC_CONFIG_EXTRA_CROSS="--enable-stackguard-randomization --enable-stack-protector=strong"
+PTXCONF_GLIBC_CONFIG_EXTRA_CROSS="--enable-stack-protector=strong"
PTXCONF_GLIBC_HEADERS_FAKE_CROSS=""
PTXCONF_CROSS_BINUTILS=y
-PTXCONF_CROSS_BINUTILS_VERSION="2.35"
-PTXCONF_CROSS_BINUTILS_MD5="f5ee1b8aab816dce3badf8513be6dd75"
+PTXCONF_CROSS_BINUTILS_VERSION="2.40"
+PTXCONF_CROSS_BINUTILS_MD5="fe10027c8de77b643ae72bd6de3f7996"
PTXCONF_CROSS_BINUTILS_LICENSE="GPL-2.0-or-later AND LGPL-2.0-or-later GPL-3.0-or-later AND LGPL-3.0-or-later"
PTXCONF_CROSS_BINUTILS_LICENSE_FILES="file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674 file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6"
+PTXCONF_CROSS_BINUTILS_GOLD=y
# PTXCONF_CROSS_ELF2FLT is not set
PTXCONF_KERNEL_HEADERS=y
-PTXCONF_KERNEL_HEADERS_VERSION="5.8"
-PTXCONF_KERNEL_HEADERS_MD5="0e5c4c15266218ef26c50fac0016095b"
+PTXCONF_KERNEL_HEADERS_VERSION="6.3.6"
+PTXCONF_KERNEL_HEADERS_MD5="b30b7e0367fee0505eecbef74d852256"
PTXCONF_KERNEL_HEADERS_SANITIZED=y
PTXCONF_CROSS_GCC=y
-PTXCONF_CROSS_GCC_VERSION="10.2.1"
-PTXCONF_CROSS_GCC_MD5="b86843def44634eb3c55a4339c347471"
-PTXCONF_CROSS_GCC_DL_VERSION="10-20200822"
+PTXCONF_CROSS_GCC_VERSION="13.1.1"
+PTXCONF_CROSS_GCC_MD5="dac67a127451736b3c3c4ded8cdac304"
+PTXCONF_CROSS_GCC_DL_VERSION="13-20230624"
PTXCONF_CROSS_GCC_PKGVERSION="${PTXCONF_PROJECT} ${PTXCONF_CROSS_GCC_DL_VERSION}"
PTXCONF_CROSS_GCC_SERIES=""
PTXCONF_CROSS_GCC_CONFIG_EXTRA="--with-arch=atom --with-fpmath=sse --with-specs='%{!mmovbe:%{!mno-movbe:-mno-movbe}}' --enable-linker-build-id"
@@ -78,7 +82,7 @@ PTXCONF_CROSS_GCC_GCCLIBS_LICENSES="COPYING3 COPYING.RUNTIME"
#
PTXCONF_CROSS_GCC_LANG_C=y
PTXCONF_CROSS_GCC_LANG_CXX=y
-# PTXCONF_CROSS_GCC_LANG_FORTRAN is not set
+PTXCONF_CROSS_GCC_LANG_FORTRAN=y
# PTXCONF_CROSS_GCC_LANG_JAVA is not set
PTXCONF_CROSS_GCC_LANG_OBJC=y
PTXCONF_CROSS_GCC_LANG_OBJCXX=y
@@ -95,13 +99,16 @@ PTXCONF_CROSS_GCC_THREADS="posix"
PTXCONF_CROSS_GCC_FIRST=y
# PTXCONF_CROSS_LLVM is not set
# PTXCONF_CROSS_CLANG is not set
+# PTXCONF_CROSS_RUSTC is not set
PTXCONF_CROSS_GDB=y
-PTXCONF_CROSS_GDB_VERSION="9.2"
-PTXCONF_CROSS_GDB_MD5="db95524e554870209ab7d9f8fd8dc557"
+PTXCONF_CROSS_GDB_VERSION="13.2"
+PTXCONF_CROSS_GDB_MD5="fbd3cdae16c581e8a742cb766ba35076"
PTXCONF_CROSS_GDB_LICENSE="GPL-2.0-or-later AND LGPL-2.0-or-later GPL-3.0-or-later AND LGPL-3.0-or-later"
PTXCONF_CROSS_GDB_LICENSE_FILES="file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674 file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6"
PTXCONF_CROSS_TOOLCHAIN=y
PTXCONF_HOST_FAKE_MAKEINFO=y
+PTXCONF_HOST_ACL=y
+PTXCONF_HOST_LIBCAP=y
PTXCONF_HOST_M4=y
PTXCONF_HOST_SYSTEM_EXPAT=y
PTXCONF_HOST_SYSTEM_GMP=y
@@ -116,6 +123,7 @@ PTXCONF_HOST_AUTOTOOLS_AUTOCONF=y
PTXCONF_HOST_AUTOTOOLS_AUTOMAKE=y
PTXCONF_HOST_AUTOTOOLS_LIBTOOL=y
PTXCONF_HOST_CHRPATH=y
+PTXCONF_HOST_FAKEROOT=y
#
# ----------------------------------
@@ -139,5 +147,7 @@ PTXCONF_SYSROOT_TARGET="${PTXCONF_SYSROOT_CROSS}${PTXCONF_PREFIX_TARGET}"
PTXCONF_PLATFORM="${PTXCONF_GNU_TARGET}-${PTXCONF_PREFIX_TCID}"
PTXCONF_COMPILER_PREFIX="${PTXCONF_GNU_TARGET}-"
# PTXCONF_TOOLCHAIN_DEBUG is not set
+# end of misc
+
PTXCONF_IMAGE_TOOLCHAIN_TGZ=y
-PTXCONF_CONFIGFILE_VERSION="2020.08.0"
+PTXCONF_CONFIGFILE_VERSION="2023.07.0"
diff --git a/ptxconfigs/loongarch64-linux-gnu_gcc-13.1.1_clang-16.0.6_glibc-2.37_binutils-2.40_kernel-6.3.6-sanitized.ptxconfig b/ptxconfigs/loongarch64-linux-gnu_gcc-13.1.1_clang-16.0.6_glibc-2.37_binutils-2.40_kernel-6.3.6-sanitized.ptxconfig
new file mode 100644
index 0000000..61a8e62
--- /dev/null
+++ b/ptxconfigs/loongarch64-linux-gnu_gcc-13.1.1_clang-16.0.6_glibc-2.37_binutils-2.40_kernel-6.3.6-sanitized.ptxconfig
@@ -0,0 +1,178 @@
+#
+# Automatically generated file; DO NOT EDIT.
+# PTXdist 2023.07.0
+#
+PTXCONF__ptxconfig_MAGIC__=y
+PTXCONF_BUILD_TOOLCHAIN=y
+PTXCONF_NO_PLATFORM=y
+PTXCONF_VIRTUAL=y
+PTXCONF_PROJECT="OSELAS.Toolchain-2023.07.0"
+PTXCONF_PROJECT_CHECK_LICENSES=y
+PTXCONF_BASE=y
+
+#
+# ----------------------------------
+#
+# PTXCONF_ARCH_ARM is not set
+# PTXCONF_ARCH_ARM64 is not set
+# PTXCONF_ARCH_M68K is not set
+# PTXCONF_ARCH_MIPS is not set
+# PTXCONF_ARCH_MIPS64 is not set
+# PTXCONF_ARCH_POWERPC is not set
+# PTXCONF_ARCH_I386 is not set
+# PTXCONF_ARCH_X86_64 is not set
+# PTXCONF_ARCH_AVR is not set
+# PTXCONF_ARCH_AVR32 is not set
+# PTXCONF_ARCH_RISCV64 is not set
+PTXCONF_ARCH_LOONGARCH=y
+PTXCONF_ARCH="loongarch"
+PTXCONF_GNU_TARGET="loongarch64-linux-gnu"
+PTXCONF_SIZEOF_LONG_DOUBLE="16"
+
+#
+# ----------------------------------
+#
+PTXCONF_LIBC_HEADERS=y
+PTXCONF_LIBC_FIRST=y
+PTXCONF_LIBC=y
+PTXCONF_LIBC_GLIBC=y
+# PTXCONF_LIBC_UCLIBC is not set
+# PTXCONF_LIBC_NEWLIB is not set
+# PTXCONF_LIBC_AVR is not set
+PTXCONF_GLIBC_HEADERS=y
+PTXCONF_GLIBC_CRT=y
+PTXCONF_GLIBC_FIRST=y
+PTXCONF_GLIBC=y
+PTXCONF_GLIBC_VERSION="2.37"
+PTXCONF_GLIBC_DL_VERSION="2.37-22-g3593050c27dc"
+PTXCONF_GLIBC_MD5="f0f89e0ad0929acece926fcfc2a1798f"
+PTXCONF_GLIBC_LICENSE="GPL-2.0-or-later AND LGPL-2.1-or-later"
+PTXCONF_GLIBC_LICENSE_FILES="file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c file://LICENSES;md5=1541fd8f5e8f1579512bf05f533371ba"
+PTXCONF_GLIBC_TIMESTAMP=""
+PTXCONF_GLIBC_SERIES=""
+PTXCONF_GLIBC_ENABLE_KERNEL="4.19"
+PTXCONF_GLIBC_CONFIG_EXTRA=""
+PTXCONF_GLIBC_CONFIG_EXTRA_CROSS="--enable-stack-protector=strong"
+PTXCONF_GLIBC_HEADERS_FAKE_CROSS="-D__loongarch -D__loongarch_lp64 -D__loongarch_double_float"
+PTXCONF_CROSS_BINUTILS=y
+PTXCONF_CROSS_BINUTILS_VERSION="2.40"
+PTXCONF_CROSS_BINUTILS_MD5="fe10027c8de77b643ae72bd6de3f7996"
+PTXCONF_CROSS_BINUTILS_LICENSE="GPL-2.0-or-later AND LGPL-2.0-or-later GPL-3.0-or-later AND LGPL-3.0-or-later"
+PTXCONF_CROSS_BINUTILS_LICENSE_FILES="file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674 file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6"
+# PTXCONF_CROSS_BINUTILS_GOLD is not set
+# PTXCONF_CROSS_ELF2FLT is not set
+PTXCONF_KERNEL_HEADERS=y
+PTXCONF_KERNEL_HEADERS_VERSION="6.3.6"
+PTXCONF_KERNEL_HEADERS_MD5="b30b7e0367fee0505eecbef74d852256"
+PTXCONF_KERNEL_HEADERS_SANITIZED=y
+PTXCONF_CROSS_GCC=y
+PTXCONF_CROSS_GCC_VERSION="13.1.1"
+PTXCONF_CROSS_GCC_MD5="dac67a127451736b3c3c4ded8cdac304"
+PTXCONF_CROSS_GCC_DL_VERSION="13-20230624"
+PTXCONF_CROSS_GCC_PKGVERSION="${PTXCONF_PROJECT} ${PTXCONF_CROSS_GCC_DL_VERSION}"
+PTXCONF_CROSS_GCC_SERIES=""
+PTXCONF_CROSS_GCC_CONFIG_EXTRA=" --enable-linker-build-id"
+PTXCONF_CROSS_GCC_LICENSE="GPL-2.0-or-later WITH Classpath-exception-2.0 AND LGPL-2.1-or-later AND GPL-3.0-or-later AND GPL-3.0-or-later WITH GCC-exception-3.1 AND LGPL-3.0-or-later"
+PTXCONF_CROSS_GCC_LICENSE_FILES="file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1 file://COPYING.RUNTIME;md5=fe60d87048567d4fe8c8a0ed2448bcc8 file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6"
+PTXCONF_CROSS_GCC_GCCLIBS_LICENSE="GPL-3.0-only WITH GCC-exception-3.1"
+PTXCONF_CROSS_GCC_GCCLIBS_LICENSES="COPYING3 COPYING.RUNTIME"
+
+#
+# Additional supported languages:
+#
+PTXCONF_CROSS_GCC_LANG_C=y
+PTXCONF_CROSS_GCC_LANG_CXX=y
+PTXCONF_CROSS_GCC_LANG_FORTRAN=y
+# PTXCONF_CROSS_GCC_LANG_JAVA is not set
+PTXCONF_CROSS_GCC_LANG_OBJC=y
+PTXCONF_CROSS_GCC_LANG_OBJCXX=y
+PTXCONF_CROSS_GCC_ENABLE_CXA_ATEXIT=y
+PTXCONF_CROSS_GCC_CONFIG_CXA_ATEXIT="--enable-__cxa_atexit"
+PTXCONF_CROSS_GCC_DISABLE_SJLJ_EXCEPTIONS=y
+PTXCONF_CROSS_GCC_CONFIG_SJLJ_EXCEPTIONS="--disable-sjlj-exceptions"
+PTXCONF_CROSS_GCC_DISABLE_LIBSSP=y
+PTXCONF_CROSS_GCC_CONFIG_LIBSSP="--disable-libssp"
+PTXCONF_CROSS_GCC_ENABLE_SHARED=y
+PTXCONF_CROSS_GCC_CONFIG_SHARED="--enable-shared"
+PTXCONF_CROSS_GCC_THREADS_POSIX=y
+PTXCONF_CROSS_GCC_THREADS="posix"
+PTXCONF_CROSS_GCC_FIRST=y
+PTXCONF_CROSS_LLVM=y
+PTXCONF_CROSS_LLVM_VERSION="16.0.6"
+PTXCONF_CROSS_LLVM_MD5="7d986cda69719a35bd5ecb266fcf1f65"
+PTXCONF_CROSS_LLVM_CMAKE_MODULES_MD5="b7830bb90e376c90a43c2c190a0a5ffa"
+PTXCONF_CROSS_LLVM_LICENSE="Apache-2.0 WITH LLVM-exception AND NCSA"
+PTXCONF_CROSS_LLVM_LICENSE_FILES="file://LICENSE.TXT;md5=8a15a0759ef07f2682d2ba4b893c9afe"
+PTXCONF_CROSS_CLANG=y
+PTXCONF_CROSS_CLANG_VERSION="${PTXCONF_CROSS_LLVM_VERSION}"
+PTXCONF_CROSS_CLANG_MD5="70053a666251fdcabc466ea4a0275972"
+PTXCONF_CROSS_CLANG_LICENSE="Apache-2.0 WITH LLVM-exception AND NCSA"
+PTXCONF_CROSS_CLANG_LICENSE_FILES="file://LICENSE.TXT;md5=ff42885ed2ab98f1ecb8c1fc41205343"
+PTXCONF_CROSS_LLD=y
+PTXCONF_CROSS_LLD_VERSION="${PTXCONF_CROSS_LLVM_VERSION}"
+PTXCONF_CROSS_LLD_MD5="9c9530a0853624a869917853a2da2bd1"
+PTXCONF_CROSS_LLD_LICENSE="Apache-2.0 WITH LLVM-exception AND NCSA"
+PTXCONF_CROSS_LLD_LICENSE_FILES="file://LICENSE.TXT;md5=ae7dc7c027b1fa89b5b013d391d3ee2b"
+PTXCONF_CROSS_RUSTC=y
+PTXCONF_CROSS_RUSTC_VERSION="1.70.0"
+PTXCONF_CROSS_RUSTC_MD5="165792a4266021589b2d6061f208755f"
+PTXCONF_CROSS_RUSTC_TARGET="${PTXCONF_GNU_TARGET}"
+PTXCONF_CROSS_RUSTC_BUILD_VERSION="1.69.0"
+PTXCONF_CROSS_RUSTC_BUILD_DATE="2023-04-20"
+PTXCONF_CROSS_RUSTC_BUILD_STD_MD5="d9649027934eeb364f3b9ac4f2c1d1ff"
+PTXCONF_CROSS_RUSTC_BUILD_RUSTC_MD5="115ced745660c1659c54e69c44f4dd47"
+PTXCONF_CROSS_RUSTC_BUILD_CARGO_MD5="b208debb640360059b98948b0aa939fb"
+PTXCONF_CROSS_GDB=y
+PTXCONF_CROSS_GDB_VERSION="13.2"
+PTXCONF_CROSS_GDB_MD5="fbd3cdae16c581e8a742cb766ba35076"
+PTXCONF_CROSS_GDB_LICENSE="GPL-2.0-or-later AND LGPL-2.0-or-later GPL-3.0-or-later AND LGPL-3.0-or-later"
+PTXCONF_CROSS_GDB_LICENSE_FILES="file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674 file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6"
+PTXCONF_CROSS_TOOLCHAIN=y
+PTXCONF_HOST_FAKE_MAKEINFO=y
+PTXCONF_HOST_ACL=y
+PTXCONF_HOST_CMAKE=y
+PTXCONF_HOST_LIBCAP=y
+PTXCONF_HOST_M4=y
+PTXCONF_HOST_NINJA=y
+PTXCONF_HOST_SYSTEM_EXPAT=y
+PTXCONF_HOST_SYSTEM_GMP=y
+PTXCONF_HOST_SYSTEM_ISL=y
+PTXCONF_HOST_SYSTEM_MPC=y
+PTXCONF_HOST_SYSTEM_MPFR=y
+PTXCONF_HOST_SYSTEM_OPENSSL=y
+PTXCONF_HOST_SYSTEM_PERL=y
+PTXCONF_HOST_SYSTEM_PYTHON3=y
+PTXCONF_HOST_SYSTEM_XZ=y
+PTXCONF_HOST_SYSTEM_ZLIB=y
+PTXCONF_HOST_AUTOTOOLS_AUTOCONF=y
+PTXCONF_HOST_AUTOTOOLS_AUTOMAKE=y
+PTXCONF_HOST_AUTOTOOLS_LIBTOOL=y
+PTXCONF_HOST_CHRPATH=y
+PTXCONF_HOST_FAKEROOT=y
+
+#
+# ----------------------------------
+#
+PTXCONF_TOOLCHAIN_ENABLE_SYSROOT=y
+PTXCONF_TOOLCHAIN_CONFIG_SYSROOT="--with-build-sysroot=${SYSROOT} --with-sysroot=${PTXCONF_PREFIX_TARGET}"
+PTXCONF_TOOLCHAIN_DISABLE_MULTILIB=y
+PTXCONF_TOOLCHAIN_CONFIG_MULTILIB="--disable-multilib"
+
+#
+# misc
+#
+PTXCONF_PREFIX="/opt"
+PTXCONF_PREFIX_KERNEL="-sanitized"
+PTXCONF_PREFIX_TCID="gcc-${PTXCONF_CROSS_GCC_VERSION}${PTXCONF_PREFIX_JAVA}-clang-${PTXCONF_CROSS_CLANG_VERSION}-glibc-${PTXCONF_GLIBC_VERSION}-binutils-${PTXCONF_CROSS_BINUTILS_VERSION}-kernel-${PTXCONF_KERNEL_HEADERS_VERSION}${PTXCONF_PREFIX_KERNEL}"
+PTXCONF_SYSROOT_HOST="${PTXDIST_PLATFORMDIR}/sysroot-host"
+PTXCONF_PREFIX_CROSS="${PTXCONF_PREFIX}/${PTXCONF_PROJECT}/${PTXCONF_GNU_TARGET}/${PTXCONF_PREFIX_TCID}"
+PTXCONF_SYSROOT_CROSS="${PTXDIST_PLATFORMDIR}/sysroot-cross"
+PTXCONF_PREFIX_TARGET="${PTXCONF_PREFIX_CROSS}/sysroot-${PTXCONF_GNU_TARGET}"
+PTXCONF_SYSROOT_TARGET="${PTXCONF_SYSROOT_CROSS}${PTXCONF_PREFIX_TARGET}"
+PTXCONF_PLATFORM="${PTXCONF_GNU_TARGET}-${PTXCONF_PREFIX_TCID}"
+PTXCONF_COMPILER_PREFIX="${PTXCONF_GNU_TARGET}-"
+# PTXCONF_TOOLCHAIN_DEBUG is not set
+# end of misc
+
+PTXCONF_IMAGE_TOOLCHAIN_TGZ=y
+PTXCONF_CONFIGFILE_VERSION="2023.07.0"
diff --git a/ptxconfigs/mips-softfloat-linux-gnu_gcc-10.2.1_glibc-2.32_binutils-2.35_kernel-5.8-sanitized.ptxconfig b/ptxconfigs/mips-softfloat-linux-gnu_gcc-13.1.1_glibc-2.37_binutils-2.40_kernel-6.3.6-sanitized.ptxconfig
index 757477f..5c00e51 100644
--- a/ptxconfigs/mips-softfloat-linux-gnu_gcc-10.2.1_glibc-2.32_binutils-2.35_kernel-5.8-sanitized.ptxconfig
+++ b/ptxconfigs/mips-softfloat-linux-gnu_gcc-13.1.1_glibc-2.37_binutils-2.40_kernel-6.3.6-sanitized.ptxconfig
@@ -1,13 +1,14 @@
#
# Automatically generated file; DO NOT EDIT.
-# PTXdist 2020.08.0
+# PTXdist 2023.07.0
#
PTXCONF__ptxconfig_MAGIC__=y
PTXCONF_BUILD_TOOLCHAIN=y
PTXCONF_NO_PLATFORM=y
PTXCONF_VIRTUAL=y
-PTXCONF_PROJECT="OSELAS.Toolchain-2020.XX.0"
+PTXCONF_PROJECT="OSELAS.Toolchain-2023.07.0"
PTXCONF_PROJECT_CHECK_LICENSES=y
+PTXCONF_BASE=y
#
# ----------------------------------
@@ -16,12 +17,14 @@ PTXCONF_PROJECT_CHECK_LICENSES=y
# PTXCONF_ARCH_ARM64 is not set
# PTXCONF_ARCH_M68K is not set
PTXCONF_ARCH_MIPS=y
+# PTXCONF_ARCH_MIPS64 is not set
# PTXCONF_ARCH_POWERPC is not set
# PTXCONF_ARCH_I386 is not set
# PTXCONF_ARCH_X86_64 is not set
# PTXCONF_ARCH_AVR is not set
# PTXCONF_ARCH_AVR32 is not set
# PTXCONF_ARCH_RISCV64 is not set
+# PTXCONF_ARCH_LOONGARCH is not set
PTXCONF_ARCH="mips"
PTXCONF_GNU_TARGET="mips-softfloat-linux-gnu"
PTXCONF_SIZEOF_LONG_DOUBLE="8"
@@ -40,31 +43,32 @@ PTXCONF_GLIBC_HEADERS=y
PTXCONF_GLIBC_CRT=y
PTXCONF_GLIBC_FIRST=y
PTXCONF_GLIBC=y
-PTXCONF_GLIBC_VERSION="2.32"
-PTXCONF_GLIBC_DL_VERSION="2.32"
-PTXCONF_GLIBC_MD5="9ccf64ce8976baa21d85dc550ee9f145"
+PTXCONF_GLIBC_VERSION="2.37"
+PTXCONF_GLIBC_DL_VERSION="2.37-22-g3593050c27dc"
+PTXCONF_GLIBC_MD5="f0f89e0ad0929acece926fcfc2a1798f"
PTXCONF_GLIBC_LICENSE="GPL-2.0-or-later AND LGPL-2.1-or-later"
PTXCONF_GLIBC_LICENSE_FILES="file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c file://LICENSES;md5=1541fd8f5e8f1579512bf05f533371ba"
PTXCONF_GLIBC_TIMESTAMP=""
PTXCONF_GLIBC_SERIES=""
-PTXCONF_GLIBC_ENABLE_KERNEL="3.16"
+PTXCONF_GLIBC_ENABLE_KERNEL="4.19"
PTXCONF_GLIBC_CONFIG_EXTRA="libc_mips_float=soft"
-PTXCONF_GLIBC_CONFIG_EXTRA_CROSS="--enable-stackguard-randomization --enable-stack-protector=strong"
+PTXCONF_GLIBC_CONFIG_EXTRA_CROSS="--enable-stack-protector=strong"
PTXCONF_GLIBC_HEADERS_FAKE_CROSS="-DBOOTSTRAP_GCC -D_MIPS_SIM=_ABIO32 -D__mips=1"
PTXCONF_CROSS_BINUTILS=y
-PTXCONF_CROSS_BINUTILS_VERSION="2.35"
-PTXCONF_CROSS_BINUTILS_MD5="f5ee1b8aab816dce3badf8513be6dd75"
+PTXCONF_CROSS_BINUTILS_VERSION="2.40"
+PTXCONF_CROSS_BINUTILS_MD5="fe10027c8de77b643ae72bd6de3f7996"
PTXCONF_CROSS_BINUTILS_LICENSE="GPL-2.0-or-later AND LGPL-2.0-or-later GPL-3.0-or-later AND LGPL-3.0-or-later"
PTXCONF_CROSS_BINUTILS_LICENSE_FILES="file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674 file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6"
+PTXCONF_CROSS_BINUTILS_GOLD=y
# PTXCONF_CROSS_ELF2FLT is not set
PTXCONF_KERNEL_HEADERS=y
-PTXCONF_KERNEL_HEADERS_VERSION="5.8"
-PTXCONF_KERNEL_HEADERS_MD5="0e5c4c15266218ef26c50fac0016095b"
+PTXCONF_KERNEL_HEADERS_VERSION="6.3.6"
+PTXCONF_KERNEL_HEADERS_MD5="b30b7e0367fee0505eecbef74d852256"
PTXCONF_KERNEL_HEADERS_SANITIZED=y
PTXCONF_CROSS_GCC=y
-PTXCONF_CROSS_GCC_VERSION="10.2.1"
-PTXCONF_CROSS_GCC_MD5="b86843def44634eb3c55a4339c347471"
-PTXCONF_CROSS_GCC_DL_VERSION="10-20200822"
+PTXCONF_CROSS_GCC_VERSION="13.1.1"
+PTXCONF_CROSS_GCC_MD5="dac67a127451736b3c3c4ded8cdac304"
+PTXCONF_CROSS_GCC_DL_VERSION="13-20230624"
PTXCONF_CROSS_GCC_PKGVERSION="${PTXCONF_PROJECT} ${PTXCONF_CROSS_GCC_DL_VERSION}"
PTXCONF_CROSS_GCC_SERIES=""
PTXCONF_CROSS_GCC_CONFIG_EXTRA="--with-float=soft --enable-linker-build-id"
@@ -78,7 +82,7 @@ PTXCONF_CROSS_GCC_GCCLIBS_LICENSES="COPYING3 COPYING.RUNTIME"
#
PTXCONF_CROSS_GCC_LANG_C=y
PTXCONF_CROSS_GCC_LANG_CXX=y
-# PTXCONF_CROSS_GCC_LANG_FORTRAN is not set
+PTXCONF_CROSS_GCC_LANG_FORTRAN=y
# PTXCONF_CROSS_GCC_LANG_JAVA is not set
PTXCONF_CROSS_GCC_LANG_OBJC=y
PTXCONF_CROSS_GCC_LANG_OBJCXX=y
@@ -95,13 +99,16 @@ PTXCONF_CROSS_GCC_THREADS="posix"
PTXCONF_CROSS_GCC_FIRST=y
# PTXCONF_CROSS_LLVM is not set
# PTXCONF_CROSS_CLANG is not set
+# PTXCONF_CROSS_RUSTC is not set
PTXCONF_CROSS_GDB=y
-PTXCONF_CROSS_GDB_VERSION="9.2"
-PTXCONF_CROSS_GDB_MD5="db95524e554870209ab7d9f8fd8dc557"
+PTXCONF_CROSS_GDB_VERSION="13.2"
+PTXCONF_CROSS_GDB_MD5="fbd3cdae16c581e8a742cb766ba35076"
PTXCONF_CROSS_GDB_LICENSE="GPL-2.0-or-later AND LGPL-2.0-or-later GPL-3.0-or-later AND LGPL-3.0-or-later"
PTXCONF_CROSS_GDB_LICENSE_FILES="file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674 file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6"
PTXCONF_CROSS_TOOLCHAIN=y
PTXCONF_HOST_FAKE_MAKEINFO=y
+PTXCONF_HOST_ACL=y
+PTXCONF_HOST_LIBCAP=y
PTXCONF_HOST_M4=y
PTXCONF_HOST_SYSTEM_EXPAT=y
PTXCONF_HOST_SYSTEM_GMP=y
@@ -116,6 +123,7 @@ PTXCONF_HOST_AUTOTOOLS_AUTOCONF=y
PTXCONF_HOST_AUTOTOOLS_AUTOMAKE=y
PTXCONF_HOST_AUTOTOOLS_LIBTOOL=y
PTXCONF_HOST_CHRPATH=y
+PTXCONF_HOST_FAKEROOT=y
#
# ----------------------------------
@@ -139,5 +147,7 @@ PTXCONF_SYSROOT_TARGET="${PTXCONF_SYSROOT_CROSS}${PTXCONF_PREFIX_TARGET}"
PTXCONF_PLATFORM="${PTXCONF_GNU_TARGET}-${PTXCONF_PREFIX_TCID}"
PTXCONF_COMPILER_PREFIX="${PTXCONF_GNU_TARGET}-"
# PTXCONF_TOOLCHAIN_DEBUG is not set
+# end of misc
+
PTXCONF_IMAGE_TOOLCHAIN_TGZ=y
-PTXCONF_CONFIGFILE_VERSION="2020.08.0"
+PTXCONF_CONFIGFILE_VERSION="2023.07.0"
diff --git a/ptxconfigs/mips64el-linux-gnuabi64_gcc-10.2.1_glibc-2.32_binutils-2.35_kernel-5.8-sanitized.ptxconfig b/ptxconfigs/mips64el-linux-gnuabi64_gcc-13.1.1_glibc-2.37_binutils-2.40_kernel-6.3.6-sanitized.ptxconfig
index 383aaaa..5960605 100644
--- a/ptxconfigs/mips64el-linux-gnuabi64_gcc-10.2.1_glibc-2.32_binutils-2.35_kernel-5.8-sanitized.ptxconfig
+++ b/ptxconfigs/mips64el-linux-gnuabi64_gcc-13.1.1_glibc-2.37_binutils-2.40_kernel-6.3.6-sanitized.ptxconfig
@@ -1,13 +1,14 @@
#
# Automatically generated file; DO NOT EDIT.
-# PTXdist 2020.08.0
+# PTXdist 2023.07.0
#
PTXCONF__ptxconfig_MAGIC__=y
PTXCONF_BUILD_TOOLCHAIN=y
PTXCONF_NO_PLATFORM=y
PTXCONF_VIRTUAL=y
-PTXCONF_PROJECT="OSELAS.Toolchain-2020.XX.0"
+PTXCONF_PROJECT="OSELAS.Toolchain-2023.07.0"
PTXCONF_PROJECT_CHECK_LICENSES=y
+PTXCONF_BASE=y
#
# ----------------------------------
@@ -15,13 +16,15 @@ PTXCONF_PROJECT_CHECK_LICENSES=y
# PTXCONF_ARCH_ARM is not set
# PTXCONF_ARCH_ARM64 is not set
# PTXCONF_ARCH_M68K is not set
-PTXCONF_ARCH_MIPS=y
+# PTXCONF_ARCH_MIPS is not set
+PTXCONF_ARCH_MIPS64=y
# PTXCONF_ARCH_POWERPC is not set
# PTXCONF_ARCH_I386 is not set
# PTXCONF_ARCH_X86_64 is not set
# PTXCONF_ARCH_AVR is not set
# PTXCONF_ARCH_AVR32 is not set
# PTXCONF_ARCH_RISCV64 is not set
+# PTXCONF_ARCH_LOONGARCH is not set
PTXCONF_ARCH="mips"
PTXCONF_GNU_TARGET="mips64el-linux-gnuabi64"
PTXCONF_SIZEOF_LONG_DOUBLE="8"
@@ -40,31 +43,32 @@ PTXCONF_GLIBC_HEADERS=y
PTXCONF_GLIBC_CRT=y
PTXCONF_GLIBC_FIRST=y
PTXCONF_GLIBC=y
-PTXCONF_GLIBC_VERSION="2.32"
-PTXCONF_GLIBC_DL_VERSION="2.32"
-PTXCONF_GLIBC_MD5="9ccf64ce8976baa21d85dc550ee9f145"
+PTXCONF_GLIBC_VERSION="2.37"
+PTXCONF_GLIBC_DL_VERSION="2.37-22-g3593050c27dc"
+PTXCONF_GLIBC_MD5="f0f89e0ad0929acece926fcfc2a1798f"
PTXCONF_GLIBC_LICENSE="GPL-2.0-or-later AND LGPL-2.1-or-later"
PTXCONF_GLIBC_LICENSE_FILES="file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c file://LICENSES;md5=1541fd8f5e8f1579512bf05f533371ba"
PTXCONF_GLIBC_TIMESTAMP=""
PTXCONF_GLIBC_SERIES=""
-PTXCONF_GLIBC_ENABLE_KERNEL="3.16"
+PTXCONF_GLIBC_ENABLE_KERNEL="4.19"
PTXCONF_GLIBC_CONFIG_EXTRA="libc_mips_float=hard"
-PTXCONF_GLIBC_CONFIG_EXTRA_CROSS="--enable-stackguard-randomization --enable-stack-protector=strong"
+PTXCONF_GLIBC_CONFIG_EXTRA_CROSS="--enable-stack-protector=strong"
PTXCONF_GLIBC_HEADERS_FAKE_CROSS="-DBOOTSTRAP_GCC -D_MIPS_SIM=_ABI64 -D__mips=64"
PTXCONF_CROSS_BINUTILS=y
-PTXCONF_CROSS_BINUTILS_VERSION="2.35"
-PTXCONF_CROSS_BINUTILS_MD5="f5ee1b8aab816dce3badf8513be6dd75"
+PTXCONF_CROSS_BINUTILS_VERSION="2.40"
+PTXCONF_CROSS_BINUTILS_MD5="fe10027c8de77b643ae72bd6de3f7996"
PTXCONF_CROSS_BINUTILS_LICENSE="GPL-2.0-or-later AND LGPL-2.0-or-later GPL-3.0-or-later AND LGPL-3.0-or-later"
PTXCONF_CROSS_BINUTILS_LICENSE_FILES="file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674 file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6"
+PTXCONF_CROSS_BINUTILS_GOLD=y
# PTXCONF_CROSS_ELF2FLT is not set
PTXCONF_KERNEL_HEADERS=y
-PTXCONF_KERNEL_HEADERS_VERSION="5.8"
-PTXCONF_KERNEL_HEADERS_MD5="0e5c4c15266218ef26c50fac0016095b"
+PTXCONF_KERNEL_HEADERS_VERSION="6.3.6"
+PTXCONF_KERNEL_HEADERS_MD5="b30b7e0367fee0505eecbef74d852256"
PTXCONF_KERNEL_HEADERS_SANITIZED=y
PTXCONF_CROSS_GCC=y
-PTXCONF_CROSS_GCC_VERSION="10.2.1"
-PTXCONF_CROSS_GCC_MD5="b86843def44634eb3c55a4339c347471"
-PTXCONF_CROSS_GCC_DL_VERSION="10-20200822"
+PTXCONF_CROSS_GCC_VERSION="13.1.1"
+PTXCONF_CROSS_GCC_MD5="dac67a127451736b3c3c4ded8cdac304"
+PTXCONF_CROSS_GCC_DL_VERSION="13-20230624"
PTXCONF_CROSS_GCC_PKGVERSION="${PTXCONF_PROJECT} ${PTXCONF_CROSS_GCC_DL_VERSION}"
PTXCONF_CROSS_GCC_SERIES=""
PTXCONF_CROSS_GCC_CONFIG_EXTRA="--with-mips-plt --with-arch-64=mips64r2 --with-madd4=no --enable-linker-build-id"
@@ -78,7 +82,7 @@ PTXCONF_CROSS_GCC_GCCLIBS_LICENSES="COPYING3 COPYING.RUNTIME"
#
PTXCONF_CROSS_GCC_LANG_C=y
PTXCONF_CROSS_GCC_LANG_CXX=y
-# PTXCONF_CROSS_GCC_LANG_FORTRAN is not set
+PTXCONF_CROSS_GCC_LANG_FORTRAN=y
# PTXCONF_CROSS_GCC_LANG_JAVA is not set
PTXCONF_CROSS_GCC_LANG_OBJC=y
PTXCONF_CROSS_GCC_LANG_OBJCXX=y
@@ -95,13 +99,16 @@ PTXCONF_CROSS_GCC_THREADS="posix"
PTXCONF_CROSS_GCC_FIRST=y
# PTXCONF_CROSS_LLVM is not set
# PTXCONF_CROSS_CLANG is not set
+# PTXCONF_CROSS_RUSTC is not set
PTXCONF_CROSS_GDB=y
-PTXCONF_CROSS_GDB_VERSION="9.2"
-PTXCONF_CROSS_GDB_MD5="db95524e554870209ab7d9f8fd8dc557"
+PTXCONF_CROSS_GDB_VERSION="13.2"
+PTXCONF_CROSS_GDB_MD5="fbd3cdae16c581e8a742cb766ba35076"
PTXCONF_CROSS_GDB_LICENSE="GPL-2.0-or-later AND LGPL-2.0-or-later GPL-3.0-or-later AND LGPL-3.0-or-later"
PTXCONF_CROSS_GDB_LICENSE_FILES="file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674 file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6"
PTXCONF_CROSS_TOOLCHAIN=y
PTXCONF_HOST_FAKE_MAKEINFO=y
+PTXCONF_HOST_ACL=y
+PTXCONF_HOST_LIBCAP=y
PTXCONF_HOST_M4=y
PTXCONF_HOST_SYSTEM_EXPAT=y
PTXCONF_HOST_SYSTEM_GMP=y
@@ -116,6 +123,7 @@ PTXCONF_HOST_AUTOTOOLS_AUTOCONF=y
PTXCONF_HOST_AUTOTOOLS_AUTOMAKE=y
PTXCONF_HOST_AUTOTOOLS_LIBTOOL=y
PTXCONF_HOST_CHRPATH=y
+PTXCONF_HOST_FAKEROOT=y
#
# ----------------------------------
@@ -139,5 +147,7 @@ PTXCONF_SYSROOT_TARGET="${PTXCONF_SYSROOT_CROSS}${PTXCONF_PREFIX_TARGET}"
PTXCONF_PLATFORM="${PTXCONF_GNU_TARGET}-${PTXCONF_PREFIX_TCID}"
PTXCONF_COMPILER_PREFIX="${PTXCONF_GNU_TARGET}-"
# PTXCONF_TOOLCHAIN_DEBUG is not set
+# end of misc
+
PTXCONF_IMAGE_TOOLCHAIN_TGZ=y
-PTXCONF_CONFIGFILE_VERSION="2020.08.0"
+PTXCONF_CONFIGFILE_VERSION="2023.07.0"
diff --git a/ptxconfigs/mipsel-softfloat-linux-gnu_gcc-10.2.1_glibc-2.32_binutils-2.35_kernel-5.8-sanitized.ptxconfig b/ptxconfigs/mipsel-softfloat-linux-gnu_gcc-13.1.1_glibc-2.37_binutils-2.40_kernel-6.3.6-sanitized.ptxconfig
index 2fd3fdc..a343850 100644
--- a/ptxconfigs/mipsel-softfloat-linux-gnu_gcc-10.2.1_glibc-2.32_binutils-2.35_kernel-5.8-sanitized.ptxconfig
+++ b/ptxconfigs/mipsel-softfloat-linux-gnu_gcc-13.1.1_glibc-2.37_binutils-2.40_kernel-6.3.6-sanitized.ptxconfig
@@ -1,13 +1,14 @@
#
# Automatically generated file; DO NOT EDIT.
-# PTXdist 2020.08.0
+# PTXdist 2023.07.0
#
PTXCONF__ptxconfig_MAGIC__=y
PTXCONF_BUILD_TOOLCHAIN=y
PTXCONF_NO_PLATFORM=y
PTXCONF_VIRTUAL=y
-PTXCONF_PROJECT="OSELAS.Toolchain-2020.XX.0"
+PTXCONF_PROJECT="OSELAS.Toolchain-2023.07.0"
PTXCONF_PROJECT_CHECK_LICENSES=y
+PTXCONF_BASE=y
#
# ----------------------------------
@@ -16,12 +17,14 @@ PTXCONF_PROJECT_CHECK_LICENSES=y
# PTXCONF_ARCH_ARM64 is not set
# PTXCONF_ARCH_M68K is not set
PTXCONF_ARCH_MIPS=y
+# PTXCONF_ARCH_MIPS64 is not set
# PTXCONF_ARCH_POWERPC is not set
# PTXCONF_ARCH_I386 is not set
# PTXCONF_ARCH_X86_64 is not set
# PTXCONF_ARCH_AVR is not set
# PTXCONF_ARCH_AVR32 is not set
# PTXCONF_ARCH_RISCV64 is not set
+# PTXCONF_ARCH_LOONGARCH is not set
PTXCONF_ARCH="mips"
PTXCONF_GNU_TARGET="mipsel-softfloat-linux-gnu"
PTXCONF_SIZEOF_LONG_DOUBLE="8"
@@ -40,31 +43,32 @@ PTXCONF_GLIBC_HEADERS=y
PTXCONF_GLIBC_CRT=y
PTXCONF_GLIBC_FIRST=y
PTXCONF_GLIBC=y
-PTXCONF_GLIBC_VERSION="2.32"
-PTXCONF_GLIBC_DL_VERSION="2.32"
-PTXCONF_GLIBC_MD5="9ccf64ce8976baa21d85dc550ee9f145"
+PTXCONF_GLIBC_VERSION="2.37"
+PTXCONF_GLIBC_DL_VERSION="2.37-22-g3593050c27dc"
+PTXCONF_GLIBC_MD5="f0f89e0ad0929acece926fcfc2a1798f"
PTXCONF_GLIBC_LICENSE="GPL-2.0-or-later AND LGPL-2.1-or-later"
PTXCONF_GLIBC_LICENSE_FILES="file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c file://LICENSES;md5=1541fd8f5e8f1579512bf05f533371ba"
PTXCONF_GLIBC_TIMESTAMP=""
PTXCONF_GLIBC_SERIES=""
-PTXCONF_GLIBC_ENABLE_KERNEL="3.16"
+PTXCONF_GLIBC_ENABLE_KERNEL="4.19"
PTXCONF_GLIBC_CONFIG_EXTRA="libc_mips_float=soft"
-PTXCONF_GLIBC_CONFIG_EXTRA_CROSS="--enable-stackguard-randomization --enable-stack-protector=strong"
+PTXCONF_GLIBC_CONFIG_EXTRA_CROSS="--enable-stack-protector=strong"
PTXCONF_GLIBC_HEADERS_FAKE_CROSS="-DBOOTSTRAP_GCC -D_MIPS_SIM=_ABIO32 -D__mips=1"
PTXCONF_CROSS_BINUTILS=y
-PTXCONF_CROSS_BINUTILS_VERSION="2.35"
-PTXCONF_CROSS_BINUTILS_MD5="f5ee1b8aab816dce3badf8513be6dd75"
+PTXCONF_CROSS_BINUTILS_VERSION="2.40"
+PTXCONF_CROSS_BINUTILS_MD5="fe10027c8de77b643ae72bd6de3f7996"
PTXCONF_CROSS_BINUTILS_LICENSE="GPL-2.0-or-later AND LGPL-2.0-or-later GPL-3.0-or-later AND LGPL-3.0-or-later"
PTXCONF_CROSS_BINUTILS_LICENSE_FILES="file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674 file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6"
+PTXCONF_CROSS_BINUTILS_GOLD=y
# PTXCONF_CROSS_ELF2FLT is not set
PTXCONF_KERNEL_HEADERS=y
-PTXCONF_KERNEL_HEADERS_VERSION="5.8"
-PTXCONF_KERNEL_HEADERS_MD5="0e5c4c15266218ef26c50fac0016095b"
+PTXCONF_KERNEL_HEADERS_VERSION="6.3.6"
+PTXCONF_KERNEL_HEADERS_MD5="b30b7e0367fee0505eecbef74d852256"
PTXCONF_KERNEL_HEADERS_SANITIZED=y
PTXCONF_CROSS_GCC=y
-PTXCONF_CROSS_GCC_VERSION="10.2.1"
-PTXCONF_CROSS_GCC_MD5="b86843def44634eb3c55a4339c347471"
-PTXCONF_CROSS_GCC_DL_VERSION="10-20200822"
+PTXCONF_CROSS_GCC_VERSION="13.1.1"
+PTXCONF_CROSS_GCC_MD5="dac67a127451736b3c3c4ded8cdac304"
+PTXCONF_CROSS_GCC_DL_VERSION="13-20230624"
PTXCONF_CROSS_GCC_PKGVERSION="${PTXCONF_PROJECT} ${PTXCONF_CROSS_GCC_DL_VERSION}"
PTXCONF_CROSS_GCC_SERIES=""
PTXCONF_CROSS_GCC_CONFIG_EXTRA="--with-float=soft --enable-linker-build-id"
@@ -78,7 +82,7 @@ PTXCONF_CROSS_GCC_GCCLIBS_LICENSES="COPYING3 COPYING.RUNTIME"
#
PTXCONF_CROSS_GCC_LANG_C=y
PTXCONF_CROSS_GCC_LANG_CXX=y
-# PTXCONF_CROSS_GCC_LANG_FORTRAN is not set
+PTXCONF_CROSS_GCC_LANG_FORTRAN=y
# PTXCONF_CROSS_GCC_LANG_JAVA is not set
PTXCONF_CROSS_GCC_LANG_OBJC=y
PTXCONF_CROSS_GCC_LANG_OBJCXX=y
@@ -95,13 +99,16 @@ PTXCONF_CROSS_GCC_THREADS="posix"
PTXCONF_CROSS_GCC_FIRST=y
# PTXCONF_CROSS_LLVM is not set
# PTXCONF_CROSS_CLANG is not set
+# PTXCONF_CROSS_RUSTC is not set
PTXCONF_CROSS_GDB=y
-PTXCONF_CROSS_GDB_VERSION="9.2"
-PTXCONF_CROSS_GDB_MD5="db95524e554870209ab7d9f8fd8dc557"
+PTXCONF_CROSS_GDB_VERSION="13.2"
+PTXCONF_CROSS_GDB_MD5="fbd3cdae16c581e8a742cb766ba35076"
PTXCONF_CROSS_GDB_LICENSE="GPL-2.0-or-later AND LGPL-2.0-or-later GPL-3.0-or-later AND LGPL-3.0-or-later"
PTXCONF_CROSS_GDB_LICENSE_FILES="file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674 file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6"
PTXCONF_CROSS_TOOLCHAIN=y
PTXCONF_HOST_FAKE_MAKEINFO=y
+PTXCONF_HOST_ACL=y
+PTXCONF_HOST_LIBCAP=y
PTXCONF_HOST_M4=y
PTXCONF_HOST_SYSTEM_EXPAT=y
PTXCONF_HOST_SYSTEM_GMP=y
@@ -116,6 +123,7 @@ PTXCONF_HOST_AUTOTOOLS_AUTOCONF=y
PTXCONF_HOST_AUTOTOOLS_AUTOMAKE=y
PTXCONF_HOST_AUTOTOOLS_LIBTOOL=y
PTXCONF_HOST_CHRPATH=y
+PTXCONF_HOST_FAKEROOT=y
#
# ----------------------------------
@@ -139,5 +147,7 @@ PTXCONF_SYSROOT_TARGET="${PTXCONF_SYSROOT_CROSS}${PTXCONF_PREFIX_TARGET}"
PTXCONF_PLATFORM="${PTXCONF_GNU_TARGET}-${PTXCONF_PREFIX_TCID}"
PTXCONF_COMPILER_PREFIX="${PTXCONF_GNU_TARGET}-"
# PTXCONF_TOOLCHAIN_DEBUG is not set
+# end of misc
+
PTXCONF_IMAGE_TOOLCHAIN_TGZ=y
-PTXCONF_CONFIGFILE_VERSION="2020.08.0"
+PTXCONF_CONFIGFILE_VERSION="2023.07.0"
diff --git a/ptxconfigs/powerpc-603e-linux-gnu_gcc-10.2.1_glibc-2.32_binutils-2.35_kernel-5.8-sanitized.ptxconfig b/ptxconfigs/powerpc-603e-linux-gnu_gcc-13.1.1_glibc-2.37_binutils-2.40_kernel-6.3.6-sanitized.ptxconfig
index d644325..7797bf1 100644
--- a/ptxconfigs/powerpc-603e-linux-gnu_gcc-10.2.1_glibc-2.32_binutils-2.35_kernel-5.8-sanitized.ptxconfig
+++ b/ptxconfigs/powerpc-603e-linux-gnu_gcc-13.1.1_glibc-2.37_binutils-2.40_kernel-6.3.6-sanitized.ptxconfig
@@ -1,13 +1,14 @@
#
# Automatically generated file; DO NOT EDIT.
-# PTXdist 2020.08.0
+# PTXdist 2023.07.0
#
PTXCONF__ptxconfig_MAGIC__=y
PTXCONF_BUILD_TOOLCHAIN=y
PTXCONF_NO_PLATFORM=y
PTXCONF_VIRTUAL=y
-PTXCONF_PROJECT="OSELAS.Toolchain-2020.XX.0"
+PTXCONF_PROJECT="OSELAS.Toolchain-2023.07.0"
PTXCONF_PROJECT_CHECK_LICENSES=y
+PTXCONF_BASE=y
#
# ----------------------------------
@@ -16,12 +17,14 @@ PTXCONF_PROJECT_CHECK_LICENSES=y
# PTXCONF_ARCH_ARM64 is not set
# PTXCONF_ARCH_M68K is not set
# PTXCONF_ARCH_MIPS is not set
+# PTXCONF_ARCH_MIPS64 is not set
PTXCONF_ARCH_POWERPC=y
# PTXCONF_ARCH_I386 is not set
# PTXCONF_ARCH_X86_64 is not set
# PTXCONF_ARCH_AVR is not set
# PTXCONF_ARCH_AVR32 is not set
# PTXCONF_ARCH_RISCV64 is not set
+# PTXCONF_ARCH_LOONGARCH is not set
PTXCONF_ARCH="powerpc"
PTXCONF_GNU_TARGET="powerpc-603e-linux-gnu"
PTXCONF_SIZEOF_LONG_DOUBLE="8"
@@ -40,31 +43,32 @@ PTXCONF_GLIBC_HEADERS=y
PTXCONF_GLIBC_CRT=y
PTXCONF_GLIBC_FIRST=y
PTXCONF_GLIBC=y
-PTXCONF_GLIBC_VERSION="2.32"
-PTXCONF_GLIBC_DL_VERSION="2.32"
-PTXCONF_GLIBC_MD5="9ccf64ce8976baa21d85dc550ee9f145"
+PTXCONF_GLIBC_VERSION="2.37"
+PTXCONF_GLIBC_DL_VERSION="2.37-22-g3593050c27dc"
+PTXCONF_GLIBC_MD5="f0f89e0ad0929acece926fcfc2a1798f"
PTXCONF_GLIBC_LICENSE="GPL-2.0-or-later AND LGPL-2.1-or-later"
PTXCONF_GLIBC_LICENSE_FILES="file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c file://LICENSES;md5=1541fd8f5e8f1579512bf05f533371ba"
PTXCONF_GLIBC_TIMESTAMP=""
PTXCONF_GLIBC_SERIES=""
-PTXCONF_GLIBC_ENABLE_KERNEL="3.16"
+PTXCONF_GLIBC_ENABLE_KERNEL="4.19"
PTXCONF_GLIBC_CONFIG_EXTRA=""
-PTXCONF_GLIBC_CONFIG_EXTRA_CROSS="--enable-stackguard-randomization --enable-stack-protector=strong"
+PTXCONF_GLIBC_CONFIG_EXTRA_CROSS="--enable-stack-protector=strong"
PTXCONF_GLIBC_HEADERS_FAKE_CROSS=""
PTXCONF_CROSS_BINUTILS=y
-PTXCONF_CROSS_BINUTILS_VERSION="2.35"
-PTXCONF_CROSS_BINUTILS_MD5="f5ee1b8aab816dce3badf8513be6dd75"
+PTXCONF_CROSS_BINUTILS_VERSION="2.40"
+PTXCONF_CROSS_BINUTILS_MD5="fe10027c8de77b643ae72bd6de3f7996"
PTXCONF_CROSS_BINUTILS_LICENSE="GPL-2.0-or-later AND LGPL-2.0-or-later GPL-3.0-or-later AND LGPL-3.0-or-later"
PTXCONF_CROSS_BINUTILS_LICENSE_FILES="file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674 file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6"
+PTXCONF_CROSS_BINUTILS_GOLD=y
# PTXCONF_CROSS_ELF2FLT is not set
PTXCONF_KERNEL_HEADERS=y
-PTXCONF_KERNEL_HEADERS_VERSION="5.8"
-PTXCONF_KERNEL_HEADERS_MD5="0e5c4c15266218ef26c50fac0016095b"
+PTXCONF_KERNEL_HEADERS_VERSION="6.3.6"
+PTXCONF_KERNEL_HEADERS_MD5="b30b7e0367fee0505eecbef74d852256"
PTXCONF_KERNEL_HEADERS_SANITIZED=y
PTXCONF_CROSS_GCC=y
-PTXCONF_CROSS_GCC_VERSION="10.2.1"
-PTXCONF_CROSS_GCC_MD5="b86843def44634eb3c55a4339c347471"
-PTXCONF_CROSS_GCC_DL_VERSION="10-20200822"
+PTXCONF_CROSS_GCC_VERSION="13.1.1"
+PTXCONF_CROSS_GCC_MD5="dac67a127451736b3c3c4ded8cdac304"
+PTXCONF_CROSS_GCC_DL_VERSION="13-20230624"
PTXCONF_CROSS_GCC_PKGVERSION="${PTXCONF_PROJECT} ${PTXCONF_CROSS_GCC_DL_VERSION}"
PTXCONF_CROSS_GCC_SERIES=""
PTXCONF_CROSS_GCC_CONFIG_EXTRA="--with-cpu=603e --disable-altivec --enable-linker-build-id"
@@ -78,7 +82,7 @@ PTXCONF_CROSS_GCC_GCCLIBS_LICENSES="COPYING3 COPYING.RUNTIME"
#
PTXCONF_CROSS_GCC_LANG_C=y
PTXCONF_CROSS_GCC_LANG_CXX=y
-# PTXCONF_CROSS_GCC_LANG_FORTRAN is not set
+PTXCONF_CROSS_GCC_LANG_FORTRAN=y
# PTXCONF_CROSS_GCC_LANG_JAVA is not set
PTXCONF_CROSS_GCC_LANG_OBJC=y
PTXCONF_CROSS_GCC_LANG_OBJCXX=y
@@ -95,13 +99,16 @@ PTXCONF_CROSS_GCC_THREADS="posix"
PTXCONF_CROSS_GCC_FIRST=y
# PTXCONF_CROSS_LLVM is not set
# PTXCONF_CROSS_CLANG is not set
+# PTXCONF_CROSS_RUSTC is not set
PTXCONF_CROSS_GDB=y
-PTXCONF_CROSS_GDB_VERSION="9.2"
-PTXCONF_CROSS_GDB_MD5="db95524e554870209ab7d9f8fd8dc557"
+PTXCONF_CROSS_GDB_VERSION="13.2"
+PTXCONF_CROSS_GDB_MD5="fbd3cdae16c581e8a742cb766ba35076"
PTXCONF_CROSS_GDB_LICENSE="GPL-2.0-or-later AND LGPL-2.0-or-later GPL-3.0-or-later AND LGPL-3.0-or-later"
PTXCONF_CROSS_GDB_LICENSE_FILES="file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674 file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6"
PTXCONF_CROSS_TOOLCHAIN=y
PTXCONF_HOST_FAKE_MAKEINFO=y
+PTXCONF_HOST_ACL=y
+PTXCONF_HOST_LIBCAP=y
PTXCONF_HOST_M4=y
PTXCONF_HOST_SYSTEM_EXPAT=y
PTXCONF_HOST_SYSTEM_GMP=y
@@ -116,6 +123,7 @@ PTXCONF_HOST_AUTOTOOLS_AUTOCONF=y
PTXCONF_HOST_AUTOTOOLS_AUTOMAKE=y
PTXCONF_HOST_AUTOTOOLS_LIBTOOL=y
PTXCONF_HOST_CHRPATH=y
+PTXCONF_HOST_FAKEROOT=y
#
# ----------------------------------
@@ -139,5 +147,7 @@ PTXCONF_SYSROOT_TARGET="${PTXCONF_SYSROOT_CROSS}${PTXCONF_PREFIX_TARGET}"
PTXCONF_PLATFORM="${PTXCONF_GNU_TARGET}-${PTXCONF_PREFIX_TCID}"
PTXCONF_COMPILER_PREFIX="${PTXCONF_GNU_TARGET}-"
# PTXCONF_TOOLCHAIN_DEBUG is not set
+# end of misc
+
PTXCONF_IMAGE_TOOLCHAIN_TGZ=y
-PTXCONF_CONFIGFILE_VERSION="2020.08.0"
+PTXCONF_CONFIGFILE_VERSION="2023.07.0"
diff --git a/ptxconfigs/riscv64-linux-gnu_gcc-10.2.1_glibc-2.32_binutils-2.35_kernel-5.8-sanitized.ptxconfig b/ptxconfigs/riscv64-linux-gnu_gcc-13.1.1_glibc-2.37_binutils-2.40_kernel-6.3.6-sanitized.ptxconfig
index 26f42db..29a205a 100644
--- a/ptxconfigs/riscv64-linux-gnu_gcc-10.2.1_glibc-2.32_binutils-2.35_kernel-5.8-sanitized.ptxconfig
+++ b/ptxconfigs/riscv64-linux-gnu_gcc-13.1.1_glibc-2.37_binutils-2.40_kernel-6.3.6-sanitized.ptxconfig
@@ -1,13 +1,14 @@
#
# Automatically generated file; DO NOT EDIT.
-# PTXdist 2020.08.0
+# PTXdist 2023.07.0
#
PTXCONF__ptxconfig_MAGIC__=y
PTXCONF_BUILD_TOOLCHAIN=y
PTXCONF_NO_PLATFORM=y
PTXCONF_VIRTUAL=y
-PTXCONF_PROJECT="OSELAS.Toolchain-2020.XX.0"
+PTXCONF_PROJECT="OSELAS.Toolchain-2023.07.0"
PTXCONF_PROJECT_CHECK_LICENSES=y
+PTXCONF_BASE=y
#
# ----------------------------------
@@ -16,12 +17,14 @@ PTXCONF_PROJECT_CHECK_LICENSES=y
# PTXCONF_ARCH_ARM64 is not set
# PTXCONF_ARCH_M68K is not set
# PTXCONF_ARCH_MIPS is not set
+# PTXCONF_ARCH_MIPS64 is not set
# PTXCONF_ARCH_POWERPC is not set
# PTXCONF_ARCH_I386 is not set
# PTXCONF_ARCH_X86_64 is not set
# PTXCONF_ARCH_AVR is not set
# PTXCONF_ARCH_AVR32 is not set
PTXCONF_ARCH_RISCV64=y
+# PTXCONF_ARCH_LOONGARCH is not set
PTXCONF_ARCH="riscv"
PTXCONF_GNU_TARGET="riscv64-linux-gnu"
PTXCONF_SIZEOF_LONG_DOUBLE="16"
@@ -40,31 +43,32 @@ PTXCONF_GLIBC_HEADERS=y
PTXCONF_GLIBC_CRT=y
PTXCONF_GLIBC_FIRST=y
PTXCONF_GLIBC=y
-PTXCONF_GLIBC_VERSION="2.32"
-PTXCONF_GLIBC_DL_VERSION="2.32"
-PTXCONF_GLIBC_MD5="9ccf64ce8976baa21d85dc550ee9f145"
+PTXCONF_GLIBC_VERSION="2.37"
+PTXCONF_GLIBC_DL_VERSION="2.37-22-g3593050c27dc"
+PTXCONF_GLIBC_MD5="f0f89e0ad0929acece926fcfc2a1798f"
PTXCONF_GLIBC_LICENSE="GPL-2.0-or-later AND LGPL-2.1-or-later"
PTXCONF_GLIBC_LICENSE_FILES="file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c file://LICENSES;md5=1541fd8f5e8f1579512bf05f533371ba"
PTXCONF_GLIBC_TIMESTAMP=""
PTXCONF_GLIBC_SERIES=""
-PTXCONF_GLIBC_ENABLE_KERNEL="3.16"
+PTXCONF_GLIBC_ENABLE_KERNEL="4.19"
PTXCONF_GLIBC_CONFIG_EXTRA=""
-PTXCONF_GLIBC_CONFIG_EXTRA_CROSS="--enable-stackguard-randomization --enable-stack-protector=strong"
+PTXCONF_GLIBC_CONFIG_EXTRA_CROSS="--enable-stack-protector=strong"
PTXCONF_GLIBC_HEADERS_FAKE_CROSS="-D__riscv_atomic -D__riscv_xlen=64 -D__riscv_flen=64 -D__riscv_float_abi_double"
PTXCONF_CROSS_BINUTILS=y
-PTXCONF_CROSS_BINUTILS_VERSION="2.35"
-PTXCONF_CROSS_BINUTILS_MD5="f5ee1b8aab816dce3badf8513be6dd75"
+PTXCONF_CROSS_BINUTILS_VERSION="2.40"
+PTXCONF_CROSS_BINUTILS_MD5="fe10027c8de77b643ae72bd6de3f7996"
PTXCONF_CROSS_BINUTILS_LICENSE="GPL-2.0-or-later AND LGPL-2.0-or-later GPL-3.0-or-later AND LGPL-3.0-or-later"
PTXCONF_CROSS_BINUTILS_LICENSE_FILES="file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674 file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6"
+PTXCONF_CROSS_BINUTILS_GOLD=y
# PTXCONF_CROSS_ELF2FLT is not set
PTXCONF_KERNEL_HEADERS=y
-PTXCONF_KERNEL_HEADERS_VERSION="5.8"
-PTXCONF_KERNEL_HEADERS_MD5="0e5c4c15266218ef26c50fac0016095b"
+PTXCONF_KERNEL_HEADERS_VERSION="6.3.6"
+PTXCONF_KERNEL_HEADERS_MD5="b30b7e0367fee0505eecbef74d852256"
PTXCONF_KERNEL_HEADERS_SANITIZED=y
PTXCONF_CROSS_GCC=y
-PTXCONF_CROSS_GCC_VERSION="10.2.1"
-PTXCONF_CROSS_GCC_MD5="b86843def44634eb3c55a4339c347471"
-PTXCONF_CROSS_GCC_DL_VERSION="10-20200822"
+PTXCONF_CROSS_GCC_VERSION="13.1.1"
+PTXCONF_CROSS_GCC_MD5="dac67a127451736b3c3c4ded8cdac304"
+PTXCONF_CROSS_GCC_DL_VERSION="13-20230624"
PTXCONF_CROSS_GCC_PKGVERSION="${PTXCONF_PROJECT} ${PTXCONF_CROSS_GCC_DL_VERSION}"
PTXCONF_CROSS_GCC_SERIES=""
PTXCONF_CROSS_GCC_CONFIG_EXTRA=" --enable-linker-build-id"
@@ -78,7 +82,7 @@ PTXCONF_CROSS_GCC_GCCLIBS_LICENSES="COPYING3 COPYING.RUNTIME"
#
PTXCONF_CROSS_GCC_LANG_C=y
PTXCONF_CROSS_GCC_LANG_CXX=y
-# PTXCONF_CROSS_GCC_LANG_FORTRAN is not set
+PTXCONF_CROSS_GCC_LANG_FORTRAN=y
# PTXCONF_CROSS_GCC_LANG_JAVA is not set
PTXCONF_CROSS_GCC_LANG_OBJC=y
PTXCONF_CROSS_GCC_LANG_OBJCXX=y
@@ -95,13 +99,16 @@ PTXCONF_CROSS_GCC_THREADS="posix"
PTXCONF_CROSS_GCC_FIRST=y
# PTXCONF_CROSS_LLVM is not set
# PTXCONF_CROSS_CLANG is not set
+# PTXCONF_CROSS_RUSTC is not set
PTXCONF_CROSS_GDB=y
-PTXCONF_CROSS_GDB_VERSION="9.2"
-PTXCONF_CROSS_GDB_MD5="db95524e554870209ab7d9f8fd8dc557"
+PTXCONF_CROSS_GDB_VERSION="13.2"
+PTXCONF_CROSS_GDB_MD5="fbd3cdae16c581e8a742cb766ba35076"
PTXCONF_CROSS_GDB_LICENSE="GPL-2.0-or-later AND LGPL-2.0-or-later GPL-3.0-or-later AND LGPL-3.0-or-later"
PTXCONF_CROSS_GDB_LICENSE_FILES="file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674 file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6"
PTXCONF_CROSS_TOOLCHAIN=y
PTXCONF_HOST_FAKE_MAKEINFO=y
+PTXCONF_HOST_ACL=y
+PTXCONF_HOST_LIBCAP=y
PTXCONF_HOST_M4=y
PTXCONF_HOST_SYSTEM_EXPAT=y
PTXCONF_HOST_SYSTEM_GMP=y
@@ -116,6 +123,7 @@ PTXCONF_HOST_AUTOTOOLS_AUTOCONF=y
PTXCONF_HOST_AUTOTOOLS_AUTOMAKE=y
PTXCONF_HOST_AUTOTOOLS_LIBTOOL=y
PTXCONF_HOST_CHRPATH=y
+PTXCONF_HOST_FAKEROOT=y
#
# ----------------------------------
@@ -139,5 +147,7 @@ PTXCONF_SYSROOT_TARGET="${PTXCONF_SYSROOT_CROSS}${PTXCONF_PREFIX_TARGET}"
PTXCONF_PLATFORM="${PTXCONF_GNU_TARGET}-${PTXCONF_PREFIX_TCID}"
PTXCONF_COMPILER_PREFIX="${PTXCONF_GNU_TARGET}-"
# PTXCONF_TOOLCHAIN_DEBUG is not set
+# end of misc
+
PTXCONF_IMAGE_TOOLCHAIN_TGZ=y
-PTXCONF_CONFIGFILE_VERSION="2020.08.0"
+PTXCONF_CONFIGFILE_VERSION="2023.07.0"
diff --git a/ptxconfigs/x86_64-unknown-linux-gnu_gcc-10.2.1_glibc-2.32_binutils-2.35_kernel-5.8-sanitized.ptxconfig b/ptxconfigs/x86_64-unknown-linux-gnu_gcc-10.2.1_glibc-2.32_binutils-2.35_kernel-5.8-sanitized.ptxconfig
deleted file mode 100644
index 4359fe8..0000000
--- a/ptxconfigs/x86_64-unknown-linux-gnu_gcc-10.2.1_glibc-2.32_binutils-2.35_kernel-5.8-sanitized.ptxconfig
+++ /dev/null
@@ -1,143 +0,0 @@
-#
-# Automatically generated file; DO NOT EDIT.
-# PTXdist 2020.08.0
-#
-PTXCONF__ptxconfig_MAGIC__=y
-PTXCONF_BUILD_TOOLCHAIN=y
-PTXCONF_NO_PLATFORM=y
-PTXCONF_VIRTUAL=y
-PTXCONF_PROJECT="OSELAS.Toolchain-2020.XX.0"
-PTXCONF_PROJECT_CHECK_LICENSES=y
-
-#
-# ----------------------------------
-#
-# PTXCONF_ARCH_ARM is not set
-# PTXCONF_ARCH_ARM64 is not set
-# PTXCONF_ARCH_M68K is not set
-# PTXCONF_ARCH_MIPS is not set
-# PTXCONF_ARCH_POWERPC is not set
-# PTXCONF_ARCH_I386 is not set
-PTXCONF_ARCH_X86_64=y
-# PTXCONF_ARCH_AVR is not set
-# PTXCONF_ARCH_AVR32 is not set
-# PTXCONF_ARCH_RISCV64 is not set
-PTXCONF_ARCH="x86_64"
-PTXCONF_GNU_TARGET="x86_64-unknown-linux-gnu"
-PTXCONF_SIZEOF_LONG_DOUBLE="16"
-
-#
-# ----------------------------------
-#
-PTXCONF_LIBC_HEADERS=y
-PTXCONF_LIBC_FIRST=y
-PTXCONF_LIBC=y
-PTXCONF_LIBC_GLIBC=y
-# PTXCONF_LIBC_UCLIBC is not set
-# PTXCONF_LIBC_NEWLIB is not set
-# PTXCONF_LIBC_AVR is not set
-PTXCONF_GLIBC_HEADERS=y
-PTXCONF_GLIBC_CRT=y
-PTXCONF_GLIBC_FIRST=y
-PTXCONF_GLIBC=y
-PTXCONF_GLIBC_VERSION="2.32"
-PTXCONF_GLIBC_DL_VERSION="2.32"
-PTXCONF_GLIBC_MD5="9ccf64ce8976baa21d85dc550ee9f145"
-PTXCONF_GLIBC_LICENSE="GPL-2.0-or-later AND LGPL-2.1-or-later"
-PTXCONF_GLIBC_LICENSE_FILES="file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c file://LICENSES;md5=1541fd8f5e8f1579512bf05f533371ba"
-PTXCONF_GLIBC_TIMESTAMP=""
-PTXCONF_GLIBC_SERIES=""
-PTXCONF_GLIBC_ENABLE_KERNEL="3.16"
-PTXCONF_GLIBC_CONFIG_EXTRA=""
-PTXCONF_GLIBC_CONFIG_EXTRA_CROSS="--enable-stackguard-randomization --enable-stack-protector=strong --enable-mathvec"
-PTXCONF_GLIBC_HEADERS_FAKE_CROSS=""
-PTXCONF_CROSS_BINUTILS=y
-PTXCONF_CROSS_BINUTILS_VERSION="2.35"
-PTXCONF_CROSS_BINUTILS_MD5="f5ee1b8aab816dce3badf8513be6dd75"
-PTXCONF_CROSS_BINUTILS_LICENSE="GPL-2.0-or-later AND LGPL-2.0-or-later GPL-3.0-or-later AND LGPL-3.0-or-later"
-PTXCONF_CROSS_BINUTILS_LICENSE_FILES="file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674 file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6"
-# PTXCONF_CROSS_ELF2FLT is not set
-PTXCONF_KERNEL_HEADERS=y
-PTXCONF_KERNEL_HEADERS_VERSION="5.8"
-PTXCONF_KERNEL_HEADERS_MD5="0e5c4c15266218ef26c50fac0016095b"
-PTXCONF_KERNEL_HEADERS_SANITIZED=y
-PTXCONF_CROSS_GCC=y
-PTXCONF_CROSS_GCC_VERSION="10.2.1"
-PTXCONF_CROSS_GCC_MD5="b86843def44634eb3c55a4339c347471"
-PTXCONF_CROSS_GCC_DL_VERSION="10-20200822"
-PTXCONF_CROSS_GCC_PKGVERSION="${PTXCONF_PROJECT} ${PTXCONF_CROSS_GCC_DL_VERSION}"
-PTXCONF_CROSS_GCC_SERIES=""
-PTXCONF_CROSS_GCC_CONFIG_EXTRA=" --enable-linker-build-id"
-PTXCONF_CROSS_GCC_LICENSE="GPL-2.0-or-later WITH Classpath-exception-2.0 AND LGPL-2.1-or-later AND GPL-3.0-or-later AND GPL-3.0-or-later WITH GCC-exception-3.1 AND LGPL-3.0-or-later"
-PTXCONF_CROSS_GCC_LICENSE_FILES="file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1 file://COPYING.RUNTIME;md5=fe60d87048567d4fe8c8a0ed2448bcc8 file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6"
-PTXCONF_CROSS_GCC_GCCLIBS_LICENSE="GPL-3.0-only WITH GCC-exception-3.1"
-PTXCONF_CROSS_GCC_GCCLIBS_LICENSES="COPYING3 COPYING.RUNTIME"
-
-#
-# Additional supported languages:
-#
-PTXCONF_CROSS_GCC_LANG_C=y
-PTXCONF_CROSS_GCC_LANG_CXX=y
-# PTXCONF_CROSS_GCC_LANG_FORTRAN is not set
-# PTXCONF_CROSS_GCC_LANG_JAVA is not set
-PTXCONF_CROSS_GCC_LANG_OBJC=y
-PTXCONF_CROSS_GCC_LANG_OBJCXX=y
-PTXCONF_CROSS_GCC_ENABLE_CXA_ATEXIT=y
-PTXCONF_CROSS_GCC_CONFIG_CXA_ATEXIT="--enable-__cxa_atexit"
-PTXCONF_CROSS_GCC_DISABLE_SJLJ_EXCEPTIONS=y
-PTXCONF_CROSS_GCC_CONFIG_SJLJ_EXCEPTIONS="--disable-sjlj-exceptions"
-PTXCONF_CROSS_GCC_DISABLE_LIBSSP=y
-PTXCONF_CROSS_GCC_CONFIG_LIBSSP="--disable-libssp"
-PTXCONF_CROSS_GCC_ENABLE_SHARED=y
-PTXCONF_CROSS_GCC_CONFIG_SHARED="--enable-shared"
-PTXCONF_CROSS_GCC_THREADS_POSIX=y
-PTXCONF_CROSS_GCC_THREADS="posix"
-PTXCONF_CROSS_GCC_FIRST=y
-# PTXCONF_CROSS_LLVM is not set
-# PTXCONF_CROSS_CLANG is not set
-PTXCONF_CROSS_GDB=y
-PTXCONF_CROSS_GDB_VERSION="9.2"
-PTXCONF_CROSS_GDB_MD5="db95524e554870209ab7d9f8fd8dc557"
-PTXCONF_CROSS_GDB_LICENSE="GPL-2.0-or-later AND LGPL-2.0-or-later GPL-3.0-or-later AND LGPL-3.0-or-later"
-PTXCONF_CROSS_GDB_LICENSE_FILES="file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674 file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6"
-PTXCONF_CROSS_TOOLCHAIN=y
-PTXCONF_HOST_FAKE_MAKEINFO=y
-PTXCONF_HOST_M4=y
-PTXCONF_HOST_SYSTEM_EXPAT=y
-PTXCONF_HOST_SYSTEM_GMP=y
-PTXCONF_HOST_SYSTEM_ISL=y
-PTXCONF_HOST_SYSTEM_MPC=y
-PTXCONF_HOST_SYSTEM_MPFR=y
-PTXCONF_HOST_SYSTEM_PERL=y
-PTXCONF_HOST_SYSTEM_PYTHON3=y
-PTXCONF_HOST_SYSTEM_XZ=y
-PTXCONF_HOST_SYSTEM_ZLIB=y
-PTXCONF_HOST_AUTOTOOLS_AUTOCONF=y
-PTXCONF_HOST_AUTOTOOLS_AUTOMAKE=y
-PTXCONF_HOST_AUTOTOOLS_LIBTOOL=y
-PTXCONF_HOST_CHRPATH=y
-
-#
-# ----------------------------------
-#
-PTXCONF_TOOLCHAIN_ENABLE_SYSROOT=y
-PTXCONF_TOOLCHAIN_CONFIG_SYSROOT="--with-build-sysroot=${SYSROOT} --with-sysroot=${PTXCONF_PREFIX_TARGET}"
-PTXCONF_TOOLCHAIN_DISABLE_MULTILIB=y
-PTXCONF_TOOLCHAIN_CONFIG_MULTILIB="--disable-multilib"
-
-#
-# misc
-#
-PTXCONF_PREFIX="/opt"
-PTXCONF_PREFIX_KERNEL="-sanitized"
-PTXCONF_PREFIX_TCID="gcc-${PTXCONF_CROSS_GCC_VERSION}${PTXCONF_PREFIX_JAVA}-glibc-${PTXCONF_GLIBC_VERSION}-binutils-${PTXCONF_CROSS_BINUTILS_VERSION}-kernel-${PTXCONF_KERNEL_HEADERS_VERSION}${PTXCONF_PREFIX_KERNEL}"
-PTXCONF_SYSROOT_HOST="${PTXDIST_PLATFORMDIR}/sysroot-host"
-PTXCONF_PREFIX_CROSS="${PTXCONF_PREFIX}/${PTXCONF_PROJECT}/${PTXCONF_GNU_TARGET}/${PTXCONF_PREFIX_TCID}"
-PTXCONF_SYSROOT_CROSS="${PTXDIST_PLATFORMDIR}/sysroot-cross"
-PTXCONF_PREFIX_TARGET="${PTXCONF_PREFIX_CROSS}/sysroot-${PTXCONF_GNU_TARGET}"
-PTXCONF_SYSROOT_TARGET="${PTXCONF_SYSROOT_CROSS}${PTXCONF_PREFIX_TARGET}"
-PTXCONF_PLATFORM="${PTXCONF_GNU_TARGET}-${PTXCONF_PREFIX_TCID}"
-PTXCONF_COMPILER_PREFIX="${PTXCONF_GNU_TARGET}-"
-# PTXCONF_TOOLCHAIN_DEBUG is not set
-PTXCONF_IMAGE_TOOLCHAIN_TGZ=y
-PTXCONF_CONFIGFILE_VERSION="2020.08.0"
diff --git a/ptxconfigs/x86_64-unknown-linux-gnu_gcc-10.2.1_clang-10.0.1_glibc-2.32_binutils-2.35_kernel-5.8-sanitized.ptxconfig b/ptxconfigs/x86_64-unknown-linux-gnu_gcc-13.1.1_clang-16.0.6_glibc-2.37_binutils-2.40_kernel-6.3.6-sanitized.ptxconfig
index ca21fe5..741bd73 100644
--- a/ptxconfigs/x86_64-unknown-linux-gnu_gcc-10.2.1_clang-10.0.1_glibc-2.32_binutils-2.35_kernel-5.8-sanitized.ptxconfig
+++ b/ptxconfigs/x86_64-unknown-linux-gnu_gcc-13.1.1_clang-16.0.6_glibc-2.37_binutils-2.40_kernel-6.3.6-sanitized.ptxconfig
@@ -1,13 +1,14 @@
#
# Automatically generated file; DO NOT EDIT.
-# PTXdist 2020.08.0
+# PTXdist 2023.07.0
#
PTXCONF__ptxconfig_MAGIC__=y
PTXCONF_BUILD_TOOLCHAIN=y
PTXCONF_NO_PLATFORM=y
PTXCONF_VIRTUAL=y
-PTXCONF_PROJECT="OSELAS.Toolchain-2020.XX.0"
+PTXCONF_PROJECT="OSELAS.Toolchain-2023.07.0"
PTXCONF_PROJECT_CHECK_LICENSES=y
+PTXCONF_BASE=y
#
# ----------------------------------
@@ -16,12 +17,14 @@ PTXCONF_PROJECT_CHECK_LICENSES=y
# PTXCONF_ARCH_ARM64 is not set
# PTXCONF_ARCH_M68K is not set
# PTXCONF_ARCH_MIPS is not set
+# PTXCONF_ARCH_MIPS64 is not set
# PTXCONF_ARCH_POWERPC is not set
# PTXCONF_ARCH_I386 is not set
PTXCONF_ARCH_X86_64=y
# PTXCONF_ARCH_AVR is not set
# PTXCONF_ARCH_AVR32 is not set
# PTXCONF_ARCH_RISCV64 is not set
+# PTXCONF_ARCH_LOONGARCH is not set
PTXCONF_ARCH="x86_64"
PTXCONF_GNU_TARGET="x86_64-unknown-linux-gnu"
PTXCONF_SIZEOF_LONG_DOUBLE="16"
@@ -40,31 +43,32 @@ PTXCONF_GLIBC_HEADERS=y
PTXCONF_GLIBC_CRT=y
PTXCONF_GLIBC_FIRST=y
PTXCONF_GLIBC=y
-PTXCONF_GLIBC_VERSION="2.32"
-PTXCONF_GLIBC_DL_VERSION="2.32"
-PTXCONF_GLIBC_MD5="9ccf64ce8976baa21d85dc550ee9f145"
+PTXCONF_GLIBC_VERSION="2.37"
+PTXCONF_GLIBC_DL_VERSION="2.37-22-g3593050c27dc"
+PTXCONF_GLIBC_MD5="f0f89e0ad0929acece926fcfc2a1798f"
PTXCONF_GLIBC_LICENSE="GPL-2.0-or-later AND LGPL-2.1-or-later"
PTXCONF_GLIBC_LICENSE_FILES="file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c file://LICENSES;md5=1541fd8f5e8f1579512bf05f533371ba"
PTXCONF_GLIBC_TIMESTAMP=""
PTXCONF_GLIBC_SERIES=""
-PTXCONF_GLIBC_ENABLE_KERNEL="3.16"
+PTXCONF_GLIBC_ENABLE_KERNEL="4.19"
PTXCONF_GLIBC_CONFIG_EXTRA=""
-PTXCONF_GLIBC_CONFIG_EXTRA_CROSS="--enable-stackguard-randomization --enable-stack-protector=strong --enable-mathvec"
+PTXCONF_GLIBC_CONFIG_EXTRA_CROSS="--enable-stack-protector=strong --enable-mathvec"
PTXCONF_GLIBC_HEADERS_FAKE_CROSS=""
PTXCONF_CROSS_BINUTILS=y
-PTXCONF_CROSS_BINUTILS_VERSION="2.35"
-PTXCONF_CROSS_BINUTILS_MD5="f5ee1b8aab816dce3badf8513be6dd75"
+PTXCONF_CROSS_BINUTILS_VERSION="2.40"
+PTXCONF_CROSS_BINUTILS_MD5="fe10027c8de77b643ae72bd6de3f7996"
PTXCONF_CROSS_BINUTILS_LICENSE="GPL-2.0-or-later AND LGPL-2.0-or-later GPL-3.0-or-later AND LGPL-3.0-or-later"
PTXCONF_CROSS_BINUTILS_LICENSE_FILES="file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674 file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6"
+PTXCONF_CROSS_BINUTILS_GOLD=y
# PTXCONF_CROSS_ELF2FLT is not set
PTXCONF_KERNEL_HEADERS=y
-PTXCONF_KERNEL_HEADERS_VERSION="5.8"
-PTXCONF_KERNEL_HEADERS_MD5="0e5c4c15266218ef26c50fac0016095b"
+PTXCONF_KERNEL_HEADERS_VERSION="6.3.6"
+PTXCONF_KERNEL_HEADERS_MD5="b30b7e0367fee0505eecbef74d852256"
PTXCONF_KERNEL_HEADERS_SANITIZED=y
PTXCONF_CROSS_GCC=y
-PTXCONF_CROSS_GCC_VERSION="10.2.1"
-PTXCONF_CROSS_GCC_MD5="b86843def44634eb3c55a4339c347471"
-PTXCONF_CROSS_GCC_DL_VERSION="10-20200822"
+PTXCONF_CROSS_GCC_VERSION="13.1.1"
+PTXCONF_CROSS_GCC_MD5="dac67a127451736b3c3c4ded8cdac304"
+PTXCONF_CROSS_GCC_DL_VERSION="13-20230624"
PTXCONF_CROSS_GCC_PKGVERSION="${PTXCONF_PROJECT} ${PTXCONF_CROSS_GCC_DL_VERSION}"
PTXCONF_CROSS_GCC_SERIES=""
PTXCONF_CROSS_GCC_CONFIG_EXTRA=" --enable-linker-build-id"
@@ -78,7 +82,7 @@ PTXCONF_CROSS_GCC_GCCLIBS_LICENSES="COPYING3 COPYING.RUNTIME"
#
PTXCONF_CROSS_GCC_LANG_C=y
PTXCONF_CROSS_GCC_LANG_CXX=y
-# PTXCONF_CROSS_GCC_LANG_FORTRAN is not set
+PTXCONF_CROSS_GCC_LANG_FORTRAN=y
# PTXCONF_CROSS_GCC_LANG_JAVA is not set
PTXCONF_CROSS_GCC_LANG_OBJC=y
PTXCONF_CROSS_GCC_LANG_OBJCXX=y
@@ -94,28 +98,40 @@ PTXCONF_CROSS_GCC_THREADS_POSIX=y
PTXCONF_CROSS_GCC_THREADS="posix"
PTXCONF_CROSS_GCC_FIRST=y
PTXCONF_CROSS_LLVM=y
-PTXCONF_CROSS_LLVM_VERSION="10.0.1"
-PTXCONF_CROSS_LLVM_MD5="71c68c526cbbf1674b5aafc5542b336c"
+PTXCONF_CROSS_LLVM_VERSION="16.0.6"
+PTXCONF_CROSS_LLVM_MD5="7d986cda69719a35bd5ecb266fcf1f65"
+PTXCONF_CROSS_LLVM_CMAKE_MODULES_MD5="b7830bb90e376c90a43c2c190a0a5ffa"
PTXCONF_CROSS_LLVM_LICENSE="Apache-2.0 WITH LLVM-exception AND NCSA"
PTXCONF_CROSS_LLVM_LICENSE_FILES="file://LICENSE.TXT;md5=8a15a0759ef07f2682d2ba4b893c9afe"
PTXCONF_CROSS_CLANG=y
PTXCONF_CROSS_CLANG_VERSION="${PTXCONF_CROSS_LLVM_VERSION}"
-PTXCONF_CROSS_CLANG_MD5="6c8b56f531876fd24e06257a2d8ce422"
+PTXCONF_CROSS_CLANG_MD5="70053a666251fdcabc466ea4a0275972"
PTXCONF_CROSS_CLANG_LICENSE="Apache-2.0 WITH LLVM-exception AND NCSA"
PTXCONF_CROSS_CLANG_LICENSE_FILES="file://LICENSE.TXT;md5=ff42885ed2ab98f1ecb8c1fc41205343"
PTXCONF_CROSS_LLD=y
PTXCONF_CROSS_LLD_VERSION="${PTXCONF_CROSS_LLVM_VERSION}"
-PTXCONF_CROSS_LLD_MD5="c8f364fbb129e47ef2793c317561449a"
+PTXCONF_CROSS_LLD_MD5="9c9530a0853624a869917853a2da2bd1"
PTXCONF_CROSS_LLD_LICENSE="Apache-2.0 WITH LLVM-exception AND NCSA"
PTXCONF_CROSS_LLD_LICENSE_FILES="file://LICENSE.TXT;md5=ae7dc7c027b1fa89b5b013d391d3ee2b"
+PTXCONF_CROSS_RUSTC=y
+PTXCONF_CROSS_RUSTC_VERSION="1.70.0"
+PTXCONF_CROSS_RUSTC_MD5="165792a4266021589b2d6061f208755f"
+PTXCONF_CROSS_RUSTC_TARGET="x86_64-v1-linux-gnu"
+PTXCONF_CROSS_RUSTC_BUILD_VERSION="1.69.0"
+PTXCONF_CROSS_RUSTC_BUILD_DATE="2023-04-20"
+PTXCONF_CROSS_RUSTC_BUILD_STD_MD5="d9649027934eeb364f3b9ac4f2c1d1ff"
+PTXCONF_CROSS_RUSTC_BUILD_RUSTC_MD5="115ced745660c1659c54e69c44f4dd47"
+PTXCONF_CROSS_RUSTC_BUILD_CARGO_MD5="b208debb640360059b98948b0aa939fb"
PTXCONF_CROSS_GDB=y
-PTXCONF_CROSS_GDB_VERSION="9.2"
-PTXCONF_CROSS_GDB_MD5="db95524e554870209ab7d9f8fd8dc557"
+PTXCONF_CROSS_GDB_VERSION="13.2"
+PTXCONF_CROSS_GDB_MD5="fbd3cdae16c581e8a742cb766ba35076"
PTXCONF_CROSS_GDB_LICENSE="GPL-2.0-or-later AND LGPL-2.0-or-later GPL-3.0-or-later AND LGPL-3.0-or-later"
PTXCONF_CROSS_GDB_LICENSE_FILES="file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674 file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6"
PTXCONF_CROSS_TOOLCHAIN=y
PTXCONF_HOST_FAKE_MAKEINFO=y
+PTXCONF_HOST_ACL=y
PTXCONF_HOST_CMAKE=y
+PTXCONF_HOST_LIBCAP=y
PTXCONF_HOST_M4=y
PTXCONF_HOST_NINJA=y
PTXCONF_HOST_SYSTEM_EXPAT=y
@@ -123,6 +139,7 @@ PTXCONF_HOST_SYSTEM_GMP=y
PTXCONF_HOST_SYSTEM_ISL=y
PTXCONF_HOST_SYSTEM_MPC=y
PTXCONF_HOST_SYSTEM_MPFR=y
+PTXCONF_HOST_SYSTEM_OPENSSL=y
PTXCONF_HOST_SYSTEM_PERL=y
PTXCONF_HOST_SYSTEM_PYTHON3=y
PTXCONF_HOST_SYSTEM_XZ=y
@@ -131,6 +148,7 @@ PTXCONF_HOST_AUTOTOOLS_AUTOCONF=y
PTXCONF_HOST_AUTOTOOLS_AUTOMAKE=y
PTXCONF_HOST_AUTOTOOLS_LIBTOOL=y
PTXCONF_HOST_CHRPATH=y
+PTXCONF_HOST_FAKEROOT=y
#
# ----------------------------------
@@ -154,5 +172,7 @@ PTXCONF_SYSROOT_TARGET="${PTXCONF_SYSROOT_CROSS}${PTXCONF_PREFIX_TARGET}"
PTXCONF_PLATFORM="${PTXCONF_GNU_TARGET}-${PTXCONF_PREFIX_TCID}"
PTXCONF_COMPILER_PREFIX="${PTXCONF_GNU_TARGET}-"
# PTXCONF_TOOLCHAIN_DEBUG is not set
+# end of misc
+
PTXCONF_IMAGE_TOOLCHAIN_TGZ=y
-PTXCONF_CONFIGFILE_VERSION="2020.08.0"
+PTXCONF_CONFIGFILE_VERSION="2023.07.0"
diff --git a/ptxconfigs/x86_64-v3-linux-gnu_gcc-13.1.1_clang-16.0.6_glibc-2.37_binutils-2.40_kernel-6.3.6-sanitized.ptxconfig b/ptxconfigs/x86_64-v3-linux-gnu_gcc-13.1.1_clang-16.0.6_glibc-2.37_binutils-2.40_kernel-6.3.6-sanitized.ptxconfig
new file mode 100644
index 0000000..01f2264
--- /dev/null
+++ b/ptxconfigs/x86_64-v3-linux-gnu_gcc-13.1.1_clang-16.0.6_glibc-2.37_binutils-2.40_kernel-6.3.6-sanitized.ptxconfig
@@ -0,0 +1,178 @@
+#
+# Automatically generated file; DO NOT EDIT.
+# PTXdist 2023.07.0
+#
+PTXCONF__ptxconfig_MAGIC__=y
+PTXCONF_BUILD_TOOLCHAIN=y
+PTXCONF_NO_PLATFORM=y
+PTXCONF_VIRTUAL=y
+PTXCONF_PROJECT="OSELAS.Toolchain-2023.07.0"
+PTXCONF_PROJECT_CHECK_LICENSES=y
+PTXCONF_BASE=y
+
+#
+# ----------------------------------
+#
+# PTXCONF_ARCH_ARM is not set
+# PTXCONF_ARCH_ARM64 is not set
+# PTXCONF_ARCH_M68K is not set
+# PTXCONF_ARCH_MIPS is not set
+# PTXCONF_ARCH_MIPS64 is not set
+# PTXCONF_ARCH_POWERPC is not set
+# PTXCONF_ARCH_I386 is not set
+PTXCONF_ARCH_X86_64=y
+# PTXCONF_ARCH_AVR is not set
+# PTXCONF_ARCH_AVR32 is not set
+# PTXCONF_ARCH_RISCV64 is not set
+# PTXCONF_ARCH_LOONGARCH is not set
+PTXCONF_ARCH="x86_64"
+PTXCONF_GNU_TARGET="x86_64-v3-linux-gnu"
+PTXCONF_SIZEOF_LONG_DOUBLE="16"
+
+#
+# ----------------------------------
+#
+PTXCONF_LIBC_HEADERS=y
+PTXCONF_LIBC_FIRST=y
+PTXCONF_LIBC=y
+PTXCONF_LIBC_GLIBC=y
+# PTXCONF_LIBC_UCLIBC is not set
+# PTXCONF_LIBC_NEWLIB is not set
+# PTXCONF_LIBC_AVR is not set
+PTXCONF_GLIBC_HEADERS=y
+PTXCONF_GLIBC_CRT=y
+PTXCONF_GLIBC_FIRST=y
+PTXCONF_GLIBC=y
+PTXCONF_GLIBC_VERSION="2.37"
+PTXCONF_GLIBC_DL_VERSION="2.37-22-g3593050c27dc"
+PTXCONF_GLIBC_MD5="f0f89e0ad0929acece926fcfc2a1798f"
+PTXCONF_GLIBC_LICENSE="GPL-2.0-or-later AND LGPL-2.1-or-later"
+PTXCONF_GLIBC_LICENSE_FILES="file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c file://LICENSES;md5=1541fd8f5e8f1579512bf05f533371ba"
+PTXCONF_GLIBC_TIMESTAMP=""
+PTXCONF_GLIBC_SERIES=""
+PTXCONF_GLIBC_ENABLE_KERNEL="4.19"
+PTXCONF_GLIBC_CONFIG_EXTRA=""
+PTXCONF_GLIBC_CONFIG_EXTRA_CROSS="--enable-stack-protector=strong --enable-mathvec"
+PTXCONF_GLIBC_HEADERS_FAKE_CROSS=""
+PTXCONF_CROSS_BINUTILS=y
+PTXCONF_CROSS_BINUTILS_VERSION="2.40"
+PTXCONF_CROSS_BINUTILS_MD5="fe10027c8de77b643ae72bd6de3f7996"
+PTXCONF_CROSS_BINUTILS_LICENSE="GPL-2.0-or-later AND LGPL-2.0-or-later GPL-3.0-or-later AND LGPL-3.0-or-later"
+PTXCONF_CROSS_BINUTILS_LICENSE_FILES="file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674 file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6"
+PTXCONF_CROSS_BINUTILS_GOLD=y
+# PTXCONF_CROSS_ELF2FLT is not set
+PTXCONF_KERNEL_HEADERS=y
+PTXCONF_KERNEL_HEADERS_VERSION="6.3.6"
+PTXCONF_KERNEL_HEADERS_MD5="b30b7e0367fee0505eecbef74d852256"
+PTXCONF_KERNEL_HEADERS_SANITIZED=y
+PTXCONF_CROSS_GCC=y
+PTXCONF_CROSS_GCC_VERSION="13.1.1"
+PTXCONF_CROSS_GCC_MD5="dac67a127451736b3c3c4ded8cdac304"
+PTXCONF_CROSS_GCC_DL_VERSION="13-20230624"
+PTXCONF_CROSS_GCC_PKGVERSION="${PTXCONF_PROJECT} ${PTXCONF_CROSS_GCC_DL_VERSION}"
+PTXCONF_CROSS_GCC_SERIES=""
+PTXCONF_CROSS_GCC_CONFIG_EXTRA="--with-arch=x86-64-v3 --with-tune=generic --enable-linker-build-id"
+PTXCONF_CROSS_GCC_LICENSE="GPL-2.0-or-later WITH Classpath-exception-2.0 AND LGPL-2.1-or-later AND GPL-3.0-or-later AND GPL-3.0-or-later WITH GCC-exception-3.1 AND LGPL-3.0-or-later"
+PTXCONF_CROSS_GCC_LICENSE_FILES="file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1 file://COPYING.RUNTIME;md5=fe60d87048567d4fe8c8a0ed2448bcc8 file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6"
+PTXCONF_CROSS_GCC_GCCLIBS_LICENSE="GPL-3.0-only WITH GCC-exception-3.1"
+PTXCONF_CROSS_GCC_GCCLIBS_LICENSES="COPYING3 COPYING.RUNTIME"
+
+#
+# Additional supported languages:
+#
+PTXCONF_CROSS_GCC_LANG_C=y
+PTXCONF_CROSS_GCC_LANG_CXX=y
+PTXCONF_CROSS_GCC_LANG_FORTRAN=y
+# PTXCONF_CROSS_GCC_LANG_JAVA is not set
+PTXCONF_CROSS_GCC_LANG_OBJC=y
+PTXCONF_CROSS_GCC_LANG_OBJCXX=y
+PTXCONF_CROSS_GCC_ENABLE_CXA_ATEXIT=y
+PTXCONF_CROSS_GCC_CONFIG_CXA_ATEXIT="--enable-__cxa_atexit"
+PTXCONF_CROSS_GCC_DISABLE_SJLJ_EXCEPTIONS=y
+PTXCONF_CROSS_GCC_CONFIG_SJLJ_EXCEPTIONS="--disable-sjlj-exceptions"
+PTXCONF_CROSS_GCC_DISABLE_LIBSSP=y
+PTXCONF_CROSS_GCC_CONFIG_LIBSSP="--disable-libssp"
+PTXCONF_CROSS_GCC_ENABLE_SHARED=y
+PTXCONF_CROSS_GCC_CONFIG_SHARED="--enable-shared"
+PTXCONF_CROSS_GCC_THREADS_POSIX=y
+PTXCONF_CROSS_GCC_THREADS="posix"
+PTXCONF_CROSS_GCC_FIRST=y
+PTXCONF_CROSS_LLVM=y
+PTXCONF_CROSS_LLVM_VERSION="16.0.6"
+PTXCONF_CROSS_LLVM_MD5="7d986cda69719a35bd5ecb266fcf1f65"
+PTXCONF_CROSS_LLVM_CMAKE_MODULES_MD5="b7830bb90e376c90a43c2c190a0a5ffa"
+PTXCONF_CROSS_LLVM_LICENSE="Apache-2.0 WITH LLVM-exception AND NCSA"
+PTXCONF_CROSS_LLVM_LICENSE_FILES="file://LICENSE.TXT;md5=8a15a0759ef07f2682d2ba4b893c9afe"
+PTXCONF_CROSS_CLANG=y
+PTXCONF_CROSS_CLANG_VERSION="${PTXCONF_CROSS_LLVM_VERSION}"
+PTXCONF_CROSS_CLANG_MD5="70053a666251fdcabc466ea4a0275972"
+PTXCONF_CROSS_CLANG_LICENSE="Apache-2.0 WITH LLVM-exception AND NCSA"
+PTXCONF_CROSS_CLANG_LICENSE_FILES="file://LICENSE.TXT;md5=ff42885ed2ab98f1ecb8c1fc41205343"
+PTXCONF_CROSS_LLD=y
+PTXCONF_CROSS_LLD_VERSION="${PTXCONF_CROSS_LLVM_VERSION}"
+PTXCONF_CROSS_LLD_MD5="9c9530a0853624a869917853a2da2bd1"
+PTXCONF_CROSS_LLD_LICENSE="Apache-2.0 WITH LLVM-exception AND NCSA"
+PTXCONF_CROSS_LLD_LICENSE_FILES="file://LICENSE.TXT;md5=ae7dc7c027b1fa89b5b013d391d3ee2b"
+PTXCONF_CROSS_RUSTC=y
+PTXCONF_CROSS_RUSTC_VERSION="1.70.0"
+PTXCONF_CROSS_RUSTC_MD5="165792a4266021589b2d6061f208755f"
+PTXCONF_CROSS_RUSTC_TARGET="${PTXCONF_GNU_TARGET}"
+PTXCONF_CROSS_RUSTC_BUILD_VERSION="1.69.0"
+PTXCONF_CROSS_RUSTC_BUILD_DATE="2023-04-20"
+PTXCONF_CROSS_RUSTC_BUILD_STD_MD5="d9649027934eeb364f3b9ac4f2c1d1ff"
+PTXCONF_CROSS_RUSTC_BUILD_RUSTC_MD5="115ced745660c1659c54e69c44f4dd47"
+PTXCONF_CROSS_RUSTC_BUILD_CARGO_MD5="b208debb640360059b98948b0aa939fb"
+PTXCONF_CROSS_GDB=y
+PTXCONF_CROSS_GDB_VERSION="13.2"
+PTXCONF_CROSS_GDB_MD5="fbd3cdae16c581e8a742cb766ba35076"
+PTXCONF_CROSS_GDB_LICENSE="GPL-2.0-or-later AND LGPL-2.0-or-later GPL-3.0-or-later AND LGPL-3.0-or-later"
+PTXCONF_CROSS_GDB_LICENSE_FILES="file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674 file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6"
+PTXCONF_CROSS_TOOLCHAIN=y
+PTXCONF_HOST_FAKE_MAKEINFO=y
+PTXCONF_HOST_ACL=y
+PTXCONF_HOST_CMAKE=y
+PTXCONF_HOST_LIBCAP=y
+PTXCONF_HOST_M4=y
+PTXCONF_HOST_NINJA=y
+PTXCONF_HOST_SYSTEM_EXPAT=y
+PTXCONF_HOST_SYSTEM_GMP=y
+PTXCONF_HOST_SYSTEM_ISL=y
+PTXCONF_HOST_SYSTEM_MPC=y
+PTXCONF_HOST_SYSTEM_MPFR=y
+PTXCONF_HOST_SYSTEM_OPENSSL=y
+PTXCONF_HOST_SYSTEM_PERL=y
+PTXCONF_HOST_SYSTEM_PYTHON3=y
+PTXCONF_HOST_SYSTEM_XZ=y
+PTXCONF_HOST_SYSTEM_ZLIB=y
+PTXCONF_HOST_AUTOTOOLS_AUTOCONF=y
+PTXCONF_HOST_AUTOTOOLS_AUTOMAKE=y
+PTXCONF_HOST_AUTOTOOLS_LIBTOOL=y
+PTXCONF_HOST_CHRPATH=y
+PTXCONF_HOST_FAKEROOT=y
+
+#
+# ----------------------------------
+#
+PTXCONF_TOOLCHAIN_ENABLE_SYSROOT=y
+PTXCONF_TOOLCHAIN_CONFIG_SYSROOT="--with-build-sysroot=${SYSROOT} --with-sysroot=${PTXCONF_PREFIX_TARGET}"
+PTXCONF_TOOLCHAIN_DISABLE_MULTILIB=y
+PTXCONF_TOOLCHAIN_CONFIG_MULTILIB="--disable-multilib"
+
+#
+# misc
+#
+PTXCONF_PREFIX="/opt"
+PTXCONF_PREFIX_KERNEL="-sanitized"
+PTXCONF_PREFIX_TCID="gcc-${PTXCONF_CROSS_GCC_VERSION}${PTXCONF_PREFIX_JAVA}-clang-${PTXCONF_CROSS_CLANG_VERSION}-glibc-${PTXCONF_GLIBC_VERSION}-binutils-${PTXCONF_CROSS_BINUTILS_VERSION}-kernel-${PTXCONF_KERNEL_HEADERS_VERSION}${PTXCONF_PREFIX_KERNEL}"
+PTXCONF_SYSROOT_HOST="${PTXDIST_PLATFORMDIR}/sysroot-host"
+PTXCONF_PREFIX_CROSS="${PTXCONF_PREFIX}/${PTXCONF_PROJECT}/${PTXCONF_GNU_TARGET}/${PTXCONF_PREFIX_TCID}"
+PTXCONF_SYSROOT_CROSS="${PTXDIST_PLATFORMDIR}/sysroot-cross"
+PTXCONF_PREFIX_TARGET="${PTXCONF_PREFIX_CROSS}/sysroot-${PTXCONF_GNU_TARGET}"
+PTXCONF_SYSROOT_TARGET="${PTXCONF_SYSROOT_CROSS}${PTXCONF_PREFIX_TARGET}"
+PTXCONF_PLATFORM="${PTXCONF_GNU_TARGET}-${PTXCONF_PREFIX_TCID}"
+PTXCONF_COMPILER_PREFIX="${PTXCONF_GNU_TARGET}-"
+# PTXCONF_TOOLCHAIN_DEBUG is not set
+# end of misc
+
+PTXCONF_IMAGE_TOOLCHAIN_TGZ=y
+PTXCONF_CONFIGFILE_VERSION="2023.07.0"
diff --git a/rules/architecture.in b/rules/architecture.in
index d2f5ce2..4db4bf5 100644
--- a/rules/architecture.in
+++ b/rules/architecture.in
@@ -13,6 +13,9 @@ choice
config ARCH_MIPS
bool "mips "
+ config ARCH_MIPS64
+ bool "mips64 "
+
config ARCH_POWERPC
bool "powerpc"
@@ -31,6 +34,9 @@ choice
config ARCH_RISCV64
bool "RISCV64"
+ config ARCH_LOONGARCH
+ bool "LoongArch"
+
help
This option specifies the toolchain architecture. It corresponds to
the arch/ directory of the Linux kernel.
@@ -47,8 +53,10 @@ config ARCH
default "i386" if ARCH_I386
default "x86_64" if ARCH_X86_64
default "mips" if ARCH_MIPS
+ default "mips" if ARCH_MIPS64
default "powerpc" if ARCH_POWERPC
default "riscv" if ARCH_RISCV64
+ default "loongarch" if ARCH_LOONGARCH
config GNU_TARGET
string
@@ -63,5 +71,5 @@ config GNU_TARGET
config SIZEOF_LONG_DOUBLE
string
default "12" if ARCH_I386
- default "16" if ARCH_X86_64 || ARCH_ARM64 || ARCH_RISCV64
+ default "16" if ARCH_X86_64 || ARCH_ARM64 || ARCH_RISCV64 || ARCH_LOONGARCH
default "8"
diff --git a/rules/cross-binutils.in b/rules/cross-binutils.in
index 1cc2244..b1d5d42 100644
--- a/rules/cross-binutils.in
+++ b/rules/cross-binutils.in
@@ -30,4 +30,9 @@ config CROSS_BINUTILS_LICENSE_FILES
config CROSS_BINUTILS_LD_REAL
bool
+config CROSS_BINUTILS_GOLD
+ bool
+ default y
+ prompt "build gold linker"
+
endif
diff --git a/rules/cross-binutils.make b/rules/cross-binutils.make
index be043f3..9ad7ee5 100644
--- a/rules/cross-binutils.make
+++ b/rules/cross-binutils.make
@@ -38,6 +38,12 @@ CROSS_BINUTILS_CONF_ENV := \
CFLAGS="-ggdb3 -O2" \
CXXFLAGS="-ggdb3 -O2"
+ifneq ($(PTXCONF_ARCH_ARM64)$(PTXCONF_ARCH_X86_64)$(PTXCONF_ARCH_MIPS64),)
+CROSS_BINUTILS_LIBDIR := lib64
+else
+CROSS_BINUTILS_LIBDIR := lib
+endif
+
#
# autoconf
#
@@ -45,10 +51,11 @@ CROSS_BINUTILS_CONF_TOOL := autoconf
CROSS_BINUTILS_CONF_OPT := \
$(PTX_HOST_CROSS_AUTOCONF) \
$(PTXCONF_TOOLCHAIN_CONFIG_SYSROOT) \
- --with-lib-path="=/../$(PTX_TOUPLE_TARGET)/lib:=/lib:=/usr/lib" \
+ --with-lib-path="=/../$(PTX_TOUPLE_TARGET)/$(CROSS_BINUTILS_LIBDIR):=/$(CROSS_BINUTILS_LIBDIR):=/usr/$(CROSS_BINUTILS_LIBDIR)" \
\
- --enable-gold \
+ --$(call ptx/endis,PTXCONF_CROSS_BINUTILS_GOLD)-gold \
--enable-ld=default \
+ --disable-gprofng \
--disable-werror \
--disable-nls \
\
diff --git a/rules/cross-clang.make b/rules/cross-clang.make
index f1eafc7..c13b770 100644
--- a/rules/cross-clang.make
+++ b/rules/cross-clang.make
@@ -26,10 +26,6 @@ CROSS_CLANG_DIR := $(CROSS_BUILDDIR)/$(CROSS_CLANG)
CROSS_CLANG_LICENSE := $(call remove_quotes,$(PTXCONF_CROSS_CLANG_LICENSE))
CROSS_CLANG_LICENSE_FILES := $(call remove_quotes,$(PTXCONF_CROSS_CLANG_LICENSE_FILES))
-ifndef PTXCONF_ARCH_X86_64
-CROSS_CLANG_PATCHES := none
-endif
-
# ----------------------------------------------------------------------------
# Prepare
# ----------------------------------------------------------------------------
@@ -39,7 +35,7 @@ endif
#
CROSS_CLANG_CONF_TOOL := cmake
CROSS_CLANG_CONF_OPT = \
- $(HOST_CMAKE_OPT) \
+ $(HOST_CROSS_CMAKE_OPT) \
-G Ninja \
-DCMAKE_INSTALL_PREFIX=$(PTXCONF_PREFIX_CROSS) \
-DCMAKE_SKIP_INSTALL_RPATH=ON \
@@ -47,11 +43,19 @@ CROSS_CLANG_CONF_OPT = \
-DENABLE_LINKER_BUILD_ID=ON \
-DLLVM_ENABLE_LIBXML2=OFF \
-DLLVM_INSTALL_TOOLCHAIN_ONLY=ON \
- -DLLVM_CONFIG=$(CROSS_LLVM_DIR)-build/bin/llvm-config
+ -DLLVM_CMAKE_DIR=$(CROSS_LLVM_DIR)-build \
+ -DCMAKE_MODULE_PATH=$(CROSS_LLVM_DIR)/cmake/modules \
+ -DLLVM_MAIN_INCLUDE_DIR=$(CROSS_LLVM_DIR)/include \
+ -DLLVM_BINARY_DIR=$(CROSS_LLVM_DIR)-build
CROSS_CLANG_LDFLAGS := \
-Wl,-rpath,$$ORIGIN/../lib
+# Some tools that use libLLVM-*.so are executed at runtime in the build
+# directory. So the rpath specified above does not work
+CROSS_CLANG_MAKE_ENV := \
+ LD_LIBRARY_PATH=$(PTXDIST_SYSROOT_CROSS)$(PTXCONF_PREFIX_CROSS)/lib
+
# ----------------------------------------------------------------------------
# Install
# ----------------------------------------------------------------------------
diff --git a/rules/cross-elf2flt.make b/rules/cross-elf2flt.make
index a9f00d4..a79abe9 100644
--- a/rules/cross-elf2flt.make
+++ b/rules/cross-elf2flt.make
@@ -14,8 +14,8 @@ CROSS_PACKAGES-$(PTXCONF_CROSS_ELF2FLT) += cross-elf2flt
#
# Paths and names
#
-CROSS_ELF2FLT_VERSION := 2019.12
-CROSS_ELF2FLT_MD5 := 83389dd2cf4310f6d11a39c121fc772d
+CROSS_ELF2FLT_VERSION := 2020.09
+CROSS_ELF2FLT_MD5 := a3a688720de19f2d0883583729b7e093
CROSS_ELF2FLT := elf2flt-$(CROSS_ELF2FLT_VERSION)
CROSS_ELF2FLT_SUFFIX := tar.gz
CROSS_ELF2FLT_URL := https://github.com/uclinux-dev/elf2flt/archive/v$(CROSS_ELF2FLT_VERSION).$(CROSS_ELF2FLT_SUFFIX)
diff --git a/rules/cross-gcc-first.make b/rules/cross-gcc-first.make
index ebd4709..4879c10 100644
--- a/rules/cross-gcc-first.make
+++ b/rules/cross-gcc-first.make
@@ -65,7 +65,7 @@ CROSS_GCC_FIRST_MAKE_ENV := \
ifdef PTXDIST_ICECC
CROSS_GCC_FIRST_MAKE_ENV += \
- STAGE_CC_WRAPPER=icerun
+ STAGE_CC_WRAPPER=$(PTXDIST_ICERUN)
endif
# ----------------------------------------------------------------------------
diff --git a/rules/cross-gcc.make b/rules/cross-gcc.make
index 4faa421..5643dc8 100644
--- a/rules/cross-gcc.make
+++ b/rules/cross-gcc.make
@@ -21,8 +21,7 @@ CROSS_GCC_MD5 := $(call remove_quotes,$(PTXCONF_CROSS_GCC_MD5))
CROSS_GCC := gcc-$(CROSS_GCC_DL_VERSION)
CROSS_GCC_SUFFIX := tar.xz
CROSS_GCC_SOURCE := $(SRCDIR)/$(CROSS_GCC).$(CROSS_GCC_SUFFIX)
-CROSS_GCC_DIR := $(BUILDDIR_CROSS_DEBUG)/$(CROSS_GCC)
-CROSS_GCC_BUILDDIR := $(CROSS_BUILDDIR)/$(CROSS_GCC)-build
+CROSS_GCC_DIR := $(CROSS_BUILDDIR)/$(CROSS_GCC)
CROSS_GCC_BUILD_OOT := YES
CROSS_GCC_LICENSE := $(call remove_quotes,$(PTXCONF_CROSS_GCC_LICENSE))
CROSS_GCC_LICENSE_FILES := $(call remove_quotes,$(PTXCONF_CROSS_GCC_LICENSE_FILES))
@@ -41,7 +40,7 @@ ptx/abs2rel := $(PTXDIST_WORKSPACE)/scripts/ptxd_abs2rel.sh
$(STATEDIR)/cross-gcc.extract:
@$(call targetinfo)
@$(call clean, $(CROSS_GCC_DIR))
- @$(call extract, CROSS_GCC, $(BUILDDIR_CROSS_DEBUG))
+ @$(call extract, CROSS_GCC)
@$(call patchin, CROSS_GCC, $(CROSS_GCC_DIR))
ifdef PTXCONF_CROSS_ECJ
@cp $(CROSS_ECJ_SOURCE) $(CROSS_GCC_DIR)/ecj.jar
@@ -91,15 +90,13 @@ CROSS_GCC_AUTOCONF_COMMON := \
$(call ptx/ifdef,PTXCONF_HOST_SYSTEM_MPC,--with-mpc) \
$(call ptx/ifdef,PTXCONF_HOST_SYSTEM_ISL,--with-isl)
-ifndef PTXCONF_TOOLCHAIN_DEBUG
CROSS_GCC_AUTOCONF_COMMON += \
- --with-debug-prefix-map="$(TOOLCHAIN_CROSS_DEBUG_MAP)" \
- --enable-libstdcxx-debug-flags="-gdwarf-4 -O0 $(TOOLCHAIN_CROSS_DEBUG_FLAGS)"
+ --with-debug-prefix-map="$(call ptx/toolchain-cross-debug-map, CROSS_GCC)" \
+ --enable-libstdcxx-debug-flags="-gdwarf-4 -O0 -D_GLIBCXX_ASSERTIONS $(call ptx/toolchain-cross-debug-flags, CROSS_GCC)"
CROSS_GCC_CONF_ENV += \
- CFLAGS_FOR_TARGET="$(TOOLCHAIN_CROSS_DEBUG_FLAGS)" \
- CXXFLAGS_FOR_TARGET="$(TOOLCHAIN_CROSS_DEBUG_FLAGS)"
-endif
+ CFLAGS_FOR_TARGET="$(call ptx/toolchain-cross-debug-flags, CROSS_GCC)" \
+ CXXFLAGS_FOR_TARGET="$(call ptx/toolchain-cross-debug-flags, CROSS_GCC)"
# --enable-tls enable or disable generation of tls code
# overriding the assembler check for tls support
@@ -141,7 +138,7 @@ $(STATEDIR)/cross-gcc.prepare:
@$(call world/prepare, CROSS_GCC)
sed -i -e '/TOPLEVEL_CONFIGURE_ARGUMENTS/s;$(PTXDIST_WORKSPACE);$(PTXCONF_PROJECT);g' \
-e '/TOPLEVEL_CONFIGURE_ARGUMENTS/s;$(call ptx/sh, realpath $(PTXDIST_WORKSPACE));$(PTXCONF_PROJECT);g' \
- $(CROSS_GCC_BUILDDIR)/Makefile
+ $(CROSS_GCC_DIR)-build/Makefile
@$(call touch)
# ----------------------------------------------------------------------------
@@ -153,7 +150,7 @@ CROSS_GCC_MAKE_ENV := \
ifdef PTXDIST_ICECC
CROSS_GCC_MAKE_ENV += \
- STAGE_CC_WRAPPER=icerun
+ STAGE_CC_WRAPPER=$(PTXDIST_ICERUN)
endif
CROSS_GCC_MAKE_OPT := \
@@ -167,6 +164,10 @@ CROSS_GCC_MAKE_OPT := \
$(STATEDIR)/cross-gcc.install: $(STATEDIR)/cross-gcc.report
@$(call targetinfo)
@$(call world/install, CROSS_GCC)
+ifdef PTXCONF_CROSS_GCC_LANG_CXX
+ @test -e $(CROSS_GCC_PKGDIR)$(PTXCONF_PREFIX_CROSS)/$(PTXCONF_GNU_TARGET)/$(CROSS_BINUTILS_LIBDIR)/libstdc++.so.6 || \
+ ptxd_bailout "CROSS_BINUTILS_LIBDIR incorrect!"
+endif
@$(call world/env, CROSS_GCC) \
pkg_license_target=gcclibs \
@@ -183,9 +184,9 @@ $(STATEDIR)/cross-gcc.install: $(STATEDIR)/cross-gcc.report
ifneq ($(call remove_quotes,$(PTXDIST_SYSROOT_CROSS)),)
sed -i -e 's;$(call remove_quotes,$(PTXDIST_SYSROOT_CROSS));;' \
$(CROSS_GCC_PKGDIR)$(PTXCONF_PREFIX_CROSS)/lib/gcc/$(PTXCONF_GNU_TARGET)/$(CROSS_GCC_VERSION)/install-tools/mkheaders.conf
- if [ -e $(CROSS_GCC_PKGDIR)$(PTXCONF_PREFIX_CROSS)/lib/gcc/$(PTXCONF_GNU_TARGET)/$(CROSS_GCC_VERSION)/include-fixed/bits/statx.h ]; then \
+ if [ -e $(CROSS_GCC_PKGDIR)$(PTXCONF_PREFIX_CROSS)/lib/gcc/$(PTXCONF_GNU_TARGET)/$(CROSS_GCC_VERSION)/include-fixed/pthread.h ]; then \
sed -i -e 's;$(call remove_quotes,$(PTXDIST_SYSROOT_CROSS));;' \
- $(CROSS_GCC_PKGDIR)$(PTXCONF_PREFIX_CROSS)/lib/gcc/$(PTXCONF_GNU_TARGET)/$(CROSS_GCC_VERSION)/include-fixed/bits/statx.h; \
+ $(CROSS_GCC_PKGDIR)$(PTXCONF_PREFIX_CROSS)/lib/gcc/$(PTXCONF_GNU_TARGET)/$(CROSS_GCC_VERSION)/include-fixed/pthread.h; \
fi
endif
@$(call touch)
@@ -193,6 +194,7 @@ endif
$(STATEDIR)/cross-gcc.install.post:
@$(call targetinfo)
@$(call world/install.post, CROSS_GCC)
+ @$(call world/install-src, CROSS_GCC)
@ptxd_make_setup_target_compiler $(PTXDIST_SYSROOT_CROSS)$(PTXCONF_PREFIX_CROSS)/bin
@$(call touch)
diff --git a/rules/cross-gdb.make b/rules/cross-gdb.make
index dc958cd..69462d8 100644
--- a/rules/cross-gdb.make
+++ b/rules/cross-gdb.make
@@ -47,13 +47,7 @@ CROSS_GDB_CONF_OPT := \
\
--disable-werror \
--enable-tui \
- --with-expat
-
-# define this from the outside to build without python
-ifeq ($(CROSS_GDB_WITHOUT_PYTHON),y)
-CROSS_GDB_CONF_OPT += --without-python
-else
-CROSS_GDB_CONF_OPT += --with-python=python3
-endif
+ --with-expat \
+ --with-python=python3
# vim: syntax=make
diff --git a/rules/cross-lld.make b/rules/cross-lld.make
index 97b8291..e46bb86 100644
--- a/rules/cross-lld.make
+++ b/rules/cross-lld.make
@@ -35,7 +35,7 @@ CROSS_LLD_LICENSE_FILES := $(call remove_quotes,$(PTXCONF_CROSS_LLD_LICENSE_FILE
#
CROSS_LLD_CONF_TOOL := cmake
CROSS_LLD_CONF_OPT := \
- $(HOST_CMAKE_OPT) \
+ $(HOST_CROSS_CMAKE_OPT) \
-G Ninja \
-DCMAKE_INSTALL_PREFIX=$(PTXCONF_PREFIX_CROSS) \
-DCMAKE_SKIP_INSTALL_RPATH=ON \
diff --git a/rules/cross-llvm.in b/rules/cross-llvm.in
index 42682f2..7ca3d7a 100644
--- a/rules/cross-llvm.in
+++ b/rules/cross-llvm.in
@@ -20,6 +20,10 @@ config CROSS_LLVM_MD5
string
prompt "llvm source md5sum"
+config CROSS_LLVM_CMAKE_MODULES_MD5
+ string
+ prompt "llvm cmake source md5sum"
+
config CROSS_LLVM_LICENSE
string
prompt "LLVM license"
diff --git a/rules/cross-llvm.make b/rules/cross-llvm.make
index 62ae313..527c7b0 100644
--- a/rules/cross-llvm.make
+++ b/rules/cross-llvm.make
@@ -26,6 +26,19 @@ CROSS_LLVM_DIR := $(CROSS_BUILDDIR)/$(CROSS_LLVM)
CROSS_LLVM_LICENSE := $(call remove_quotes,$(PTXCONF_CROSS_LLVM_LICENSE))
CROSS_LLVM_LICENSE_FILES := $(call remove_quotes,$(PTXCONF_CROSS_LLVM_LICENSE_FILES))
+CROSS_LLVM_CMAKE_MODULES_VERSION := $(CROSS_LLVM_VERSION)
+CROSS_LLVM_CMAKE_MODULES_MD5 := $(call remove_quotes,$(PTXCONF_CROSS_LLVM_CMAKE_MODULES_MD5))
+CROSS_LLVM_CMAKE_MODULES := cmake-$(CROSS_LLVM_CMAKE_MODULES_VERSION)
+CROSS_LLVM_CMAKE_MODULES_SUFFIX := src.tar.xz
+CROSS_LLVM_CMAKE_MODULES_URL := \
+ https://releases.llvm.org/$(CROSS_LLVM_CMAKE_MODULES_VERSION)/$(CROSS_LLVM_CMAKE_MODULES).$(CROSS_LLVM_CMAKE_MODULES_SUFFIX) \
+ https://github.com/llvm/llvm-project/releases/download/llvmorg-$(CROSS_LLVM_CMAKE_MODULES_VERSION)/$(CROSS_LLVM_CMAKE_MODULES).$(CROSS_LLVM_CMAKE_MODULES_SUFFIX)
+CROSS_LLVM_CMAKE_MODULES_SOURCE := $(SRCDIR)/$(CROSS_LLVM_CMAKE_MODULES).$(CROSS_LLVM_SUFFIX)
+CROSS_LLVM_CMAKE_MODULES_DIR := $(CROSS_BUILDDIR)/cmake
+CROSS_LLVM_CMAKE_MODULES_STRIP_LEVEL := 1
+$(CROSS_LLVM_CMAKE_MODULES_SOURCE) := CROSS_LLVM_CMAKE_MODULES
+CROSS_LLVM_SOURCES += $(CROSS_LLVM_CMAKE_MODULES_SOURCE)
+
# ----------------------------------------------------------------------------
# Prepare
# ----------------------------------------------------------------------------
@@ -47,9 +60,15 @@ endif
ifdef PTXCONF_ARCH_MIPS
CROSS_LLVM_TARGET_ARCH := Mips
endif
+ifdef PTXCONF_ARCH_MIPS64
+CROSS_LLVM_TARGET_ARCH := Mips
+endif
ifdef PTXCONF_ARCH_POWERPC
CROSS_LLVM_TARGET_ARCH := PowerPC
endif
+ifdef PTXCONF_ARCH_LOONGARCH
+CROSS_LLVM_TARGET_ARCH := LoongArch
+endif
ifdef PTXCONF_CROSS_LLVM
ifndef CROSS_LLVM_TARGET_ARCH
@@ -67,7 +86,7 @@ CROSS_LLVM_TARGETS_TO_BUILD := \
#
CROSS_LLVM_CONF_TOOL := cmake
CROSS_LLVM_CONF_OPT := \
- $(HOST_CMAKE_OPT) \
+ $(HOST_CROSS_CMAKE_OPT) \
-G Ninja \
-DCMAKE_INSTALL_PREFIX=$(PTXCONF_PREFIX_CROSS) \
-DLLVM_ENABLE_BINDINGS=OFF \
@@ -76,8 +95,10 @@ CROSS_LLVM_CONF_OPT := \
-DLLVM_ENABLE_LIBPFM=OFF \
-DLLVM_ENABLE_LIBXML2=OFF \
-DLLVM_ENABLE_RTTI=ON \
- -DLLVM_INSTALL_UTILS=OFF \
+ -DLLVM_INCLUDE_BENCHMARKS=OFF \
+ -DLLVM_INCLUDE_TESTS=OFF \
-DLLVM_INSTALL_TOOLCHAIN_ONLY=ON \
+ -DLLVM_INSTALL_UTILS=OFF \
-DLLVM_LINK_LLVM_DYLIB=ON \
-DLLVM_TARGETS_TO_BUILD="$(subst $(space),;,$(CROSS_LLVM_TARGETS_TO_BUILD))" \
-DLLVM_TARGET_ARCH=host \
@@ -86,4 +107,18 @@ CROSS_LLVM_CONF_OPT := \
CROSS_LLVM_LDFLAGS := \
-Wl,-rpath,$$ORIGIN/../lib
+$(STATEDIR)/cross-llvm.extract:
+ @$(call targetinfo)
+ @$(call clean, $(CROSS_LLVM_DIR))
+ @$(call extract, CROSS_LLVM)
+ @$(call extract, CROSS_LLVM_CMAKE_MODULES)
+ @$(call touch)
+
+$(STATEDIR)/cross-llvm.install:
+ @$(call targetinfo)
+ @$(call world/install, CROSS_LLVM)
+ @install -v -m644 -D -t $(CROSS_LLVM_PKGDIR)/usr/lib/cmake/llvm \
+ $(CROSS_LLVM_DIR)-build/lib/cmake/llvm/*
+ @$(call touch)
+
# vim: syntax=make
diff --git a/rules/cross-rustc.in b/rules/cross-rustc.in
new file mode 100644
index 0000000..2af2ca3
--- /dev/null
+++ b/rules/cross-rustc.in
@@ -0,0 +1,55 @@
+menuconfig CROSS_RUSTC
+ tristate
+ select HOST_SYSTEM_OPENSSL
+ select CROSS_LLVM
+ prompt "rustc "
+ help
+ FIXME
+
+if CROSS_RUSTC
+
+config CROSS_RUSTC_VERSION
+ string
+ prompt "rustc version"
+ help
+ Specify the version of rustc here.
+
+config CROSS_RUSTC_MD5
+ string
+ prompt "rustc source md5sum"
+
+config CROSS_RUSTC_TARGET
+ string
+ default "${PTXCONF_GNU_TARGET}"
+ prompt "rust target triple"
+
+config CROSS_RUSTC_BUILD_VERSION
+ string
+ prompt "build version"
+ help
+ version of the prebuilt rust compiler. It will be used to bootstrap
+ the rust compiler.
+ Note: During updates, only change CROSS_RUSTC_VERSION at first.
+ The compile stage will then try (and fail) to download the
+ version (and build date) needed here. It is defined in
+ src/stage0.json in the source tarball.
+
+config CROSS_RUSTC_BUILD_DATE
+ string
+ prompt "build date"
+ help
+ needed to download the prebuilt rust compiler.
+
+config CROSS_RUSTC_BUILD_STD_MD5
+ string
+ prompt "rust-std binary md5sum"
+
+config CROSS_RUSTC_BUILD_RUSTC_MD5
+ string
+ prompt "rustc binary md5sum"
+
+config CROSS_RUSTC_BUILD_CARGO_MD5
+ string
+ prompt "cargo binary md5sum"
+
+endif
diff --git a/rules/cross-rustc.make b/rules/cross-rustc.make
new file mode 100644
index 0000000..423cdb8
--- /dev/null
+++ b/rules/cross-rustc.make
@@ -0,0 +1,126 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2019 by Michael Olbrich <m.olbrich@pengutronix.de>
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+CROSS_PACKAGES-$(PTXCONF_CROSS_RUSTC) += cross-rustc
+
+#
+# Paths and names
+#
+CROSS_RUSTC_VERSION := $(call remove_quotes,$(PTXCONF_CROSS_RUSTC_VERSION))
+CROSS_RUSTC_MD5 := $(call remove_quotes,$(PTXCONF_CROSS_RUSTC_MD5))
+CROSS_RUSTC := rustc-$(CROSS_RUSTC_VERSION)
+CROSS_RUSTC_SUFFIX := tar.xz
+CROSS_RUSTC_URL := https://static.rust-lang.org/dist/$(CROSS_RUSTC)-src.$(CROSS_RUSTC_SUFFIX)
+CROSS_RUSTC_SOURCE := $(SRCDIR)/$(CROSS_RUSTC)-src.$(CROSS_RUSTC_SUFFIX)
+CROSS_RUSTC_DIR := $(CROSS_BUILDDIR)/$(CROSS_RUSTC)
+
+CROSS_RUSTC_BUILD_VERSION := $(call remove_quotes,$(PTXCONF_CROSS_RUSTC_BUILD_VERSION))
+CROSS_RUSTC_BUILD_DATE := $(call remove_quotes,$(PTXCONF_CROSS_RUSTC_BUILD_DATE))
+
+CROSS_RUSTC_BUILD_STD_VERSION := $(CROSS_RUSTC_BUILD_VERSION)
+CROSS_RUSTC_BUILD_STD_MD5 := $(call remove_quotes,$(PTXCONF_CROSS_RUSTC_BUILD_STD_MD5))
+CROSS_RUSTC_BUILD_STD := rust-std-$(CROSS_RUSTC_BUILD_STD_VERSION)-$(GNU_BUILD)
+CROSS_RUSTC_BUILD_STD_SUFFIX := tar.xz
+CROSS_RUSTC_BUILD_STD_URL := https://static.rust-lang.org/dist/$(CROSS_RUSTC_BUILD_DATE)/$(CROSS_RUSTC_BUILD_STD).$(CROSS_RUSTC_BUILD_STD_SUFFIX)
+CROSS_RUSTC_BUILD_STD_SOURCE := $(SRCDIR)/$(CROSS_RUSTC_BUILD_STD).$(CROSS_RUSTC_BUILD_STD_SUFFIX)
+$(CROSS_RUSTC_BUILD_STD_SOURCE) := CROSS_RUSTC_BUILD_STD
+CROSS_RUSTC_SOURCES += $(CROSS_RUSTC_BUILD_STD_SOURCE)
+
+CROSS_RUSTC_BUILD_RUSTC_VERSION := $(CROSS_RUSTC_BUILD_VERSION)
+CROSS_RUSTC_BUILD_RUSTC_MD5 := $(call remove_quotes,$(PTXCONF_CROSS_RUSTC_BUILD_RUSTC_MD5))
+CROSS_RUSTC_BUILD_RUSTC := rustc-$(CROSS_RUSTC_BUILD_RUSTC_VERSION)-$(GNU_BUILD)
+CROSS_RUSTC_BUILD_RUSTC_SUFFIX := tar.xz
+CROSS_RUSTC_BUILD_RUSTC_URL := https://static.rust-lang.org/dist/$(CROSS_RUSTC_BUILD_DATE)/$(CROSS_RUSTC_BUILD_RUSTC).$(CROSS_RUSTC_BUILD_RUSTC_SUFFIX)
+CROSS_RUSTC_BUILD_RUSTC_SOURCE := $(SRCDIR)/$(CROSS_RUSTC_BUILD_RUSTC).$(CROSS_RUSTC_BUILD_RUSTC_SUFFIX)
+$(CROSS_RUSTC_BUILD_RUSTC_SOURCE) := CROSS_RUSTC_BUILD_RUSTC
+CROSS_RUSTC_SOURCES += $(CROSS_RUSTC_BUILD_RUSTC_SOURCE)
+
+CROSS_RUSTC_BUILD_CARGO_VERSION := $(CROSS_RUSTC_BUILD_VERSION)
+CROSS_RUSTC_BUILD_CARGO_MD5 := $(call remove_quotes,$(PTXCONF_CROSS_RUSTC_BUILD_CARGO_MD5))
+CROSS_RUSTC_BUILD_CARGO := cargo-$(CROSS_RUSTC_BUILD_CARGO_VERSION)-$(GNU_BUILD)
+CROSS_RUSTC_BUILD_CARGO_SUFFIX := tar.xz
+CROSS_RUSTC_BUILD_CARGO_URL := https://static.rust-lang.org/dist/$(CROSS_RUSTC_BUILD_DATE)/$(CROSS_RUSTC_BUILD_CARGO).$(CROSS_RUSTC_BUILD_CARGO_SUFFIX)
+CROSS_RUSTC_BUILD_CARGO_SOURCE := $(SRCDIR)/$(CROSS_RUSTC_BUILD_CARGO).$(CROSS_RUSTC_BUILD_CARGO_SUFFIX)
+$(CROSS_RUSTC_BUILD_CARGO_SOURCE) := CROSS_RUSTC_BUILD_CARGO
+CROSS_RUSTC_SOURCES += $(CROSS_RUSTC_BUILD_CARGO_SOURCE)
+
+CROSS_RUSTC_CONFIG := $(call ptx/in-path, PTXDIST_PATH_LAYERS, config/rustc.toml)
+CROSS_RUSTC_TARGET := $(call remove_quotes,$(PTXCONF_CROSS_RUSTC_TARGET))
+CROSS_RUSTC_TARGET_PATH := $(PTXDIST_WORKSPACE)/config/rust
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+CROSS_RUSTC_CONF_ENV := \
+ BUILD_TRIPLE=$(GNU_BUILD) \
+ TARGET_TRIPLE=$(CROSS_RUSTC_TARGET) \
+ PREFIX=$(PTXCONF_PREFIX_CROSS) \
+ COMPILER_PREFIX=$(COMPILER_PREFIX)
+
+$(STATEDIR)/cross-rustc.prepare:
+ @$(call targetinfo)
+ @mkdir -p $(CROSS_RUSTC_DIR)/build/cache/$(CROSS_RUSTC_BUILD_DATE)
+ @cp -v \
+ $(CROSS_RUSTC_BUILD_STD_SOURCE) \
+ $(CROSS_RUSTC_BUILD_RUSTC_SOURCE) \
+ $(CROSS_RUSTC_BUILD_CARGO_SOURCE) \
+ $(CROSS_RUSTC_DIR)/build/cache/$(CROSS_RUSTC_BUILD_DATE)/
+ $(CROSS_RUSTC_CONF_ENV) ptxd_replace_magic \
+ $(CROSS_RUSTC_CONFIG) > $(CROSS_RUSTC_DIR)/config.toml
+ @$(call touch)
+
+# ----------------------------------------------------------------------------
+# Compile
+# ----------------------------------------------------------------------------
+
+CROSS_RUSTC_MAKE_ENV := \
+ RUST_TARGET_PATH=$(CROSS_RUSTC_TARGET_PATH)
+
+$(STATEDIR)/cross-rustc.compile:
+ @$(call targetinfo)
+ @$(call world/execute, CROSS_RUSTC, ./x.py build)
+ @$(call touch)
+
+# ----------------------------------------------------------------------------
+# Install
+# ----------------------------------------------------------------------------
+
+define ptx/cross-rustc-wrapper-impl
+echo "Creating '$(1)'..."
+rm -f '$(1)'
+echo '#!/bin/sh' > '$(1)'
+echo 'd="$$(dirname $$(readlink -f "$${0}"))"' >> '$(1)'
+echo 'export RUST_TARGET_PATH="$$d"' >> '$(1)'
+echo 'exec "$$d/rustc" --target $(CROSS_RUSTC_TARGET) "$$@"' >> '$(1)'
+chmod +x '$(1)'
+endef
+
+define ptx/cross-rustc-wrapper
+$(call ptx/cross-rustc-wrapper-impl,$(strip \
+ $(CROSS_RUSTC_PKGDIR)$(PTXCONF_PREFIX_CROSS)/bin/$(COMPILER_PREFIX)rustc))
+endef
+
+$(STATEDIR)/cross-rustc.install:
+ @$(call targetinfo)
+ @$(call world/execute, CROSS_RUSTC, \
+ DESTDIR=$(CROSS_RUSTC_PKGDIR) ./x.py install)
+ @cp -v $(CROSS_RUSTC_TARGET_PATH)/$(CROSS_RUSTC_TARGET).json \
+ $(CROSS_RUSTC_PKGDIR)$(PTXCONF_PREFIX_CROSS)/bin/
+ @$(call ptx/cross-rustc-wrapper)
+ @rm -v $(CROSS_RUSTC_PKGDIR)$(PTXCONF_PREFIX_CROSS)/lib/rustlib/install.log
+ifneq ($(call remove_quotes,$(PTXDIST_SYSROOT_CROSS)),)
+ sed -i -e 's;$(PTXDIST_WORKSPACE);OSELAS.Toolchain;' \
+ $(CROSS_RUSTC_PKGDIR)$(PTXCONF_PREFIX_CROSS)/lib/rustlib/manifest*
+endif
+ @$(call touch)
+
+# vim: syntax=make
diff --git a/rules/ffmpeg.make b/rules/ffmpeg.make
deleted file mode 100644
index 04e0b0b..0000000
--- a/rules/ffmpeg.make
+++ /dev/null
@@ -1 +0,0 @@
-# this file is left intentionally blank
diff --git a/rules/glibc-crt.make b/rules/glibc-crt.make
index f6335b6..3162e30 100644
--- a/rules/glibc-crt.make
+++ b/rules/glibc-crt.make
@@ -38,8 +38,7 @@ GLIBC_CRT_ENV := \
ac_cv_path_GREP=grep \
ac_cv_sizeof_long_double=$(PTXCONF_SIZEOF_LONG_DOUBLE) \
libc_cv_c_cleanup=yes \
- libc_cv_forced_unwind=yes \
- libc_cv_slibdir='/lib'
+ libc_cv_forced_unwind=yes
#
# autoconf
@@ -52,12 +51,20 @@ GLIBC_CRT_MAKE_OPT := csu/subdir_lib
# Install
# ----------------------------------------------------------------------------
+GLIBC_CRT_LIBDIR := lib
+ifdef PTXCONF_ARCH_RISCV64
+GLIBC_CRT_LIBDIR := lib64/lp64d
+endif
+ifneq ($(PTXCONF_ARCH_ARM64)$(PTXCONF_ARCH_X86_64)$(PTXCONF_ARCH_MIPS64)$(PTXCONF_ARCH_LOONGARCH),)
+GLIBC_CRT_LIBDIR := lib64
+endif
+
$(STATEDIR)/glibc-crt.install:
@$(call targetinfo)
- @mkdir -vp $(SYSROOT)/usr/lib
+ @mkdir -vp $(SYSROOT)/usr/$(GLIBC_CRT_LIBDIR)
@for file in {S,}crt1.o crt{i,n}.o; do \
$(INSTALL) -v -m 644 $(GLIBC_CRT_BUILDDIR)/csu/$$file \
- $(SYSROOT)/usr/lib/$$file || exit 1; \
+ $(SYSROOT)/usr/$(GLIBC_CRT_LIBDIR)/$$file || exit 1; \
done
@$(call touch)
diff --git a/rules/glibc-first.make b/rules/glibc-first.make
index 9fcd9bb..e29c3e8 100644
--- a/rules/glibc-first.make
+++ b/rules/glibc-first.make
@@ -41,7 +41,6 @@ GLIBC_FIRST_ENV := \
libc_cv_c_cleanup=yes \
libc_cv_forced_unwind=yes \
libc_cv_fpie=yes \
- libc_cv_slibdir='/lib' \
libc_cv_ssp=yes \
libc_cv_visibility_attribute=yes \
libc_cv_broken_visibility_attribute=no \
diff --git a/rules/glibc.in b/rules/glibc.in
index 72a3692..0ea31a9 100644
--- a/rules/glibc.in
+++ b/rules/glibc.in
@@ -99,7 +99,7 @@ config GLIBC_HEADERS_FAKE_CROSS
string
prompt "fake cross args"
default "-D__ARM_EABI__" if ARCH_ARM
- default "-DBOOTSTRAP_GCC" if ARCH_MIPS
+ default "-DBOOTSTRAP_GCC" if ARCH_MIPS || ARCH_MIPS64
help
Add these args to fake a crosscompiler during glibc-header extraction stage.
diff --git a/rules/glibc.make b/rules/glibc.make
index 674118a..f09830c 100644
--- a/rules/glibc.make
+++ b/rules/glibc.make
@@ -22,8 +22,8 @@ GLIBC_MD5 := $(call remove_quotes,$(PTXCONF_GLIBC_MD5))
GLIBC := glibc-$(GLIBC_DL_VERSION)
GLIBC_SUFFIX := tar.gz
GLIBC_SOURCE := $(SRCDIR)/$(GLIBC).$(GLIBC_SUFFIX)
-GLIBC_DIR := $(BUILDDIR_DEBUG)/$(GLIBC)
-GLIBC_BUILDDIR := $(BUILDDIR)/$(GLIBC)-build
+GLIBC_DIR := $(BUILDDIR)/$(GLIBC)
+GLIBC_BUILD_OOT := YES
GLIBC_URL := \
$(call ptx/mirror, GNU, glibc/$(GLIBC).$(GLIBC_SUFFIX)) \
https://repo.or.cz/glibc.git/snapshot/$(GLIBC).$(GLIBC_SUFFIX) \
@@ -41,8 +41,6 @@ GLIBC_ENV := \
BUILD_CC=$(HOSTCC) \
MAKEINFO=: \
\
- libc_cv_slibdir='/lib' \
- \
ac_cv_path_BASH_SHELL=/bin/bash \
ac_cv_sizeof_long_double=$(PTXCONF_SIZEOF_LONG_DOUBLE)
@@ -76,8 +74,8 @@ GLIBC_CONF_OPT := \
--enable-shared \
--enable-static-nss
-GLIBC_CFLAGS = $(TOOLCHAIN_CROSS_DEBUG_FLAGS)
-GLIBC_CXXFLAGS = $(TOOLCHAIN_CROSS_DEBUG_FLAGS)
+GLIBC_CFLAGS := $(call ptx/toolchain-cross-debug-flags, GLIBC)
+GLIBC_CXXFLAGS := $(call ptx/toolchain-cross-debug-flags, GLIBC)
# ----------------------------------------------------------------------------
# Install
@@ -86,6 +84,8 @@ GLIBC_CXXFLAGS = $(TOOLCHAIN_CROSS_DEBUG_FLAGS)
$(STATEDIR)/glibc.install: $(STATEDIR)/glibc.report
@$(call targetinfo)
@$(call world/install, GLIBC)
+ @test -e $(GLIBC_PKGDIR)/usr/$(GLIBC_CRT_LIBDIR)/crt1.o || \
+ ptxd_bailout "GLIBC_CRT_LIBDIR incorrect!"
@$(call world/env, GLIBC) ptxd_make_world_copy_license
#
@@ -99,7 +99,12 @@ $(STATEDIR)/glibc.install: $(STATEDIR)/glibc.report
echo ' libraries :-( So try them secondarily. */' >> "$(GLIBC_PKGDIR)/usr/lib/libc.a" && \
echo 'GROUP ( /usr/lib/libc_ns.a /usr/lib/libnss_files.a /usr/lib/libnss_dns.a /usr/lib/libresolv.a )' >> "$(GLIBC_PKGDIR)/usr/lib/libc.a" ; \
fi
+ @$(call touch)
+$(STATEDIR)/glibc.install.post:
+ @$(call targetinfo)
+ @$(call world/install.post, GLIBC)
+ @$(call world/install-src, GLIBC)
@$(call touch)
# vim: syntax=make
diff --git a/rules/host-fake-makeinfo.make b/rules/host-fake-makeinfo.make
index 4d5a704..d87cc53 100644
--- a/rules/host-fake-makeinfo.make
+++ b/rules/host-fake-makeinfo.make
@@ -23,9 +23,9 @@ HOST_FAKE_MAKEINFO_LICENSE := ignore
$(STATEDIR)/host-fake-makeinfo.install:
@$(call targetinfo)
- install -d $(HOST_FAKE_MAKEINFO_PKGDIR)/bin
- echo 'if [ "$${1}" == "--version" ]; then echo "makeinfo (GNU texinfo) 5.2"; fi' > $(HOST_FAKE_MAKEINFO_PKGDIR)/bin/makeinfo
- chmod +x $(HOST_FAKE_MAKEINFO_PKGDIR)/bin/makeinfo
+ install -d $(HOST_FAKE_MAKEINFO_PKGDIR)/usr/bin
+ echo 'if [ "$${1}" == "--version" ]; then echo "makeinfo (GNU texinfo) 5.2"; fi' > $(HOST_FAKE_MAKEINFO_PKGDIR)/usr/bin/makeinfo
+ chmod +x $(HOST_FAKE_MAKEINFO_PKGDIR)/usr/bin/makeinfo
@$(call touch)
# vim: syntax=make
diff --git a/rules/host-system-expat.make b/rules/host-system-expat.make
index f53f129..6acf9ed 100644
--- a/rules/host-system-expat.make
+++ b/rules/host-system-expat.make
@@ -21,7 +21,7 @@ $(STATEDIR)/host-system-expat.prepare:
@echo "Checking for expat ..."
@pkg-config expat || \
ptxd_bailout "expat development files not found!" \
- "Please install libexpat1-dev (debian)"
+ "Please install libexpat1-dev (debian) or expat-devel (fedora)"
@$(call touch)
# vim: syntax=make
diff --git a/rules/host-system-gmp.make b/rules/host-system-gmp.make
index afcc4c8..609d2f6 100644
--- a/rules/host-system-gmp.make
+++ b/rules/host-system-gmp.make
@@ -21,7 +21,7 @@ $(STATEDIR)/host-system-gmp.prepare:
@echo "Checking for gmp ..."
@echo "#include <gmp.h>" | $(HOSTCC) -x c -c -o /dev/null - 2>/dev/null || \
ptxd_bailout "gmp development files not found!" \
- "Please install libgmp-dev (debian)"
+ "Please install libgmp-dev (debian) or gmp-devel (fedora)"
@$(call touch)
diff --git a/rules/host-system-isl.make b/rules/host-system-isl.make
index 6ff580d..03f9028 100644
--- a/rules/host-system-isl.make
+++ b/rules/host-system-isl.make
@@ -17,7 +17,7 @@ $(STATEDIR)/host-system-isl.prepare:
@echo "Checking for isl ..."
@echo "#include <isl/version.h>" | $(HOSTCC) -x c -c -o /dev/null - 2>/dev/null || \
ptxd_bailout "isl development files not found!" \
- "Please install libisl-dev (debian)"
+ "Please install libisl-dev (debian) or isl-devel (fedora)"
@$(call touch)
# vim: syntax=make
diff --git a/rules/host-system-mpc.make b/rules/host-system-mpc.make
index ec2991d..1f6337a 100644
--- a/rules/host-system-mpc.make
+++ b/rules/host-system-mpc.make
@@ -21,7 +21,7 @@ $(STATEDIR)/host-system-mpc.prepare:
@echo "Checking for mpc ..."
@echo "#include <mpc.h>" | $(HOSTCC) -x c -c -o /dev/null - 2>/dev/null || \
ptxd_bailout "mpc development files not found!" \
- "Please install libmpc-dev (debian)"
+ "Please install libmpc-dev (debian) or libmpc-devel (fedora)"
@$(call touch)
# vim: syntax=make
diff --git a/rules/host-system-mpfr.make b/rules/host-system-mpfr.make
index 9dab7bb..bcff0a0 100644
--- a/rules/host-system-mpfr.make
+++ b/rules/host-system-mpfr.make
@@ -21,7 +21,7 @@ $(STATEDIR)/host-system-mpfr.prepare:
@echo "Checking for mpfr ..."
@echo "#include <mpfr.h>" | $(HOSTCC) -x c -c -o /dev/null - 2>/dev/null || \
ptxd_bailout "mpfr development files not found!" \
- "Please install libmpfr-dev (debian)"
+ "Please install libmpfr-dev (debian) or mpfr-devel (fedora)"
@$(call touch)
# vim: syntax=make
diff --git a/rules/host-system-openssl.in b/rules/host-system-openssl.in
new file mode 100644
index 0000000..b602ec1
--- /dev/null
+++ b/rules/host-system-openssl.in
@@ -0,0 +1,4 @@
+## SECTION=hosttools_noprompt
+
+config HOST_SYSTEM_OPENSSL
+ tristate
diff --git a/rules/host-system-openssl.make b/rules/host-system-openssl.make
new file mode 100644
index 0000000..e1f30a4
--- /dev/null
+++ b/rules/host-system-openssl.make
@@ -0,0 +1,27 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2021 by Michael Olbrich <m.olbrich@pengutronix.de>
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+HOST_PACKAGES-$(PTXCONF_HOST_SYSTEM_OPENSSL) += host-system-openssl
+HOST_SYSTEM_OPENSSL_LICENSE := ignore
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+$(STATEDIR)/host-system-openssl.prepare:
+ @$(call targetinfo)
+ @echo "Checking for openssl ..."
+ @pkg-config openssl || \
+ ptxd_bailout "openssl development files not found!" \
+ "Please install libssl-dev (debian) or openssl-devel (fedora)"
+ @$(call touch)
+
+# vim: syntax=make
diff --git a/rules/host-system-xz.make b/rules/host-system-xz.make
index 3de62c8..c4f089e 100644
--- a/rules/host-system-xz.make
+++ b/rules/host-system-xz.make
@@ -21,7 +21,7 @@ $(STATEDIR)/host-system-xz.prepare:
@echo "Checking for expat ..."
@pkg-config liblzma || \
ptxd_bailout "xz (lzma) development files not found!" \
- "Please install liblzma-dev (debian)"
+ "Please install liblzma-dev (debian) or xz-devel (fedora)"
@$(call touch)
# vim: syntax=make
diff --git a/rules/host-system-zlib.make b/rules/host-system-zlib.make
index 33c3cd7..ceb56c1 100644
--- a/rules/host-system-zlib.make
+++ b/rules/host-system-zlib.make
@@ -21,7 +21,7 @@ $(STATEDIR)/host-system-zlib.prepare:
@echo "Checking for zlib ..."
@pkg-config zlib || \
ptxd_bailout "zlib development files not found!" \
- "Please install zlib1g-dev (debian)"
+ "Please install zlib1g-dev (debian) or zlib-devel (fedora)"
@$(call touch)
# vim: syntax=make
diff --git a/rules/libelf.make b/rules/libelf.make
deleted file mode 100644
index 04e0b0b..0000000
--- a/rules/libelf.make
+++ /dev/null
@@ -1 +0,0 @@
-# this file is left intentionally blank
diff --git a/rules/libgmp.make b/rules/libgmp.make
deleted file mode 100644
index 04e0b0b..0000000
--- a/rules/libgmp.make
+++ /dev/null
@@ -1 +0,0 @@
-# this file is left intentionally blank
diff --git a/rules/newlib.make b/rules/newlib.make
index 0565087..be48f1d 100644
--- a/rules/newlib.make
+++ b/rules/newlib.make
@@ -20,8 +20,8 @@ NEWLIB := newlib-$(NEWLIB_VERSION)
NEWLIB_SUFFIX := tar.gz
NEWLIB_URL := https://sourceware.org/pub/newlib/$(NEWLIB).$(NEWLIB_SUFFIX)
NEWLIB_SOURCE := $(SRCDIR)/$(NEWLIB).$(NEWLIB_SUFFIX)
-NEWLIB_DIR := $(BUILDDIR_DEBUG)/$(NEWLIB)
-NEWLIB_BUILDDIR := $(BUILDDIR)/$(NEWLIB)-build
+NEWLIB_DIR := $(BUILDDIR)/$(NEWLIB)
+NEWLIB_BUILD_OOT:= YES
# ----------------------------------------------------------------------------
# Prepare
diff --git a/rules/post/ptxd_make_world_install.make b/rules/post/ptxd_make_world_install.make
new file mode 100644
index 0000000..48c1353
--- /dev/null
+++ b/rules/post/ptxd_make_world_install.make
@@ -0,0 +1,14 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2022 by Michael Olbrich <m.olbrich@pengutronix.de>
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+world/install-src = \
+ $(call world/env, $(1)) \
+ ptxd_make_world_install_src
+
+# vim: syntax=make
+
diff --git a/rules/pre/toolchain.make b/rules/pre/toolchain.make
index 063f5ac..64c3773 100644
--- a/rules/pre/toolchain.make
+++ b/rules/pre/toolchain.make
@@ -47,26 +47,34 @@ PTX_HOST_CROSS_AUTOCONF := \
#
PTXDIST_HOST_LDFLAGS := -L${PTXDIST_PATH_SYSROOT_HOST_PREFIX}/lib
-ifndef PTXCONF_TOOLCHAIN_DEBUG
-TOOLCHAIN_CROSS_DEBUG_MAP := \
- $(PTXDIST_WORKSPACE)/platform-=$(call remove_quotes,$(PTXCONF_PROJECT))/platform- \
- $(PTXDIST_SYSROOT_CROSS)=
+TOOLCHAIN_WORKSPACE_SYMLINK := $(subst $(PTXDIST_WORKSPACE),,$(call ptx/sh, realpath $(PTXDIST_WORKSPACE)))
-ifneq ($(PTXDIST_SYSROOT_CROSS),$(call ptx/sh, realpath $(PTXDIST_SYSROOT_CROSS)))
-TOOLCHAIN_CROSS_DEBUG_MAP += \
- $(call ptx/sh, realpath $(PTXDIST_WORKSPACE))/platform-=$(call remove_quotes,$(PTXCONF_PROJECT))/platform- \
- $(call ptx/sh, realpath $(PTXDIST_SYSROOT_CROSS))=
-endif
+define ptx/toolchain-map
+$(1)=$(2) $(if $(TOOLCHAIN_WORKSPACE_SYMLINK),$(call ptx/sh, realpath $(1))=$(2))
+endef
+
+TOOLCHAIN_CROSS_DEBUG_MAP := \
+ $(call ptx/toolchain-map,$(BUILDDIR)) \
+ $(call ptx/toolchain-map,$(CROSS_BUILDDIR)) \
+ $(call ptx/toolchain-map,$(PTXDIST_SYSROOT_CROSS))
PTXDIST_HOST_CPPFLAGS := \
$(PTXDIST_HOST_CPPFLAGS) \
$(addprefix -fdebug-prefix-map=,$(TOOLCHAIN_CROSS_DEBUG_MAP))
TOOLCHAIN_CROSS_DEBUG_FLAGS := \
+ -O2 \
-g3 \
- -gno-record-gcc-switches \
- $(addprefix -ffile-prefix-map=,$(TOOLCHAIN_CROSS_DEBUG_MAP))
-endif
+ -gno-record-gcc-switches
+
+define ptx/toolchain-cross-debug-map
+$(if $(PTXCONF_TOOLCHAIN_DEBUG),$(call ptx/toolchain-map,$($(strip $(1))_DIR),$(PTXCONF_PREFIX_CROSS)/src/$($(strip $(1))))) \
+$(TOOLCHAIN_CROSS_DEBUG_MAP)
+endef
+define ptx/toolchain-cross-debug-flags
+$(TOOLCHAIN_CROSS_DEBUG_FLAGS) \
+$(addprefix -ffile-prefix-map=,$(call ptx/toolchain-cross-debug-map,$(1)))
+endef
#
# gcc-first
@@ -76,17 +84,6 @@ CROSS_PATH := $(PTXDIST_SYSROOT_HOST)/lib/wrapper:$(PTXDIST_SYSROOT_CROSS)$(PTX
HOST_CROSS_PATH := $(CROSS_PATH)
#
-# debuggable gcc/glibc
-#
-ifdef PTXCONF_TOOLCHAIN_DEBUG
-BUILDDIR_DEBUG := $(PTXDIST_SYSROOT_CROSS)$(PTXCONF_PREFIX_CROSS)/src/target
-BUILDDIR_CROSS_DEBUG := $(PTXDIST_SYSROOT_CROSS)$(PTXCONF_PREFIX_CROSS)/src/cross
-else
-BUILDDIR_DEBUG := $(BUILDDIR)
-BUILDDIR_CROSS_DEBUG := $(CROSS_BUILDDIR)
-endif
-
-#
# images
#
diff --git a/rules/zlib.make b/rules/zlib.make
deleted file mode 100644
index 04e0b0b..0000000
--- a/rules/zlib.make
+++ /dev/null
@@ -1 +0,0 @@
-# this file is left intentionally blank
diff --git a/scripts/icecc-create-env-wrapper b/scripts/icecc-create-env-wrapper
index 31581c9..3f112c9 100755
--- a/scripts/icecc-create-env-wrapper
+++ b/scripts/icecc-create-env-wrapper
@@ -1,10 +1,6 @@
#!/bin/bash
-if grep -q -- --compression "${PTXDIST_ICECC_CREATE_ENV_REAL}"; then
- args=( --compression none )
-fi
-
-"${PTXDIST_ICECC_CREATE_ENV_REAL}" "${@}" "${args[@]}" || exit
+"${PTXDIST_ICECC_CREATE_ENV_REAL}" "${@}" --compression none || exit
ptxd_get_path *.tar*
env="${ptxd_reply}"
diff --git a/scripts/lib/ptxd_make_compiler.sh b/scripts/lib/ptxd_make_compiler.sh
index baf6f9a..733b068 100644
--- a/scripts/lib/ptxd_make_compiler.sh
+++ b/scripts/lib/ptxd_make_compiler.sh
@@ -20,9 +20,11 @@ ptxd_make_setup_target_compiler() {
compiler_prefix="$(ptxd_get_ptxconf PTXCONF_COMPILER_PREFIX)"
ptxd_lib_setup_target_wrapper &&
- PTXDIST_ICECC_CREATE_ENV_REAL="${PTXDIST_ICECC_CREATE_ENV}" \
- PTXDIST_ICECC_CREATE_ENV="${PTXDIST_WORKSPACE}/scripts/icecc-create-env-wrapper" \
- ptxd_lib_setup_target_icecc
+ if [ -n "${PTXDIST_ICECC}" ] && "${PTXDIST_ICECC}" --help | grep -q ICECC_ENV_COMPRESSION; then
+ PTXDIST_ICECC_CREATE_ENV_REAL="${PTXDIST_ICECC_CREATE_ENV}" \
+ PTXDIST_ICECC_CREATE_ENV="${PTXDIST_WORKSPACE}/scripts/icecc-create-env-wrapper" \
+ ptxd_lib_setup_target_icecc
+ fi
}
export -f ptxd_make_setup_target_compiler
diff --git a/scripts/lib/ptxd_make_icecc_check.sh b/scripts/lib/ptxd_make_icecc_check.sh
new file mode 100644
index 0000000..b1ecb25
--- /dev/null
+++ b/scripts/lib/ptxd_make_icecc_check.sh
@@ -0,0 +1,30 @@
+#!/bin/bash
+#
+# Copyright (C) 2021 by Michael Olbrich <m.olbrich@pengutronix.de>
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+
+ptxd_make_icecc_check() {
+ local sysroot_host
+
+ if [ -z "${PTXDIST_ICECC}" ]; then
+ return
+ fi
+
+ # old icerun versions cannot handle relative paths
+ sysroot_host="$(ptxd_get_ptxconf PTXCONF_SYSROOT_HOST)" &&
+ sysroot_host=".${sysroot_host#${PTXDIST_WORKSPACE}}" &&
+ mkdir -p "${sysroot_host}/bin" &&
+ ln -s /bin/true "${sysroot_host}/bin/test-icerun" &&
+ icerun "${sysroot_host}/bin/test-icerun" || {
+ echo "Disabling broken icerun!"
+ unset PTXDIST_ICERUN
+ }
+ rm -f "${sysroot_host}/bin/test-icerun"
+}
+
+ptxd_make_icecc_check
+
diff --git a/scripts/lib/ptxd_make_image_tgz.sh b/scripts/lib/ptxd_make_image_tgz.sh
index 3f87aa2..9d0847d 100644
--- a/scripts/lib/ptxd_make_image_tgz.sh
+++ b/scripts/lib/ptxd_make_image_tgz.sh
@@ -6,6 +6,24 @@
# see the README file.
#
+ptxd_make_strip_toolchain() {
+ local -a host_dirs=( \
+ "${sysroot}/lib" \
+ "${sysroot}/libexec" \
+ "${sysroot}/bin" \
+ "${sysroot}/${ptxconf_gnu_target}/bin" \
+ )
+
+ # strip all host binaries
+ find "${host_dirs[@]}" \
+ -wholename "${PTXDIST_SYSROOT_CROSS}${prefix_cross}/lib/gcc" -prune -o \
+ -type f \( -executable -o -name "*.so*" \) -print0 \
+ | xargs -0 -n1 --verbose strip --preserve-dates
+ # only fail if 'find' failed. Ignore 'strip' errors, it will fail for
+ # scripts etc.
+ return "${PIPESTATUS[0]}"
+}
+export -f ptxd_make_strip_toolchain
ptxd_make_image_tgz() {
ptxd_make_image_init || return
@@ -14,23 +32,13 @@ ptxd_make_image_tgz() {
local src="${PTXDIST_SYSROOT_CROSS}${prefix_cross}"
local dst="${pkg_dir}/$(dirname ${prefix_cross})"
local sysroot="${pkg_dir}${prefix_cross}"
- local -a host_dirs=( \
- "${sysroot}/lib" \
- "${sysroot}/libexec" \
- "${sysroot}/bin" \
- "${sysroot}/${ptxconf_gnu_target}/bin" \
- )
rm -rf "${pkg_dir}" &&
rm -f "${image_image}" &&
mkdir -p "${dst}" &&
cp -a "${src}" "${dst}" || return
- # strip all host binaries
- find "${host_dirs[@]}" \
- -wholename "${PTXDIST_SYSROOT_CROSS}${prefix_cross}/lib/gcc" -prune -o \
- -type f \( -executable -o -name "*.so*" \) -print0 \
- | xargs -0 -n1 --verbose strip --preserve-dates
+ ptxd_make_strip_toolchain &&
mkdir -p "$(dirname "${image_image}")" &&
echo "Creating $(ptxd_print_path "${image_image}") ..." &&
diff --git a/scripts/lib/ptxd_make_toolchain.sh b/scripts/lib/ptxd_make_toolchain.sh
index 0000801..e9aa06f 100644
--- a/scripts/lib/ptxd_make_toolchain.sh
+++ b/scripts/lib/ptxd_make_toolchain.sh
@@ -11,11 +11,13 @@ ptxd_make_toolchain_cleanup() {
local sysroot_target="$(ptxd_get_ptxconf PTXCONF_SYSROOT_TARGET)"
# packages install to pkgdir anyways and this avoid empty directories
- # in the final toolchain
- rmdir --ignore-fail-on-non-empty \
- {"${sysroot_cross}","${sysroot_target}"{,/usr}}/{etc,lib,{,s}bin,include,{,share/}man/{man*,},share} 2>/dev/null
- # errors may occur because the dirs may not exist (e.g. for 'ptxdist print').
- true
+ # in the final toolchain, but ensure that /lib and /usr/lib exist.
+ # The are needed to resolve .../lib/../lib64/...
+ if [ -d "${sysroot_cross}/etc" ]; then
+ rmdir --ignore-fail-on-non-empty \
+ {"${sysroot_cross}","${sysroot_target}"}/{etc,usr/{lib,{,s}bin,include,{,share/}{man/{man*,},}}} &&
+ mkdir -p "${sysroot_target}"{,/usr}/lib
+ fi
}
ptxd_make_toolchain_cleanup
diff --git a/scripts/lib/ptxd_make_toolchain_install.sh b/scripts/lib/ptxd_make_toolchain_install.sh
index 4ef49e9..5188922 100644
--- a/scripts/lib/ptxd_make_toolchain_install.sh
+++ b/scripts/lib/ptxd_make_toolchain_install.sh
@@ -8,25 +8,25 @@
ptxd_make_toolchain_install() {
local tmpfile install_helper
- local prefix="$(ptxd_get_ptxconf PTXCONF_PREFIX_CROSS)"
- local install_prefix="${ptx_install_destdir}${prefix}"
- local install_source="${PTXDIST_SYSROOT_CROSS}${prefix}"
+ local prefix_cross="$(ptxd_get_ptxconf PTXCONF_PREFIX_CROSS)"
+ local sysroot="${ptx_install_destdir}${prefix_cross}"
+ local install_source="${PTXDIST_SYSROOT_CROSS}${prefix_cross}"
- echo "Installing to ${install_prefix} ..."
+ echo "Installing to ${sysroot} ..."
- if [ -d "${install_prefix}" ]; then
- if [ -z "$(find "${install_prefix}" -maxdepth 0 -empty)" -a -z "${PTXDIST_FORCE}" ]; then
- ptxd_bailout "${install_prefix} is not empty!" \
+ if [ -d "${sysroot}" ]; then
+ if [ -z "$(find "${sysroot}" -maxdepth 0 -empty)" -a -z "${PTXDIST_FORCE}" ]; then
+ ptxd_bailout "${sysroot} is not empty!" \
"Use --force to remove the existing content first."
fi
fi
- mkdir -p "${install_prefix}" 2>/dev/null &&
- tmpfile="$(mktemp "${install_prefix}/touch.XXXXXXXX" 2>/dev/null)" &&
+ mkdir -p "${sysroot}" 2>/dev/null &&
+ tmpfile="$(mktemp "${sysroot}/touch.XXXXXXXX" 2>/dev/null)" &&
rm "${tmpfile}"
if [ $? -ne 0 ]; then
echo
- echo "'${install_prefix}' is not writable."
+ echo "'${sysroot}' is not writable."
read -t 5 -p "Press enter to install with sudo!"
if [ ${?} -ne 0 ]; then
echo
@@ -34,9 +34,10 @@ ptxd_make_toolchain_install() {
fi
install_helper=sudo
fi
- ${install_helper} rm -rf "${install_prefix}" &&
- ${install_helper} mkdir -p $(dirname "${install_prefix}") &&
+ ${install_helper} rm -rf "${sysroot}" &&
+ ${install_helper} mkdir -p $(dirname "${sysroot}") &&
${install_helper} cp -a --no-preserve=ownership \
- "${install_source}" $(dirname "${install_prefix}")
+ "${install_source}" $(dirname "${sysroot}") &&
+ ptxd_make_strip_toolchain
}
export -f ptxd_make_toolchain_install
diff --git a/scripts/lib/ptxd_make_world_install.sh b/scripts/lib/ptxd_make_world_install.sh
index 28a9e72..651fbde 100644
--- a/scripts/lib/ptxd_make_world_install.sh
+++ b/scripts/lib/ptxd_make_world_install.sh
@@ -118,3 +118,27 @@ ptxd_make_world_install_pack() {
fi
}
export -f ptxd_make_world_install_pack
+
+ptxd_make_world_install_src() {
+ local base dst
+ ptxd_make_world_init || break
+
+ if [ "$(ptxd_get_ptxconf PTXCONF_TOOLCHAIN_DEBUG)" != "y" ]; then
+ return
+ fi
+
+ base="${PTXDIST_SYSROOT_CROSS}$(ptxd_get_ptxconf PTXCONF_PREFIX_CROSS)/src"
+ dst="${base}/$(basename ${pkg_dir})"
+ echo -e "\nCopying sources to $(ptxd_print_path "${dst}") ...\n"
+ mkdir -p "${base}" &&
+ rm -rf "${dst}" &&
+ cp -a "${pkg_dir}" "${dst}" &&
+ rm -f "${dst}/.pc/.quilt_patches" &&
+ if [ -e "${dst}/.ptxdist" ]; then
+ # patches and series are symlinked to the BSP, explicit copy the
+ # actual files here
+ rm -r "${dst}/.ptxdist" &&
+ cp -aL "${pkg_dir}/.ptxdist" "${dst}/.ptxdist"
+ fi
+}
+export -f ptxd_make_world_install_src