Project import generated by Copybara.
GitOrigin-RevId: 4842f32639f47ab481d2e3e13c4ca4f5c4146d6c
diff --git a/README b/README
index 83e9aae..878e853 100755
--- a/README
+++ b/README
@@ -5,15 +5,15 @@
set -o errtrace
trap 'echo Fatal error: script $0 aborting at line $LINENO, command \"$BASH_COMMAND\" returned $?; exit 1' ERR
-snapshot="2021.01.07.200850"
+snapshot="2022.03.12.131524"
snapshot_year=`echo $snapshot | cut -d . -f 1`
snapshot_month=`echo $snapshot | cut -d . -f 2`
snapshot_day=`echo $snapshot | cut -d . -f 3`
snapshot_time=`echo $snapshot | cut -d . -f 4`
-glibc_version=2.27-r20
+glibc_version=2.33-r16
-# Upgrade CrOS toolchain to GCC 4.9.x ${snapshot}
+# Upgrade CrOS toolchain to GCC 10.2.0 ${snapshot}
function build_toolchain_arm_none_eabi {
pushd ${SCRIPT_DIR}
@@ -21,14 +21,14 @@
# 1. Obtain {toolchain,glibc} prebuilts from Chrome OS.
gsutil.py cp gs://chromiumos-sdk/${snapshot_year}/${snapshot_month}/arm-none-eabi-${snapshot}.tar.xz .
- gsutil.py cp gs://chromeos-prebuilt/host/amd64/amd64-host/chroot-${snapshot}/packages/cross-arm-none-eabi/newlib-2.2.0.tbz2 .
+ gsutil.py cp gs://chromeos-prebuilt/host/amd64/amd64-host/chroot-${snapshot}/packages/cross-arm-none-eabi/newlib-4.1.0.tbz2 .
# 2. Extract downloaded toolchain (overwrite armv7a contents)
rm -rf arm
mkdir arm
tar -C arm -xf arm-none-eabi-${snapshot}.tar.xz
- tar -C arm -xf newlib-2.2.0.tbz2
- rm arm-none-eabi-${snapshot}.tar.xz newlib-2.2.0.tbz2
+ tar -C arm -xf newlib-4.1.0.tbz2
+ rm arm-none-eabi-${snapshot}.tar.xz newlib-4.1.0.tbz2
# 3. Make copies of libgcc_s.so.1 to fit with chromecast build system.
@@ -44,7 +44,7 @@
popd # ${SCRIPT_DIR}
}
-# Upgrade CrOS toolchain to GCC 4.9.x ${snapshot}
+# Upgrade CrOS toolchain to GCC 10.2.0 ${snapshot}
function build_toolchain {
pushd ${SCRIPT_DIR}
@@ -55,8 +55,8 @@
rm -rf ${arch}
# 1. Obtain {toolchain,glibc} prebuilts from Chrome OS.
- gsutil cp gs://chromiumos-sdk/${snapshot_year}/${snapshot_month}/${arch}-cros-linux-${abi}-${snapshot}.tar.xz .
- gsutil cp gs://chromeos-prebuilt/host/amd64/amd64-host/chroot-${snapshot}/packages/cross-${arch}-cros-linux-${abi}/glibc-${glibc_version}.tbz2 .
+ gsutil.py cp gs://chromiumos-sdk/${snapshot_year}/${snapshot_month}/${arch}-cros-linux-${abi}-${snapshot}.tar.xz .
+ gsutil.py cp gs://chromeos-prebuilt/host/amd64/amd64-host/chroot-${snapshot}/packages/cross-${arch}-cros-linux-${abi}/glibc-${glibc_version}.tbz2 .
# 2. Extract downloaded toolchain (overwrite armv7a contents)
rm -rf ${arch}
@@ -66,8 +66,7 @@
rm ${arch}-cros-linux-${abi}-${snapshot}.tar.xz glibc-${glibc_version}.tbz2
# 3. Make copies of libgcc_s.so.1 to fit with chromecast build system.
- cp ${arch}/usr/lib/gcc/${arch}-cros-linux-${abi}/4.9.x/libgcc_s.so.1 ${arch}/lib/
- cp ${arch}/usr/lib/gcc/${arch}-cros-linux-${abi}/4.9.x/libgcc_s.so.1 ${arch}/usr/${arch}-cros-linux-${abi}/lib/
+ cp ${arch}/usr/lib/gcc/${arch}-cros-linux-${abi}/10.2.0/libgcc_s.so.1 ${arch}/usr/${arch}-cros-linux-${abi}/lib/
# 4. Add NOTICE files.
curl -L https://www.gnu.org/licenses/lgpl-2.1.txt > ${arch}/usr/${arch}-cros-linux-${abi}/NOTICE-eglibc
diff --git a/README_gdbserver b/README_gdbserver
index ebc34af..fe5c035 100755
--- a/README_gdbserver
+++ b/README_gdbserver
@@ -19,8 +19,14 @@
# 5. Install gdbserver ${gdbserver_version}
wget https://ftp.gnu.org/gnu/gdb/gdb-${gdbserver_version}.tar.gz
tar -xf gdb-${gdbserver_version}.tar.gz
+
+ # patch the gdb-8.0.1 to pass compilation w/ glibc 2.32
+ pushd gdb-${gdbserver_version}
+ patch -p1 < ../fix_gdb-8.0.1_glibc-2.32.patch
+ popd
+
pushd gdb-${gdbserver_version}/gdb/gdbserver
- PATH=$PATH:`pwd`/../../../${arch}/usr/x86_64-pc-linux-gnu/${name}/gcc-bin/4.9.x/ ; ./configure --host=${name} \
+ PATH=`pwd`/../../../${arch}/usr/bin/:$PATH ; ./configure --host=${name} \
CC=${name}-clang CXX=${name}-clang++ CFLAGS="-stdlib=libc++" LDFLAGS="-stdlib=libc++ --rtlib=compiler-rt"
make -j50
popd
diff --git a/aarch64/bin/FileCheck b/aarch64/bin/FileCheck
index 3086c50..0e6b2f5 100755
--- a/aarch64/bin/FileCheck
+++ b/aarch64/bin/FileCheck
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/FileCheck" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/FileCheck" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/FileCheck.elf b/aarch64/bin/FileCheck.elf
index 1050a38..fc3e37e 100755
--- a/aarch64/bin/FileCheck.elf
+++ b/aarch64/bin/FileCheck.elf
Binary files differ
diff --git a/aarch64/bin/aarch64-cros-linux-gnu-addr2line b/aarch64/bin/aarch64-cros-linux-gnu-addr2line
index 3d93f11..984197c 100755
--- a/aarch64/bin/aarch64-cros-linux-gnu-addr2line
+++ b/aarch64/bin/aarch64-cros-linux-gnu-addr2line
@@ -1,4 +1,4 @@
#!/bin/sh
basedir=$(dirname "$0")
-"${basedir}/../usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.27.0-gold/addr2line" "$@"
+"${basedir}/../usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.36.1/addr2line" "$@"
exit "$?"
diff --git a/aarch64/bin/aarch64-cros-linux-gnu-addr2line.elf b/aarch64/bin/aarch64-cros-linux-gnu-addr2line.elf
new file mode 100755
index 0000000..2ff42cc
--- /dev/null
+++ b/aarch64/bin/aarch64-cros-linux-gnu-addr2line.elf
@@ -0,0 +1,4 @@
+#!/bin/sh
+basedir=$(dirname "$0")
+"${basedir}/../usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.36.1/addr2line.elf" "$@"
+exit "$?"
diff --git a/aarch64/bin/aarch64-cros-linux-gnu-ar b/aarch64/bin/aarch64-cros-linux-gnu-ar
index 97f1113..dc18d4c 100755
--- a/aarch64/bin/aarch64-cros-linux-gnu-ar
+++ b/aarch64/bin/aarch64-cros-linux-gnu-ar
@@ -1,4 +1,4 @@
#!/bin/sh
basedir=$(dirname "$0")
-"${basedir}/../usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.27.0-gold/ar" "$@"
+"${basedir}/../usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.36.1/ar" "$@"
exit "$?"
diff --git a/aarch64/bin/aarch64-cros-linux-gnu-ar.elf b/aarch64/bin/aarch64-cros-linux-gnu-ar.elf
new file mode 100755
index 0000000..839935a
--- /dev/null
+++ b/aarch64/bin/aarch64-cros-linux-gnu-ar.elf
@@ -0,0 +1,4 @@
+#!/bin/sh
+basedir=$(dirname "$0")
+"${basedir}/../usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.36.1/ar.elf" "$@"
+exit "$?"
diff --git a/aarch64/bin/aarch64-cros-linux-gnu-as b/aarch64/bin/aarch64-cros-linux-gnu-as
index ee72500..669eb19 100755
--- a/aarch64/bin/aarch64-cros-linux-gnu-as
+++ b/aarch64/bin/aarch64-cros-linux-gnu-as
@@ -1,4 +1,4 @@
#!/bin/sh
basedir=$(dirname "$0")
-"${basedir}/../usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.27.0-gold/as" "$@"
+"${basedir}/../usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.36.1/as" "$@"
exit "$?"
diff --git a/aarch64/bin/aarch64-cros-linux-gnu-as.elf b/aarch64/bin/aarch64-cros-linux-gnu-as.elf
new file mode 100755
index 0000000..e8217e0
--- /dev/null
+++ b/aarch64/bin/aarch64-cros-linux-gnu-as.elf
@@ -0,0 +1,4 @@
+#!/bin/sh
+basedir=$(dirname "$0")
+"${basedir}/../usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.36.1/as.elf" "$@"
+exit "$?"
diff --git a/aarch64/bin/aarch64-cros-linux-gnu-c++ b/aarch64/bin/aarch64-cros-linux-gnu-c++
index 5713edc..28a13c9 100755
--- a/aarch64/bin/aarch64-cros-linux-gnu-c++
+++ b/aarch64/bin/aarch64-cros-linux-gnu-c++
@@ -1,4 +1,4 @@
#!/bin/sh
basedir=$(dirname "$0")
-"${basedir}/../usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/gcc-bin/4.9.x/aarch64-cros-linux-gnu-c++" "$@"
+"${basedir}/../usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/gcc-bin/10.2.0/aarch64-cros-linux-gnu-c++" "$@"
exit "$?"
diff --git a/aarch64/bin/aarch64-cros-linux-gnu-c++-10.2.0 b/aarch64/bin/aarch64-cros-linux-gnu-c++-10.2.0
new file mode 120000
index 0000000..b5eb719
--- /dev/null
+++ b/aarch64/bin/aarch64-cros-linux-gnu-c++-10.2.0
@@ -0,0 +1 @@
+../usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/gcc-bin/10.2.0/aarch64-cros-linux-gnu-c++
\ No newline at end of file
diff --git a/aarch64/bin/aarch64-cros-linux-gnu-c++-4.9.x b/aarch64/bin/aarch64-cros-linux-gnu-c++-4.9.x
deleted file mode 100755
index 648bb36..0000000
--- a/aarch64/bin/aarch64-cros-linux-gnu-c++-4.9.x
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$0")
-"${basedir}/../usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/gcc-bin/4.9.x/sysroot_wrapper.hardened.ccache" "$@"
-exit "$?"
diff --git a/aarch64/bin/aarch64-cros-linux-gnu-c++filt b/aarch64/bin/aarch64-cros-linux-gnu-c++filt
index b3ecc34..2902820 100755
--- a/aarch64/bin/aarch64-cros-linux-gnu-c++filt
+++ b/aarch64/bin/aarch64-cros-linux-gnu-c++filt
@@ -1,4 +1,4 @@
#!/bin/sh
basedir=$(dirname "$0")
-"${basedir}/../usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.27.0-gold/c++filt" "$@"
+"${basedir}/../usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.36.1/c++filt" "$@"
exit "$?"
diff --git a/aarch64/bin/aarch64-cros-linux-gnu-c++filt.elf b/aarch64/bin/aarch64-cros-linux-gnu-c++filt.elf
new file mode 100755
index 0000000..3fd199b
--- /dev/null
+++ b/aarch64/bin/aarch64-cros-linux-gnu-c++filt.elf
@@ -0,0 +1,4 @@
+#!/bin/sh
+basedir=$(dirname "$0")
+"${basedir}/../usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.36.1/c++filt.elf" "$@"
+exit "$?"
diff --git a/aarch64/bin/aarch64-cros-linux-gnu-clang b/aarch64/bin/aarch64-cros-linux-gnu-clang
index 3f7cb17..d19b012 100755
--- a/aarch64/bin/aarch64-cros-linux-gnu-clang
+++ b/aarch64/bin/aarch64-cros-linux-gnu-clang
@@ -1,4 +1,4 @@
#!/bin/sh
basedir=$(dirname "$0")
-"${basedir}/../usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/gcc-bin/4.9.x/aarch64-cros-linux-gnu-clang" "$@"
+"${basedir}/../usr/bin/aarch64-cros-linux-gnu-clang" "$@"
exit "$?"
diff --git a/aarch64/bin/aarch64-cros-linux-gnu-clang++ b/aarch64/bin/aarch64-cros-linux-gnu-clang++
index 56fded2..ef8e125 100755
--- a/aarch64/bin/aarch64-cros-linux-gnu-clang++
+++ b/aarch64/bin/aarch64-cros-linux-gnu-clang++
@@ -1,4 +1,4 @@
#!/bin/sh
basedir=$(dirname "$0")
-"${basedir}/../usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/gcc-bin/4.9.x/aarch64-cros-linux-gnu-clang++" "$@"
+"${basedir}/../usr/bin/aarch64-cros-linux-gnu-clang++" "$@"
exit "$?"
diff --git a/aarch64/bin/aarch64-cros-linux-gnu-cpp b/aarch64/bin/aarch64-cros-linux-gnu-cpp
index ac357b5..c329d82 100755
--- a/aarch64/bin/aarch64-cros-linux-gnu-cpp
+++ b/aarch64/bin/aarch64-cros-linux-gnu-cpp
@@ -1,4 +1,4 @@
#!/bin/sh
basedir=$(dirname "$0")
-"${basedir}/../usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/gcc-bin/4.9.x/aarch64-cros-linux-gnu-cpp" "$@"
+"${basedir}/../usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/gcc-bin/10.2.0/aarch64-cros-linux-gnu-cpp" "$@"
exit "$?"
diff --git a/aarch64/bin/aarch64-cros-linux-gnu-cpp-10.2.0 b/aarch64/bin/aarch64-cros-linux-gnu-cpp-10.2.0
new file mode 100755
index 0000000..c329d82
--- /dev/null
+++ b/aarch64/bin/aarch64-cros-linux-gnu-cpp-10.2.0
@@ -0,0 +1,4 @@
+#!/bin/sh
+basedir=$(dirname "$0")
+"${basedir}/../usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/gcc-bin/10.2.0/aarch64-cros-linux-gnu-cpp" "$@"
+exit "$?"
diff --git a/aarch64/bin/aarch64-cros-linux-gnu-cpp-4.9.x b/aarch64/bin/aarch64-cros-linux-gnu-cpp-4.9.x
deleted file mode 100755
index ac357b5..0000000
--- a/aarch64/bin/aarch64-cros-linux-gnu-cpp-4.9.x
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$0")
-"${basedir}/../usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/gcc-bin/4.9.x/aarch64-cros-linux-gnu-cpp" "$@"
-exit "$?"
diff --git a/aarch64/bin/aarch64-cros-linux-gnu-dwp b/aarch64/bin/aarch64-cros-linux-gnu-dwp
index b43a30a..39c1d5d 100755
--- a/aarch64/bin/aarch64-cros-linux-gnu-dwp
+++ b/aarch64/bin/aarch64-cros-linux-gnu-dwp
@@ -1,4 +1,4 @@
#!/bin/sh
basedir=$(dirname "$0")
-"${basedir}/../usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.27.0-gold/dwp" "$@"
+"${basedir}/../usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.36.1/dwp" "$@"
exit "$?"
diff --git a/aarch64/bin/aarch64-cros-linux-gnu-dwp.elf b/aarch64/bin/aarch64-cros-linux-gnu-dwp.elf
new file mode 100755
index 0000000..53759c9
--- /dev/null
+++ b/aarch64/bin/aarch64-cros-linux-gnu-dwp.elf
@@ -0,0 +1,4 @@
+#!/bin/sh
+basedir=$(dirname "$0")
+"${basedir}/../usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.36.1/dwp.elf" "$@"
+exit "$?"
diff --git a/aarch64/bin/aarch64-cros-linux-gnu-elfedit b/aarch64/bin/aarch64-cros-linux-gnu-elfedit
index 388811a..1c4d326 100755
--- a/aarch64/bin/aarch64-cros-linux-gnu-elfedit
+++ b/aarch64/bin/aarch64-cros-linux-gnu-elfedit
@@ -1,4 +1,4 @@
#!/bin/sh
basedir=$(dirname "$0")
-"${basedir}/../usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.27.0-gold/elfedit" "$@"
+"${basedir}/../usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.36.1/elfedit" "$@"
exit "$?"
diff --git a/aarch64/bin/aarch64-cros-linux-gnu-elfedit.elf b/aarch64/bin/aarch64-cros-linux-gnu-elfedit.elf
new file mode 100755
index 0000000..e099966
--- /dev/null
+++ b/aarch64/bin/aarch64-cros-linux-gnu-elfedit.elf
@@ -0,0 +1,4 @@
+#!/bin/sh
+basedir=$(dirname "$0")
+"${basedir}/../usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.36.1/elfedit.elf" "$@"
+exit "$?"
diff --git a/aarch64/bin/aarch64-cros-linux-gnu-g++ b/aarch64/bin/aarch64-cros-linux-gnu-g++
index e73c9d6..b64dab1 100755
--- a/aarch64/bin/aarch64-cros-linux-gnu-g++
+++ b/aarch64/bin/aarch64-cros-linux-gnu-g++
@@ -1,4 +1,4 @@
#!/bin/sh
basedir=$(dirname "$0")
-"${basedir}/../usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/gcc-bin/4.9.x/aarch64-cros-linux-gnu-g++" "$@"
+"${basedir}/../usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/gcc-bin/10.2.0/aarch64-cros-linux-gnu-g++" "$@"
exit "$?"
diff --git a/aarch64/bin/aarch64-cros-linux-gnu-g++-10.2.0 b/aarch64/bin/aarch64-cros-linux-gnu-g++-10.2.0
new file mode 100755
index 0000000..701dfa9
--- /dev/null
+++ b/aarch64/bin/aarch64-cros-linux-gnu-g++-10.2.0
@@ -0,0 +1,4 @@
+#!/bin/sh
+basedir=$(dirname "$0")
+"${basedir}/../usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/gcc-bin/10.2.0/sysroot_wrapper.hardened.ccache" "$@"
+exit "$?"
diff --git a/aarch64/bin/aarch64-cros-linux-gnu-g++-4.9.x b/aarch64/bin/aarch64-cros-linux-gnu-g++-4.9.x
deleted file mode 120000
index 7d9e90f..0000000
--- a/aarch64/bin/aarch64-cros-linux-gnu-g++-4.9.x
+++ /dev/null
@@ -1 +0,0 @@
-../usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/gcc-bin/4.9.x/aarch64-cros-linux-gnu-g++
\ No newline at end of file
diff --git a/aarch64/bin/aarch64-cros-linux-gnu-gcc b/aarch64/bin/aarch64-cros-linux-gnu-gcc
index 1c34c42..794141f 100755
--- a/aarch64/bin/aarch64-cros-linux-gnu-gcc
+++ b/aarch64/bin/aarch64-cros-linux-gnu-gcc
@@ -1,4 +1,4 @@
#!/bin/sh
basedir=$(dirname "$0")
-"${basedir}/../usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/gcc-bin/4.9.x/aarch64-cros-linux-gnu-gcc" "$@"
+"${basedir}/../usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/gcc-bin/10.2.0/aarch64-cros-linux-gnu-gcc" "$@"
exit "$?"
diff --git a/aarch64/bin/aarch64-cros-linux-gnu-gcc-10.2.0 b/aarch64/bin/aarch64-cros-linux-gnu-gcc-10.2.0
new file mode 100755
index 0000000..a04eee8
--- /dev/null
+++ b/aarch64/bin/aarch64-cros-linux-gnu-gcc-10.2.0
@@ -0,0 +1,4 @@
+#!/bin/sh
+basedir=$(dirname "$0")
+"${basedir}/../usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/gcc-bin/10.2.0/aarch64-cros-linux-gnu-gcc-10.2.0" "$@"
+exit "$?"
diff --git a/aarch64/bin/aarch64-cros-linux-gnu-gcc-4.9.x b/aarch64/bin/aarch64-cros-linux-gnu-gcc-4.9.x
deleted file mode 100755
index dce4b09..0000000
--- a/aarch64/bin/aarch64-cros-linux-gnu-gcc-4.9.x
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$0")
-"${basedir}/../usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/gcc-bin/4.9.x/aarch64-cros-linux-gnu-gcc-4.9.x" "$@"
-exit "$?"
diff --git a/aarch64/bin/aarch64-cros-linux-gnu-gcc-ar b/aarch64/bin/aarch64-cros-linux-gnu-gcc-ar
index 203b9ff..d40793e 100755
--- a/aarch64/bin/aarch64-cros-linux-gnu-gcc-ar
+++ b/aarch64/bin/aarch64-cros-linux-gnu-gcc-ar
@@ -1,4 +1,4 @@
#!/bin/sh
basedir=$(dirname "$0")
-"${basedir}/../usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/gcc-bin/4.9.x/aarch64-cros-linux-gnu-gcc-ar" "$@"
+"${basedir}/../usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/gcc-bin/10.2.0/aarch64-cros-linux-gnu-gcc-ar" "$@"
exit "$?"
diff --git a/aarch64/bin/aarch64-cros-linux-gnu-gcc-nm b/aarch64/bin/aarch64-cros-linux-gnu-gcc-nm
index 7d0b623..1c2ed6f 100755
--- a/aarch64/bin/aarch64-cros-linux-gnu-gcc-nm
+++ b/aarch64/bin/aarch64-cros-linux-gnu-gcc-nm
@@ -1,4 +1,4 @@
#!/bin/sh
basedir=$(dirname "$0")
-"${basedir}/../usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/gcc-bin/4.9.x/aarch64-cros-linux-gnu-gcc-nm" "$@"
+"${basedir}/../usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/gcc-bin/10.2.0/aarch64-cros-linux-gnu-gcc-nm" "$@"
exit "$?"
diff --git a/aarch64/bin/aarch64-cros-linux-gnu-gcc-ranlib b/aarch64/bin/aarch64-cros-linux-gnu-gcc-ranlib
index 8762bcb..1125b70 100755
--- a/aarch64/bin/aarch64-cros-linux-gnu-gcc-ranlib
+++ b/aarch64/bin/aarch64-cros-linux-gnu-gcc-ranlib
@@ -1,4 +1,4 @@
#!/bin/sh
basedir=$(dirname "$0")
-"${basedir}/../usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/gcc-bin/4.9.x/aarch64-cros-linux-gnu-gcc-ranlib" "$@"
+"${basedir}/../usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/gcc-bin/10.2.0/aarch64-cros-linux-gnu-gcc-ranlib" "$@"
exit "$?"
diff --git a/aarch64/bin/aarch64-cros-linux-gnu-gcov b/aarch64/bin/aarch64-cros-linux-gnu-gcov
index 0e3831b..deb8fca 100755
--- a/aarch64/bin/aarch64-cros-linux-gnu-gcov
+++ b/aarch64/bin/aarch64-cros-linux-gnu-gcov
@@ -1,4 +1,4 @@
#!/bin/sh
basedir=$(dirname "$0")
-"${basedir}/../usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/gcc-bin/4.9.x/aarch64-cros-linux-gnu-gcov" "$@"
+"${basedir}/../usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/gcc-bin/10.2.0/aarch64-cros-linux-gnu-gcov" "$@"
exit "$?"
diff --git a/aarch64/bin/aarch64-cros-linux-gnu-gcov-10.2.0 b/aarch64/bin/aarch64-cros-linux-gnu-gcov-10.2.0
new file mode 100755
index 0000000..deb8fca
--- /dev/null
+++ b/aarch64/bin/aarch64-cros-linux-gnu-gcov-10.2.0
@@ -0,0 +1,4 @@
+#!/bin/sh
+basedir=$(dirname "$0")
+"${basedir}/../usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/gcc-bin/10.2.0/aarch64-cros-linux-gnu-gcov" "$@"
+exit "$?"
diff --git a/aarch64/bin/aarch64-cros-linux-gnu-gcov-4.9.x b/aarch64/bin/aarch64-cros-linux-gnu-gcov-4.9.x
deleted file mode 100755
index 0e3831b..0000000
--- a/aarch64/bin/aarch64-cros-linux-gnu-gcov-4.9.x
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$0")
-"${basedir}/../usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/gcc-bin/4.9.x/aarch64-cros-linux-gnu-gcov" "$@"
-exit "$?"
diff --git a/aarch64/bin/aarch64-cros-linux-gnu-gcov-dump b/aarch64/bin/aarch64-cros-linux-gnu-gcov-dump
new file mode 100755
index 0000000..4bf0a0a
--- /dev/null
+++ b/aarch64/bin/aarch64-cros-linux-gnu-gcov-dump
@@ -0,0 +1,4 @@
+#!/bin/sh
+basedir=$(dirname "$0")
+"${basedir}/../usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/gcc-bin/10.2.0/aarch64-cros-linux-gnu-gcov-dump" "$@"
+exit "$?"
diff --git a/aarch64/bin/aarch64-cros-linux-gnu-gcov-tool b/aarch64/bin/aarch64-cros-linux-gnu-gcov-tool
index 673002c..234a969 100755
--- a/aarch64/bin/aarch64-cros-linux-gnu-gcov-tool
+++ b/aarch64/bin/aarch64-cros-linux-gnu-gcov-tool
@@ -1,4 +1,4 @@
#!/bin/sh
basedir=$(dirname "$0")
-"${basedir}/../usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/gcc-bin/4.9.x/aarch64-cros-linux-gnu-gcov-tool" "$@"
+"${basedir}/../usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/gcc-bin/10.2.0/aarch64-cros-linux-gnu-gcov-tool" "$@"
exit "$?"
diff --git a/aarch64/bin/aarch64-cros-linux-gnu-gdb b/aarch64/bin/aarch64-cros-linux-gnu-gdb
index 5a338b9..d2ac4bd 100755
--- a/aarch64/bin/aarch64-cros-linux-gnu-gdb
+++ b/aarch64/bin/aarch64-cros-linux-gnu-gdb
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/aarch64-cros-linux-gnu-gdb" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/aarch64-cros-linux-gnu-gdb" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/aarch64-cros-linux-gnu-gdb.elf b/aarch64/bin/aarch64-cros-linux-gnu-gdb.elf
index 35a7967..a2c1ca7 100755
--- a/aarch64/bin/aarch64-cros-linux-gnu-gdb.elf
+++ b/aarch64/bin/aarch64-cros-linux-gnu-gdb.elf
Binary files differ
diff --git a/aarch64/bin/aarch64-cros-linux-gnu-gprof b/aarch64/bin/aarch64-cros-linux-gnu-gprof
index dd0d5ea..04b0b4c 100755
--- a/aarch64/bin/aarch64-cros-linux-gnu-gprof
+++ b/aarch64/bin/aarch64-cros-linux-gnu-gprof
@@ -1,4 +1,4 @@
#!/bin/sh
basedir=$(dirname "$0")
-"${basedir}/../usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.27.0-gold/gprof" "$@"
+"${basedir}/../usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.36.1/gprof" "$@"
exit "$?"
diff --git a/aarch64/bin/aarch64-cros-linux-gnu-gprof.elf b/aarch64/bin/aarch64-cros-linux-gnu-gprof.elf
new file mode 100755
index 0000000..9e9fd50
--- /dev/null
+++ b/aarch64/bin/aarch64-cros-linux-gnu-gprof.elf
@@ -0,0 +1,4 @@
+#!/bin/sh
+basedir=$(dirname "$0")
+"${basedir}/../usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.36.1/gprof.elf" "$@"
+exit "$?"
diff --git a/aarch64/bin/aarch64-cros-linux-gnu-ld b/aarch64/bin/aarch64-cros-linux-gnu-ld
index 611509a..7095060 100755
--- a/aarch64/bin/aarch64-cros-linux-gnu-ld
+++ b/aarch64/bin/aarch64-cros-linux-gnu-ld
@@ -1,4 +1,4 @@
#!/bin/sh
basedir=$(dirname "$0")
-"${basedir}/../usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.27.0-gold/ld" "$@"
+"${basedir}/../usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.36.1/ld" "$@"
exit "$?"
diff --git a/aarch64/bin/aarch64-cros-linux-gnu-ld.bfd b/aarch64/bin/aarch64-cros-linux-gnu-ld.bfd
index ef81294..c4e510d 100755
--- a/aarch64/bin/aarch64-cros-linux-gnu-ld.bfd
+++ b/aarch64/bin/aarch64-cros-linux-gnu-ld.bfd
@@ -1,4 +1,4 @@
#!/bin/sh
basedir=$(dirname "$0")
-"${basedir}/../usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.27.0-gold/ld.bfd" "$@"
+"${basedir}/../usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.36.1/ld.bfd" "$@"
exit "$?"
diff --git a/aarch64/bin/aarch64-cros-linux-gnu-ld.bfd.real.elf b/aarch64/bin/aarch64-cros-linux-gnu-ld.bfd.real.elf
new file mode 100755
index 0000000..e4e9118
--- /dev/null
+++ b/aarch64/bin/aarch64-cros-linux-gnu-ld.bfd.real.elf
@@ -0,0 +1,4 @@
+#!/bin/sh
+basedir=$(dirname "$0")
+"${basedir}/../usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.36.1/ld.bfd.real.elf" "$@"
+exit "$?"
diff --git a/aarch64/bin/aarch64-cros-linux-gnu-ld.gold b/aarch64/bin/aarch64-cros-linux-gnu-ld.gold
deleted file mode 100755
index 8cc1f06..0000000
--- a/aarch64/bin/aarch64-cros-linux-gnu-ld.gold
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$0")
-"${basedir}/../usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.27.0-gold/ld.gold" "$@"
-exit "$?"
diff --git a/aarch64/bin/aarch64-cros-linux-gnu-ld.lld b/aarch64/bin/aarch64-cros-linux-gnu-ld.lld
index f240615..8f94dfa 100755
--- a/aarch64/bin/aarch64-cros-linux-gnu-ld.lld
+++ b/aarch64/bin/aarch64-cros-linux-gnu-ld.lld
@@ -6,4 +6,4 @@
# This files wraps lld.
# Enable smallpie, now, relro and hash-style=gnu to match gold wrapper.
# Enable norosegment to match gold wrapper, for symbolization. b/140622025
-exec "$(dirname "$(readlink -f "$0")")"/ld.lld --pack-dyn-relocs=relr -z now -z relro --no-rosegment --hash-style=gnu "$@"
+exec "$(dirname "$(readlink -f "$0")")"/ld.lld --pack-dyn-relocs=relr -z now -z relro --no-rosegment --hash-style=gnu -z nostart-stop-gc "$@"
diff --git a/aarch64/bin/aarch64-cros-linux-gnu-lto-dump b/aarch64/bin/aarch64-cros-linux-gnu-lto-dump
new file mode 100755
index 0000000..6678e89
--- /dev/null
+++ b/aarch64/bin/aarch64-cros-linux-gnu-lto-dump
@@ -0,0 +1,4 @@
+#!/bin/sh
+basedir=$(dirname "$0")
+"${basedir}/../usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/gcc-bin/10.2.0/aarch64-cros-linux-gnu-lto-dump" "$@"
+exit "$?"
diff --git a/aarch64/bin/aarch64-cros-linux-gnu-nm b/aarch64/bin/aarch64-cros-linux-gnu-nm
index 33db217..9d35a5c 100755
--- a/aarch64/bin/aarch64-cros-linux-gnu-nm
+++ b/aarch64/bin/aarch64-cros-linux-gnu-nm
@@ -1,4 +1,4 @@
#!/bin/sh
basedir=$(dirname "$0")
-"${basedir}/../usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.27.0-gold/nm" "$@"
+"${basedir}/../usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.36.1/nm" "$@"
exit "$?"
diff --git a/aarch64/bin/aarch64-cros-linux-gnu-nm.elf b/aarch64/bin/aarch64-cros-linux-gnu-nm.elf
new file mode 100755
index 0000000..045f225
--- /dev/null
+++ b/aarch64/bin/aarch64-cros-linux-gnu-nm.elf
@@ -0,0 +1,4 @@
+#!/bin/sh
+basedir=$(dirname "$0")
+"${basedir}/../usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.36.1/nm.elf" "$@"
+exit "$?"
diff --git a/aarch64/bin/aarch64-cros-linux-gnu-objcopy b/aarch64/bin/aarch64-cros-linux-gnu-objcopy
index 10a6e0a..211611f 100755
--- a/aarch64/bin/aarch64-cros-linux-gnu-objcopy
+++ b/aarch64/bin/aarch64-cros-linux-gnu-objcopy
@@ -1,4 +1,4 @@
#!/bin/sh
basedir=$(dirname "$0")
-"${basedir}/../usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.27.0-gold/objcopy" "$@"
+"${basedir}/../usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.36.1/objcopy" "$@"
exit "$?"
diff --git a/aarch64/bin/aarch64-cros-linux-gnu-objcopy.elf b/aarch64/bin/aarch64-cros-linux-gnu-objcopy.elf
new file mode 100755
index 0000000..fece6ee
--- /dev/null
+++ b/aarch64/bin/aarch64-cros-linux-gnu-objcopy.elf
@@ -0,0 +1,4 @@
+#!/bin/sh
+basedir=$(dirname "$0")
+"${basedir}/../usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.36.1/objcopy.elf" "$@"
+exit "$?"
diff --git a/aarch64/bin/aarch64-cros-linux-gnu-objdump b/aarch64/bin/aarch64-cros-linux-gnu-objdump
index 391aec6..4f6b5c0 100755
--- a/aarch64/bin/aarch64-cros-linux-gnu-objdump
+++ b/aarch64/bin/aarch64-cros-linux-gnu-objdump
@@ -1,4 +1,4 @@
#!/bin/sh
basedir=$(dirname "$0")
-"${basedir}/../usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.27.0-gold/objdump" "$@"
+"${basedir}/../usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.36.1/objdump" "$@"
exit "$?"
diff --git a/aarch64/bin/aarch64-cros-linux-gnu-objdump.elf b/aarch64/bin/aarch64-cros-linux-gnu-objdump.elf
new file mode 100755
index 0000000..a0583f9
--- /dev/null
+++ b/aarch64/bin/aarch64-cros-linux-gnu-objdump.elf
@@ -0,0 +1,4 @@
+#!/bin/sh
+basedir=$(dirname "$0")
+"${basedir}/../usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.36.1/objdump.elf" "$@"
+exit "$?"
diff --git a/aarch64/bin/aarch64-cros-linux-gnu-ranlib b/aarch64/bin/aarch64-cros-linux-gnu-ranlib
index 9033e1e..0ef1787 100755
--- a/aarch64/bin/aarch64-cros-linux-gnu-ranlib
+++ b/aarch64/bin/aarch64-cros-linux-gnu-ranlib
@@ -1,4 +1,4 @@
#!/bin/sh
basedir=$(dirname "$0")
-"${basedir}/../usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.27.0-gold/ranlib" "$@"
+"${basedir}/../usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.36.1/ranlib" "$@"
exit "$?"
diff --git a/aarch64/bin/aarch64-cros-linux-gnu-ranlib.elf b/aarch64/bin/aarch64-cros-linux-gnu-ranlib.elf
new file mode 100755
index 0000000..ec1f11e
--- /dev/null
+++ b/aarch64/bin/aarch64-cros-linux-gnu-ranlib.elf
@@ -0,0 +1,4 @@
+#!/bin/sh
+basedir=$(dirname "$0")
+"${basedir}/../usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.36.1/ranlib.elf" "$@"
+exit "$?"
diff --git a/aarch64/bin/aarch64-cros-linux-gnu-readelf b/aarch64/bin/aarch64-cros-linux-gnu-readelf
index 51cb7a5..9caca3f 100755
--- a/aarch64/bin/aarch64-cros-linux-gnu-readelf
+++ b/aarch64/bin/aarch64-cros-linux-gnu-readelf
@@ -1,4 +1,4 @@
#!/bin/sh
basedir=$(dirname "$0")
-"${basedir}/../usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.27.0-gold/readelf" "$@"
+"${basedir}/../usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.36.1/readelf" "$@"
exit "$?"
diff --git a/aarch64/bin/aarch64-cros-linux-gnu-readelf.elf b/aarch64/bin/aarch64-cros-linux-gnu-readelf.elf
new file mode 100755
index 0000000..44f9f61
--- /dev/null
+++ b/aarch64/bin/aarch64-cros-linux-gnu-readelf.elf
@@ -0,0 +1,4 @@
+#!/bin/sh
+basedir=$(dirname "$0")
+"${basedir}/../usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.36.1/readelf.elf" "$@"
+exit "$?"
diff --git a/aarch64/bin/aarch64-cros-linux-gnu-run b/aarch64/bin/aarch64-cros-linux-gnu-run
index 88724e3..43e5c09 100755
--- a/aarch64/bin/aarch64-cros-linux-gnu-run
+++ b/aarch64/bin/aarch64-cros-linux-gnu-run
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/aarch64-cros-linux-gnu-run" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/aarch64-cros-linux-gnu-run" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/aarch64-cros-linux-gnu-run.elf b/aarch64/bin/aarch64-cros-linux-gnu-run.elf
index 8777bbb..cdb65e0 100755
--- a/aarch64/bin/aarch64-cros-linux-gnu-run.elf
+++ b/aarch64/bin/aarch64-cros-linux-gnu-run.elf
Binary files differ
diff --git a/aarch64/bin/aarch64-cros-linux-gnu-size b/aarch64/bin/aarch64-cros-linux-gnu-size
index d45842a..6256a37 100755
--- a/aarch64/bin/aarch64-cros-linux-gnu-size
+++ b/aarch64/bin/aarch64-cros-linux-gnu-size
@@ -1,4 +1,4 @@
#!/bin/sh
basedir=$(dirname "$0")
-"${basedir}/../usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.27.0-gold/size" "$@"
+"${basedir}/../usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.36.1/size" "$@"
exit "$?"
diff --git a/aarch64/bin/aarch64-cros-linux-gnu-size.elf b/aarch64/bin/aarch64-cros-linux-gnu-size.elf
new file mode 100755
index 0000000..dc75652
--- /dev/null
+++ b/aarch64/bin/aarch64-cros-linux-gnu-size.elf
@@ -0,0 +1,4 @@
+#!/bin/sh
+basedir=$(dirname "$0")
+"${basedir}/../usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.36.1/size.elf" "$@"
+exit "$?"
diff --git a/aarch64/bin/aarch64-cros-linux-gnu-strings b/aarch64/bin/aarch64-cros-linux-gnu-strings
index 510852f..6f5c761 100755
--- a/aarch64/bin/aarch64-cros-linux-gnu-strings
+++ b/aarch64/bin/aarch64-cros-linux-gnu-strings
@@ -1,4 +1,4 @@
#!/bin/sh
basedir=$(dirname "$0")
-"${basedir}/../usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.27.0-gold/strings" "$@"
+"${basedir}/../usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.36.1/strings" "$@"
exit "$?"
diff --git a/aarch64/bin/aarch64-cros-linux-gnu-strings.elf b/aarch64/bin/aarch64-cros-linux-gnu-strings.elf
new file mode 100755
index 0000000..6c681ff
--- /dev/null
+++ b/aarch64/bin/aarch64-cros-linux-gnu-strings.elf
@@ -0,0 +1,4 @@
+#!/bin/sh
+basedir=$(dirname "$0")
+"${basedir}/../usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.36.1/strings.elf" "$@"
+exit "$?"
diff --git a/aarch64/bin/aarch64-cros-linux-gnu-strip b/aarch64/bin/aarch64-cros-linux-gnu-strip
index 7929e37..18b4d5d 100755
--- a/aarch64/bin/aarch64-cros-linux-gnu-strip
+++ b/aarch64/bin/aarch64-cros-linux-gnu-strip
@@ -1,4 +1,4 @@
#!/bin/sh
basedir=$(dirname "$0")
-"${basedir}/../usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.27.0-gold/strip" "$@"
+"${basedir}/../usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.36.1/strip" "$@"
exit "$?"
diff --git a/aarch64/bin/aarch64-cros-linux-gnu-strip.elf b/aarch64/bin/aarch64-cros-linux-gnu-strip.elf
new file mode 100755
index 0000000..3b273c7
--- /dev/null
+++ b/aarch64/bin/aarch64-cros-linux-gnu-strip.elf
@@ -0,0 +1,4 @@
+#!/bin/sh
+basedir=$(dirname "$0")
+"${basedir}/../usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.36.1/strip.elf" "$@"
+exit "$?"
diff --git a/aarch64/bin/analyze-build b/aarch64/bin/analyze-build
new file mode 100755
index 0000000..b3f6142
--- /dev/null
+++ b/aarch64/bin/analyze-build
@@ -0,0 +1,17 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+# 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
+
+import multiprocessing
+import sys
+import os.path
+this_dir = os.path.dirname(os.path.realpath(__file__))
+sys.path.append(os.path.join(os.path.dirname(this_dir), 'lib'))
+
+from libscanbuild.analyze import analyze_build
+
+if __name__ == '__main__':
+ multiprocessing.freeze_support()
+ sys.exit(analyze_build())
diff --git a/aarch64/bin/asan_symbolize.py b/aarch64/bin/asan_symbolize.py
index 5c4001a..ab04b1c 100755
--- a/aarch64/bin/asan_symbolize.py
+++ b/aarch64/bin/asan_symbolize.py
@@ -208,7 +208,7 @@
# EPIPE happens if addr2line exits early (which some implementations do
# if an invalid file is passed).
if e.errno == errno.EPIPE:
- logging.debug("addr2line exited early (broken pipe), returncode=%d" % self.pipe.poll())
+ logging.debug(f"addr2line exited early (broken pipe) returncode={self.pipe.poll()}")
else:
logging.debug("unexpected I/O exception communicating with addr2line", exc_info=e)
lines.append(('??', '??:0'))
diff --git a/aarch64/bin/bugpoint b/aarch64/bin/bugpoint
index edaf98a..5ff3448 100755
--- a/aarch64/bin/bugpoint
+++ b/aarch64/bin/bugpoint
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/bugpoint" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/bugpoint" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/bugpoint.elf b/aarch64/bin/bugpoint.elf
index f09d663..f837688 100755
--- a/aarch64/bin/bugpoint.elf
+++ b/aarch64/bin/bugpoint.elf
Binary files differ
diff --git a/aarch64/bin/c-index-test b/aarch64/bin/c-index-test
index 4039b91..50cec88 100755
--- a/aarch64/bin/c-index-test
+++ b/aarch64/bin/c-index-test
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/c-index-test" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/c-index-test" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/c-index-test.elf b/aarch64/bin/c-index-test.elf
index df41318..2d129e8 100755
--- a/aarch64/bin/c-index-test.elf
+++ b/aarch64/bin/c-index-test.elf
Binary files differ
diff --git a/aarch64/bin/clippy-driver b/aarch64/bin/clippy-driver
index 0802c6e..7852c38 100755
--- a/aarch64/bin/clippy-driver
+++ b/aarch64/bin/clippy-driver
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/clippy-driver" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../usr/lib:${basedir}/../usr/lib64/rust/rustlib/x86_64-unknown-linux-gnu/lib:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/clippy-driver" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../usr/lib:${basedir}/../usr/lib64/rust/rustlib/x86_64-unknown-linux-gnu/lib:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/clippy-driver.elf b/aarch64/bin/clippy-driver.elf
index 3660332..a795106 100755
--- a/aarch64/bin/clippy-driver.elf
+++ b/aarch64/bin/clippy-driver.elf
Binary files differ
diff --git a/aarch64/bin/count b/aarch64/bin/count
index d1562a4..8e08470 100755
--- a/aarch64/bin/count
+++ b/aarch64/bin/count
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/count" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/count" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/count.elf b/aarch64/bin/count.elf
index e4e756e..91c98cb 100755
--- a/aarch64/bin/count.elf
+++ b/aarch64/bin/count.elf
Binary files differ
diff --git a/aarch64/bin/diagtool b/aarch64/bin/diagtool
index 975527f..e66971d 100755
--- a/aarch64/bin/diagtool
+++ b/aarch64/bin/diagtool
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/diagtool" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/diagtool" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/diagtool.elf b/aarch64/bin/diagtool.elf
index f8bfdeb..1bfa7af 100755
--- a/aarch64/bin/diagtool.elf
+++ b/aarch64/bin/diagtool.elf
Binary files differ
diff --git a/aarch64/bin/dsymutil b/aarch64/bin/dsymutil
index 13be5a2..bd48395 100755
--- a/aarch64/bin/dsymutil
+++ b/aarch64/bin/dsymutil
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/dsymutil" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/dsymutil" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/dsymutil.elf b/aarch64/bin/dsymutil.elf
index fb22153..312f18e 100755
--- a/aarch64/bin/dsymutil.elf
+++ b/aarch64/bin/dsymutil.elf
Binary files differ
diff --git a/aarch64/bin/eu-addr2line b/aarch64/bin/eu-addr2line
index 7f03eed..d9aeb63 100755
--- a/aarch64/bin/eu-addr2line
+++ b/aarch64/bin/eu-addr2line
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/eu-addr2line" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/eu-addr2line" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/eu-addr2line.elf b/aarch64/bin/eu-addr2line.elf
index 74822f3..77d56ec 100755
--- a/aarch64/bin/eu-addr2line.elf
+++ b/aarch64/bin/eu-addr2line.elf
Binary files differ
diff --git a/aarch64/bin/eu-ar b/aarch64/bin/eu-ar
index 3dbc757..eb2d5a7 100755
--- a/aarch64/bin/eu-ar
+++ b/aarch64/bin/eu-ar
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/eu-ar" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/eu-ar" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/eu-ar.elf b/aarch64/bin/eu-ar.elf
index d56755d..87f2b7c 100755
--- a/aarch64/bin/eu-ar.elf
+++ b/aarch64/bin/eu-ar.elf
Binary files differ
diff --git a/aarch64/bin/eu-elfclassify b/aarch64/bin/eu-elfclassify
index 7fba23b..eb0c830 100755
--- a/aarch64/bin/eu-elfclassify
+++ b/aarch64/bin/eu-elfclassify
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/eu-elfclassify" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/eu-elfclassify" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/eu-elfclassify.elf b/aarch64/bin/eu-elfclassify.elf
index 01a563d..fae5790 100755
--- a/aarch64/bin/eu-elfclassify.elf
+++ b/aarch64/bin/eu-elfclassify.elf
Binary files differ
diff --git a/aarch64/bin/eu-elfcmp b/aarch64/bin/eu-elfcmp
index ec7be79..0c71dc9 100755
--- a/aarch64/bin/eu-elfcmp
+++ b/aarch64/bin/eu-elfcmp
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/eu-elfcmp" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/eu-elfcmp" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/eu-elfcmp.elf b/aarch64/bin/eu-elfcmp.elf
index 84e42d6..20032d4 100755
--- a/aarch64/bin/eu-elfcmp.elf
+++ b/aarch64/bin/eu-elfcmp.elf
Binary files differ
diff --git a/aarch64/bin/eu-elfcompress b/aarch64/bin/eu-elfcompress
index d6b161d..0125c18 100755
--- a/aarch64/bin/eu-elfcompress
+++ b/aarch64/bin/eu-elfcompress
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/eu-elfcompress" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/eu-elfcompress" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/eu-elfcompress.elf b/aarch64/bin/eu-elfcompress.elf
index a2b2186..f427be2 100755
--- a/aarch64/bin/eu-elfcompress.elf
+++ b/aarch64/bin/eu-elfcompress.elf
Binary files differ
diff --git a/aarch64/bin/eu-elflint b/aarch64/bin/eu-elflint
index bd35ff2..2ac99de 100755
--- a/aarch64/bin/eu-elflint
+++ b/aarch64/bin/eu-elflint
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/eu-elflint" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/eu-elflint" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/eu-elflint.elf b/aarch64/bin/eu-elflint.elf
index 10f52b2..dd940f7 100755
--- a/aarch64/bin/eu-elflint.elf
+++ b/aarch64/bin/eu-elflint.elf
Binary files differ
diff --git a/aarch64/bin/eu-findtextrel b/aarch64/bin/eu-findtextrel
index a9a0959..6541a08 100755
--- a/aarch64/bin/eu-findtextrel
+++ b/aarch64/bin/eu-findtextrel
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/eu-findtextrel" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/eu-findtextrel" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/eu-findtextrel.elf b/aarch64/bin/eu-findtextrel.elf
index c4b9d25..082f8e3 100755
--- a/aarch64/bin/eu-findtextrel.elf
+++ b/aarch64/bin/eu-findtextrel.elf
Binary files differ
diff --git a/aarch64/bin/eu-make-debug-archive b/aarch64/bin/eu-make-debug-archive
index b798e75..7439a31 100755
--- a/aarch64/bin/eu-make-debug-archive
+++ b/aarch64/bin/eu-make-debug-archive
@@ -45,7 +45,7 @@
script_version()
{
- echo "`basename $0` (elfutils) 0.177"
+ echo "`basename $0` (elfutils) 0.185"
echo "Copyright (C) 2007 Red Hat, Inc."
echo "This is free software; see the source for copying conditions."
echo "There is NO warranty; not even for MERCHANTABILITY or"
diff --git a/aarch64/bin/eu-nm b/aarch64/bin/eu-nm
index b6f3f28..ad460e1 100755
--- a/aarch64/bin/eu-nm
+++ b/aarch64/bin/eu-nm
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/eu-nm" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/eu-nm" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/eu-nm.elf b/aarch64/bin/eu-nm.elf
index e9af74c..f541d1b 100755
--- a/aarch64/bin/eu-nm.elf
+++ b/aarch64/bin/eu-nm.elf
Binary files differ
diff --git a/aarch64/bin/eu-objdump b/aarch64/bin/eu-objdump
index 02d0014..980d2dd 100755
--- a/aarch64/bin/eu-objdump
+++ b/aarch64/bin/eu-objdump
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/eu-objdump" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/eu-objdump" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/eu-objdump.elf b/aarch64/bin/eu-objdump.elf
index e15cade..cc87020 100755
--- a/aarch64/bin/eu-objdump.elf
+++ b/aarch64/bin/eu-objdump.elf
Binary files differ
diff --git a/aarch64/bin/eu-ranlib b/aarch64/bin/eu-ranlib
index a53fa7e..a2d0e4e 100755
--- a/aarch64/bin/eu-ranlib
+++ b/aarch64/bin/eu-ranlib
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/eu-ranlib" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/eu-ranlib" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/eu-ranlib.elf b/aarch64/bin/eu-ranlib.elf
index bb54485..b80e1cf 100755
--- a/aarch64/bin/eu-ranlib.elf
+++ b/aarch64/bin/eu-ranlib.elf
Binary files differ
diff --git a/aarch64/bin/eu-readelf b/aarch64/bin/eu-readelf
index 1cd8230..867bb6d 100755
--- a/aarch64/bin/eu-readelf
+++ b/aarch64/bin/eu-readelf
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/eu-readelf" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/eu-readelf" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/eu-readelf.elf b/aarch64/bin/eu-readelf.elf
index 8fb67e7..3db5e4a 100755
--- a/aarch64/bin/eu-readelf.elf
+++ b/aarch64/bin/eu-readelf.elf
Binary files differ
diff --git a/aarch64/bin/eu-size b/aarch64/bin/eu-size
index 26ebc59..da31068 100755
--- a/aarch64/bin/eu-size
+++ b/aarch64/bin/eu-size
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/eu-size" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/eu-size" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/eu-size.elf b/aarch64/bin/eu-size.elf
index b64e1b1..49b308b 100755
--- a/aarch64/bin/eu-size.elf
+++ b/aarch64/bin/eu-size.elf
Binary files differ
diff --git a/aarch64/bin/eu-stack b/aarch64/bin/eu-stack
index 7df09d7..d849807 100755
--- a/aarch64/bin/eu-stack
+++ b/aarch64/bin/eu-stack
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/eu-stack" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/eu-stack" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/eu-stack.elf b/aarch64/bin/eu-stack.elf
index d0af395..fe197db 100755
--- a/aarch64/bin/eu-stack.elf
+++ b/aarch64/bin/eu-stack.elf
Binary files differ
diff --git a/aarch64/bin/eu-strings b/aarch64/bin/eu-strings
index e90b197..129fc70 100755
--- a/aarch64/bin/eu-strings
+++ b/aarch64/bin/eu-strings
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/eu-strings" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/eu-strings" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/eu-strings.elf b/aarch64/bin/eu-strings.elf
index 1f0d6a2..11d567b 100755
--- a/aarch64/bin/eu-strings.elf
+++ b/aarch64/bin/eu-strings.elf
Binary files differ
diff --git a/aarch64/bin/eu-strip b/aarch64/bin/eu-strip
index 976842b..423ff5d 100755
--- a/aarch64/bin/eu-strip
+++ b/aarch64/bin/eu-strip
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/eu-strip" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/eu-strip" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/eu-strip.elf b/aarch64/bin/eu-strip.elf
index b9c27a2..e0eb6e8 100755
--- a/aarch64/bin/eu-strip.elf
+++ b/aarch64/bin/eu-strip.elf
Binary files differ
diff --git a/aarch64/bin/eu-unstrip b/aarch64/bin/eu-unstrip
index b7581fa..f00eff2 100755
--- a/aarch64/bin/eu-unstrip
+++ b/aarch64/bin/eu-unstrip
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/eu-unstrip" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/eu-unstrip" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/eu-unstrip.elf b/aarch64/bin/eu-unstrip.elf
index 7d2c5ca..d1a4921 100755
--- a/aarch64/bin/eu-unstrip.elf
+++ b/aarch64/bin/eu-unstrip.elf
Binary files differ
diff --git a/aarch64/bin/find-all-symbols b/aarch64/bin/find-all-symbols
index 0e58599..2b11eb5 100755
--- a/aarch64/bin/find-all-symbols
+++ b/aarch64/bin/find-all-symbols
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/find-all-symbols" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/find-all-symbols" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/find-all-symbols.elf b/aarch64/bin/find-all-symbols.elf
index 932098a..2f91149 100755
--- a/aarch64/bin/find-all-symbols.elf
+++ b/aarch64/bin/find-all-symbols.elf
Binary files differ
diff --git a/aarch64/bin/hmaptool b/aarch64/bin/hmaptool
index 58baab2..7949002 100755
--- a/aarch64/bin/hmaptool
+++ b/aarch64/bin/hmaptool
@@ -1,6 +1,7 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
from __future__ import absolute_import, division, print_function
+from ctypes import ArgumentError
import json
import optparse
import os
@@ -9,8 +10,8 @@
###
-k_header_magic_LE = 'pamh'
-k_header_magic_BE = 'hmap'
+k_header_magic_LE = b'pamh'
+k_header_magic_BE = b'hmap'
def hmap_hash(str):
"""hash(str) -> int
@@ -43,7 +44,7 @@
path,))
(version, reserved, strtable_offset, num_entries,
- num_buckets, max_value_len) = struct.unpack(header_fmt, data)
+ num_buckets) = struct.unpack(header_fmt, data)
if version != 1:
raise SystemExit("error: %s: unknown headermap version: %r" % (
@@ -83,7 +84,7 @@
if len(strtable) != strtable_size:
raise SystemExit("error: %s: unable to read complete string table"%(
path,))
- if strtable[-1] != '\0':
+ if strtable[-1] != 0:
raise SystemExit("error: %s: invalid string table in headermap" % (
path,))
@@ -97,8 +98,8 @@
def get_string(self, idx):
if idx >= len(self.strtable):
raise SystemExit("error: %s: invalid string index" % (
- path,))
- end_idx = self.strtable.index('\0', idx)
+ idx,))
+ end_idx = self.strtable.index(0, idx)
return self.strtable[idx:end_idx]
@property
@@ -147,7 +148,7 @@
suffix = hmap.get_string(suffix_idx)
print (" bucket[%d]: %r -> (%r, %r) -- %d" % (
- i, key, prefix, suffix, (hmap_hash(key) & (num_buckets - 1))))
+ i, key, prefix, suffix, (hmap_hash(key) & (len(hmap.buckets) - 1))))
else:
mappings = sorted(hmap.mappings)
for key,value in mappings:
@@ -220,7 +221,7 @@
# Write out the headermap.
with open(output_path, 'wb') as f:
- f.write(magic.encode())
+ f.write(magic)
f.write(struct.pack(header_fmt, *header))
for bucket in table:
f.write(struct.pack(bucket_fmt, *bucket))
diff --git a/aarch64/bin/intercept-build b/aarch64/bin/intercept-build
new file mode 100755
index 0000000..9ecde39
--- /dev/null
+++ b/aarch64/bin/intercept-build
@@ -0,0 +1,17 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+# 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
+
+import multiprocessing
+import sys
+import os.path
+this_dir = os.path.dirname(os.path.realpath(__file__))
+sys.path.append(os.path.join(os.path.dirname(this_dir), 'lib'))
+
+from libscanbuild.intercept import intercept_build
+
+if __name__ == '__main__':
+ multiprocessing.freeze_support()
+ sys.exit(intercept_build())
diff --git a/aarch64/bin/ld64.lld.darwinnew b/aarch64/bin/ld64.lld.darwinnew
new file mode 120000
index 0000000..02416ac
--- /dev/null
+++ b/aarch64/bin/ld64.lld.darwinnew
@@ -0,0 +1 @@
+lld
\ No newline at end of file
diff --git a/aarch64/bin/ld64.lld.darwinold b/aarch64/bin/ld64.lld.darwinold
new file mode 120000
index 0000000..02416ac
--- /dev/null
+++ b/aarch64/bin/ld64.lld.darwinold
@@ -0,0 +1 @@
+lld
\ No newline at end of file
diff --git a/aarch64/bin/llc b/aarch64/bin/llc
index 6dce27b..abbf13e 100755
--- a/aarch64/bin/llc
+++ b/aarch64/bin/llc
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/llc" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/llc" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/llc.elf b/aarch64/bin/llc.elf
index 8517d01..0704899 100755
--- a/aarch64/bin/llc.elf
+++ b/aarch64/bin/llc.elf
Binary files differ
diff --git a/aarch64/bin/lld b/aarch64/bin/lld
index 0c4a6ab..7d9f14b 100755
--- a/aarch64/bin/lld
+++ b/aarch64/bin/lld
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/lld" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/lld" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/lld.elf b/aarch64/bin/lld.elf
index 4f24da7..3e12ab1 100755
--- a/aarch64/bin/lld.elf
+++ b/aarch64/bin/lld.elf
Binary files differ
diff --git a/aarch64/bin/lldb b/aarch64/bin/lldb
new file mode 100755
index 0000000..8fe7a23
--- /dev/null
+++ b/aarch64/bin/lldb
@@ -0,0 +1,14 @@
+#!/bin/sh
+if base=$(readlink "$0" 2>/dev/null); then
+ case $base in
+ /*) base=$(readlink -f "$0" 2>/dev/null);; # if $0 is abspath symlink, make symlink fully resolved.
+ *) base=$(dirname "$0")/"${base}";;
+ esac
+else
+ case $0 in
+ /*) base=$0;;
+ *) base=${PWD:-`pwd`}/$0;;
+ esac
+fi
+basedir=${base%/*}
+LD_ARGV0_REL="../bin/lldb" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/lldb-argdumper b/aarch64/bin/lldb-argdumper
new file mode 100755
index 0000000..396d49c
--- /dev/null
+++ b/aarch64/bin/lldb-argdumper
@@ -0,0 +1,14 @@
+#!/bin/sh
+if base=$(readlink "$0" 2>/dev/null); then
+ case $base in
+ /*) base=$(readlink -f "$0" 2>/dev/null);; # if $0 is abspath symlink, make symlink fully resolved.
+ *) base=$(dirname "$0")/"${base}";;
+ esac
+else
+ case $0 in
+ /*) base=$0;;
+ *) base=${PWD:-`pwd`}/$0;;
+ esac
+fi
+basedir=${base%/*}
+LD_ARGV0_REL="../bin/lldb-argdumper" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/lldb-argdumper.elf b/aarch64/bin/lldb-argdumper.elf
new file mode 100755
index 0000000..aba4dd8
--- /dev/null
+++ b/aarch64/bin/lldb-argdumper.elf
Binary files differ
diff --git a/aarch64/bin/lldb-instr b/aarch64/bin/lldb-instr
new file mode 100755
index 0000000..c6cb78b
--- /dev/null
+++ b/aarch64/bin/lldb-instr
@@ -0,0 +1,14 @@
+#!/bin/sh
+if base=$(readlink "$0" 2>/dev/null); then
+ case $base in
+ /*) base=$(readlink -f "$0" 2>/dev/null);; # if $0 is abspath symlink, make symlink fully resolved.
+ *) base=$(dirname "$0")/"${base}";;
+ esac
+else
+ case $0 in
+ /*) base=$0;;
+ *) base=${PWD:-`pwd`}/$0;;
+ esac
+fi
+basedir=${base%/*}
+LD_ARGV0_REL="../bin/lldb-instr" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/lldb-instr.elf b/aarch64/bin/lldb-instr.elf
new file mode 100755
index 0000000..26682bb
--- /dev/null
+++ b/aarch64/bin/lldb-instr.elf
Binary files differ
diff --git a/aarch64/bin/lldb-server b/aarch64/bin/lldb-server
new file mode 100755
index 0000000..1dad366
--- /dev/null
+++ b/aarch64/bin/lldb-server
@@ -0,0 +1,14 @@
+#!/bin/sh
+if base=$(readlink "$0" 2>/dev/null); then
+ case $base in
+ /*) base=$(readlink -f "$0" 2>/dev/null);; # if $0 is abspath symlink, make symlink fully resolved.
+ *) base=$(dirname "$0")/"${base}";;
+ esac
+else
+ case $0 in
+ /*) base=$0;;
+ *) base=${PWD:-`pwd`}/$0;;
+ esac
+fi
+basedir=${base%/*}
+LD_ARGV0_REL="../bin/lldb-server" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/lldb-server.elf b/aarch64/bin/lldb-server.elf
new file mode 100755
index 0000000..e02790d
--- /dev/null
+++ b/aarch64/bin/lldb-server.elf
Binary files differ
diff --git a/aarch64/bin/lldb-vscode b/aarch64/bin/lldb-vscode
new file mode 100755
index 0000000..7f3118e
--- /dev/null
+++ b/aarch64/bin/lldb-vscode
@@ -0,0 +1,14 @@
+#!/bin/sh
+if base=$(readlink "$0" 2>/dev/null); then
+ case $base in
+ /*) base=$(readlink -f "$0" 2>/dev/null);; # if $0 is abspath symlink, make symlink fully resolved.
+ *) base=$(dirname "$0")/"${base}";;
+ esac
+else
+ case $0 in
+ /*) base=$0;;
+ *) base=${PWD:-`pwd`}/$0;;
+ esac
+fi
+basedir=${base%/*}
+LD_ARGV0_REL="../bin/lldb-vscode" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/lldb-vscode.elf b/aarch64/bin/lldb-vscode.elf
new file mode 100755
index 0000000..a34d905
--- /dev/null
+++ b/aarch64/bin/lldb-vscode.elf
Binary files differ
diff --git a/aarch64/bin/lldb.elf b/aarch64/bin/lldb.elf
new file mode 100755
index 0000000..7b69520
--- /dev/null
+++ b/aarch64/bin/lldb.elf
Binary files differ
diff --git a/aarch64/bin/lli b/aarch64/bin/lli
index fec696f..3c9d160 100755
--- a/aarch64/bin/lli
+++ b/aarch64/bin/lli
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/lli" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/lli" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/lli-child-target b/aarch64/bin/lli-child-target
index 2b54b19..86fcd7a 100755
--- a/aarch64/bin/lli-child-target
+++ b/aarch64/bin/lli-child-target
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/lli-child-target" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/lli-child-target" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/lli-child-target.elf b/aarch64/bin/lli-child-target.elf
index c75d93c..7c8190d 100755
--- a/aarch64/bin/lli-child-target.elf
+++ b/aarch64/bin/lli-child-target.elf
Binary files differ
diff --git a/aarch64/bin/lli.elf b/aarch64/bin/lli.elf
index 90063ad..94d0c80 100755
--- a/aarch64/bin/lli.elf
+++ b/aarch64/bin/lli.elf
Binary files differ
diff --git a/aarch64/bin/llvm-PerfectShuffle b/aarch64/bin/llvm-PerfectShuffle
index b5da558..b6429e3 100755
--- a/aarch64/bin/llvm-PerfectShuffle
+++ b/aarch64/bin/llvm-PerfectShuffle
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/llvm-PerfectShuffle" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/llvm-PerfectShuffle" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/llvm-PerfectShuffle.elf b/aarch64/bin/llvm-PerfectShuffle.elf
index 8b3f05e..79e64c8 100755
--- a/aarch64/bin/llvm-PerfectShuffle.elf
+++ b/aarch64/bin/llvm-PerfectShuffle.elf
Binary files differ
diff --git a/aarch64/bin/llvm-ar b/aarch64/bin/llvm-ar
index 75cdca9..093f33c 100755
--- a/aarch64/bin/llvm-ar
+++ b/aarch64/bin/llvm-ar
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/llvm-ar" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/llvm-ar" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/llvm-ar.elf b/aarch64/bin/llvm-ar.elf
index 36210d8..93dde07 100755
--- a/aarch64/bin/llvm-ar.elf
+++ b/aarch64/bin/llvm-ar.elf
Binary files differ
diff --git a/aarch64/bin/llvm-as b/aarch64/bin/llvm-as
index b31c269..0629fda 100755
--- a/aarch64/bin/llvm-as
+++ b/aarch64/bin/llvm-as
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/llvm-as" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/llvm-as" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/llvm-as.elf b/aarch64/bin/llvm-as.elf
index afea3bf..6395787 100755
--- a/aarch64/bin/llvm-as.elf
+++ b/aarch64/bin/llvm-as.elf
Binary files differ
diff --git a/aarch64/bin/llvm-bcanalyzer b/aarch64/bin/llvm-bcanalyzer
index 4ddbebf..3d10099 100755
--- a/aarch64/bin/llvm-bcanalyzer
+++ b/aarch64/bin/llvm-bcanalyzer
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/llvm-bcanalyzer" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/llvm-bcanalyzer" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/llvm-bcanalyzer.elf b/aarch64/bin/llvm-bcanalyzer.elf
index ff23986..c710ebc 100755
--- a/aarch64/bin/llvm-bcanalyzer.elf
+++ b/aarch64/bin/llvm-bcanalyzer.elf
Binary files differ
diff --git a/aarch64/bin/llvm-c-test b/aarch64/bin/llvm-c-test
index 7927297..c4f4a32 100755
--- a/aarch64/bin/llvm-c-test
+++ b/aarch64/bin/llvm-c-test
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/llvm-c-test" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/llvm-c-test" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/llvm-c-test.elf b/aarch64/bin/llvm-c-test.elf
index 527ef7c..af1b1f6 100755
--- a/aarch64/bin/llvm-c-test.elf
+++ b/aarch64/bin/llvm-c-test.elf
Binary files differ
diff --git a/aarch64/bin/llvm-cat b/aarch64/bin/llvm-cat
index 56ee863..d8243cb 100755
--- a/aarch64/bin/llvm-cat
+++ b/aarch64/bin/llvm-cat
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/llvm-cat" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/llvm-cat" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/llvm-cat.elf b/aarch64/bin/llvm-cat.elf
index 19de1e0..78fb4fd 100755
--- a/aarch64/bin/llvm-cat.elf
+++ b/aarch64/bin/llvm-cat.elf
Binary files differ
diff --git a/aarch64/bin/llvm-cfi-verify b/aarch64/bin/llvm-cfi-verify
index d81f16a..3663f91 100755
--- a/aarch64/bin/llvm-cfi-verify
+++ b/aarch64/bin/llvm-cfi-verify
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/llvm-cfi-verify" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/llvm-cfi-verify" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/llvm-cfi-verify.elf b/aarch64/bin/llvm-cfi-verify.elf
index 63350a8..135e5fe 100755
--- a/aarch64/bin/llvm-cfi-verify.elf
+++ b/aarch64/bin/llvm-cfi-verify.elf
Binary files differ
diff --git a/aarch64/bin/llvm-cov b/aarch64/bin/llvm-cov
index 9f85452..0143403 100755
--- a/aarch64/bin/llvm-cov
+++ b/aarch64/bin/llvm-cov
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/llvm-cov" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/llvm-cov" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/llvm-cov.elf b/aarch64/bin/llvm-cov.elf
index 6588222..fa74ab1 100755
--- a/aarch64/bin/llvm-cov.elf
+++ b/aarch64/bin/llvm-cov.elf
Binary files differ
diff --git a/aarch64/bin/llvm-cvtres b/aarch64/bin/llvm-cvtres
index f428f87..20f7884 100755
--- a/aarch64/bin/llvm-cvtres
+++ b/aarch64/bin/llvm-cvtres
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/llvm-cvtres" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/llvm-cvtres" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/llvm-cvtres.elf b/aarch64/bin/llvm-cvtres.elf
index fa386b8..d82e3f9 100755
--- a/aarch64/bin/llvm-cvtres.elf
+++ b/aarch64/bin/llvm-cvtres.elf
Binary files differ
diff --git a/aarch64/bin/llvm-cxxdump b/aarch64/bin/llvm-cxxdump
index 19b4ed7..b63f036 100755
--- a/aarch64/bin/llvm-cxxdump
+++ b/aarch64/bin/llvm-cxxdump
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/llvm-cxxdump" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/llvm-cxxdump" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/llvm-cxxdump.elf b/aarch64/bin/llvm-cxxdump.elf
index b978a4e..edf6d94 100755
--- a/aarch64/bin/llvm-cxxdump.elf
+++ b/aarch64/bin/llvm-cxxdump.elf
Binary files differ
diff --git a/aarch64/bin/llvm-cxxfilt b/aarch64/bin/llvm-cxxfilt
index 4e61a15..ae2edc6 100755
--- a/aarch64/bin/llvm-cxxfilt
+++ b/aarch64/bin/llvm-cxxfilt
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/llvm-cxxfilt" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/llvm-cxxfilt" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/llvm-cxxfilt.elf b/aarch64/bin/llvm-cxxfilt.elf
index a169b94..3671971 100755
--- a/aarch64/bin/llvm-cxxfilt.elf
+++ b/aarch64/bin/llvm-cxxfilt.elf
Binary files differ
diff --git a/aarch64/bin/llvm-cxxmap b/aarch64/bin/llvm-cxxmap
index d462e14..ec8b71f 100755
--- a/aarch64/bin/llvm-cxxmap
+++ b/aarch64/bin/llvm-cxxmap
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/llvm-cxxmap" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/llvm-cxxmap" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/llvm-cxxmap.elf b/aarch64/bin/llvm-cxxmap.elf
index a02ca55..40b7a86 100755
--- a/aarch64/bin/llvm-cxxmap.elf
+++ b/aarch64/bin/llvm-cxxmap.elf
Binary files differ
diff --git a/aarch64/bin/llvm-diff b/aarch64/bin/llvm-diff
index 0d8d9fd..f2bffb7 100755
--- a/aarch64/bin/llvm-diff
+++ b/aarch64/bin/llvm-diff
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/llvm-diff" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/llvm-diff" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/llvm-diff.elf b/aarch64/bin/llvm-diff.elf
index 1cd82ad..f4c980f 100755
--- a/aarch64/bin/llvm-diff.elf
+++ b/aarch64/bin/llvm-diff.elf
Binary files differ
diff --git a/aarch64/bin/llvm-dis b/aarch64/bin/llvm-dis
index 9cc35ce..d77a6c7 100755
--- a/aarch64/bin/llvm-dis
+++ b/aarch64/bin/llvm-dis
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/llvm-dis" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/llvm-dis" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/llvm-dis.elf b/aarch64/bin/llvm-dis.elf
index 14e5f77..d5a3dbb 100755
--- a/aarch64/bin/llvm-dis.elf
+++ b/aarch64/bin/llvm-dis.elf
Binary files differ
diff --git a/aarch64/bin/llvm-dwarfdump b/aarch64/bin/llvm-dwarfdump
index 6c78ba1..f996d44 100755
--- a/aarch64/bin/llvm-dwarfdump
+++ b/aarch64/bin/llvm-dwarfdump
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/llvm-dwarfdump" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/llvm-dwarfdump" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/llvm-dwarfdump.elf b/aarch64/bin/llvm-dwarfdump.elf
index 3abe6e6..19290da 100755
--- a/aarch64/bin/llvm-dwarfdump.elf
+++ b/aarch64/bin/llvm-dwarfdump.elf
Binary files differ
diff --git a/aarch64/bin/llvm-dwp b/aarch64/bin/llvm-dwp
index 3a0a3d8..81a4dc4 100755
--- a/aarch64/bin/llvm-dwp
+++ b/aarch64/bin/llvm-dwp
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/llvm-dwp" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/llvm-dwp" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/llvm-dwp.elf b/aarch64/bin/llvm-dwp.elf
index c86722a..60f3ca0 100755
--- a/aarch64/bin/llvm-dwp.elf
+++ b/aarch64/bin/llvm-dwp.elf
Binary files differ
diff --git a/aarch64/bin/llvm-elfabi b/aarch64/bin/llvm-elfabi
deleted file mode 100755
index 2ae9028..0000000
--- a/aarch64/bin/llvm-elfabi
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/bin/sh
-if base=$(readlink "$0" 2>/dev/null); then
- case $base in
- /*) base=$(readlink -f "$0" 2>/dev/null);; # if $0 is abspath symlink, make symlink fully resolved.
- *) base=$(dirname "$0")/"${base}";;
- esac
-else
- case $0 in
- /*) base=$0;;
- *) base=${PWD:-`pwd`}/$0;;
- esac
-fi
-basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/llvm-elfabi" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/llvm-elfabi.elf b/aarch64/bin/llvm-elfabi.elf
deleted file mode 100755
index 946dce7..0000000
--- a/aarch64/bin/llvm-elfabi.elf
+++ /dev/null
Binary files differ
diff --git a/aarch64/bin/llvm-exegesis b/aarch64/bin/llvm-exegesis
index fcf157e..48f0773 100755
--- a/aarch64/bin/llvm-exegesis
+++ b/aarch64/bin/llvm-exegesis
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/llvm-exegesis" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/llvm-exegesis" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/llvm-exegesis.elf b/aarch64/bin/llvm-exegesis.elf
index 992dea6..d7916f3 100755
--- a/aarch64/bin/llvm-exegesis.elf
+++ b/aarch64/bin/llvm-exegesis.elf
Binary files differ
diff --git a/aarch64/bin/llvm-extract b/aarch64/bin/llvm-extract
index b36dca4..fc8cf6c 100755
--- a/aarch64/bin/llvm-extract
+++ b/aarch64/bin/llvm-extract
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/llvm-extract" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/llvm-extract" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/llvm-extract.elf b/aarch64/bin/llvm-extract.elf
index 89197f0..fe8c3d1 100755
--- a/aarch64/bin/llvm-extract.elf
+++ b/aarch64/bin/llvm-extract.elf
Binary files differ
diff --git a/aarch64/bin/llvm-gsymutil b/aarch64/bin/llvm-gsymutil
index a987c2f..aa8d08b 100755
--- a/aarch64/bin/llvm-gsymutil
+++ b/aarch64/bin/llvm-gsymutil
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/llvm-gsymutil" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/llvm-gsymutil" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/llvm-gsymutil.elf b/aarch64/bin/llvm-gsymutil.elf
index baa2b7d..a11f029 100755
--- a/aarch64/bin/llvm-gsymutil.elf
+++ b/aarch64/bin/llvm-gsymutil.elf
Binary files differ
diff --git a/aarch64/bin/llvm-ifs b/aarch64/bin/llvm-ifs
index 7f5ed08..84e6426 100755
--- a/aarch64/bin/llvm-ifs
+++ b/aarch64/bin/llvm-ifs
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/llvm-ifs" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/llvm-ifs" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/llvm-ifs.elf b/aarch64/bin/llvm-ifs.elf
index b494abc..a350f0b 100755
--- a/aarch64/bin/llvm-ifs.elf
+++ b/aarch64/bin/llvm-ifs.elf
Binary files differ
diff --git a/aarch64/bin/llvm-jitlink b/aarch64/bin/llvm-jitlink
index ce108f1..b94e72d 100755
--- a/aarch64/bin/llvm-jitlink
+++ b/aarch64/bin/llvm-jitlink
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/llvm-jitlink" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/llvm-jitlink" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/llvm-jitlink-executor b/aarch64/bin/llvm-jitlink-executor
new file mode 100755
index 0000000..9838dfe
--- /dev/null
+++ b/aarch64/bin/llvm-jitlink-executor
@@ -0,0 +1,14 @@
+#!/bin/sh
+if base=$(readlink "$0" 2>/dev/null); then
+ case $base in
+ /*) base=$(readlink -f "$0" 2>/dev/null);; # if $0 is abspath symlink, make symlink fully resolved.
+ *) base=$(dirname "$0")/"${base}";;
+ esac
+else
+ case $0 in
+ /*) base=$0;;
+ *) base=${PWD:-`pwd`}/$0;;
+ esac
+fi
+basedir=${base%/*}
+LD_ARGV0_REL="../bin/llvm-jitlink-executor" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/llvm-jitlink-executor.elf b/aarch64/bin/llvm-jitlink-executor.elf
new file mode 100755
index 0000000..17b834f
--- /dev/null
+++ b/aarch64/bin/llvm-jitlink-executor.elf
Binary files differ
diff --git a/aarch64/bin/llvm-jitlink.elf b/aarch64/bin/llvm-jitlink.elf
index 39430a2..a6b0bb3 100755
--- a/aarch64/bin/llvm-jitlink.elf
+++ b/aarch64/bin/llvm-jitlink.elf
Binary files differ
diff --git a/aarch64/bin/llvm-libtool-darwin b/aarch64/bin/llvm-libtool-darwin
index 0bf1c38..0700cba 100755
--- a/aarch64/bin/llvm-libtool-darwin
+++ b/aarch64/bin/llvm-libtool-darwin
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/llvm-libtool-darwin" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/llvm-libtool-darwin" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/llvm-libtool-darwin.elf b/aarch64/bin/llvm-libtool-darwin.elf
index 6863806..8fd95ba 100755
--- a/aarch64/bin/llvm-libtool-darwin.elf
+++ b/aarch64/bin/llvm-libtool-darwin.elf
Binary files differ
diff --git a/aarch64/bin/llvm-link b/aarch64/bin/llvm-link
index 14e62e3..d43355b 100755
--- a/aarch64/bin/llvm-link
+++ b/aarch64/bin/llvm-link
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/llvm-link" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/llvm-link" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/llvm-link.elf b/aarch64/bin/llvm-link.elf
index 33adfb9..333dd66 100755
--- a/aarch64/bin/llvm-link.elf
+++ b/aarch64/bin/llvm-link.elf
Binary files differ
diff --git a/aarch64/bin/llvm-lipo b/aarch64/bin/llvm-lipo
index 97a4454..b9d5c86 100755
--- a/aarch64/bin/llvm-lipo
+++ b/aarch64/bin/llvm-lipo
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/llvm-lipo" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/llvm-lipo" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/llvm-lipo.elf b/aarch64/bin/llvm-lipo.elf
index 77c852d..01122da 100755
--- a/aarch64/bin/llvm-lipo.elf
+++ b/aarch64/bin/llvm-lipo.elf
Binary files differ
diff --git a/aarch64/bin/llvm-lto b/aarch64/bin/llvm-lto
index 5c0b6eb..bb70806 100755
--- a/aarch64/bin/llvm-lto
+++ b/aarch64/bin/llvm-lto
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/llvm-lto" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/llvm-lto" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/llvm-lto.elf b/aarch64/bin/llvm-lto.elf
index 3818536..7707618 100755
--- a/aarch64/bin/llvm-lto.elf
+++ b/aarch64/bin/llvm-lto.elf
Binary files differ
diff --git a/aarch64/bin/llvm-lto2 b/aarch64/bin/llvm-lto2
index 806eed6..b7a1634 100755
--- a/aarch64/bin/llvm-lto2
+++ b/aarch64/bin/llvm-lto2
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/llvm-lto2" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/llvm-lto2" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/llvm-lto2.elf b/aarch64/bin/llvm-lto2.elf
index 5cec785..7b8d6d6 100755
--- a/aarch64/bin/llvm-lto2.elf
+++ b/aarch64/bin/llvm-lto2.elf
Binary files differ
diff --git a/aarch64/bin/llvm-mc b/aarch64/bin/llvm-mc
index c67296b..61a5f19 100755
--- a/aarch64/bin/llvm-mc
+++ b/aarch64/bin/llvm-mc
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/llvm-mc" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/llvm-mc" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/llvm-mc.elf b/aarch64/bin/llvm-mc.elf
index a1c5053..d44b0ac 100755
--- a/aarch64/bin/llvm-mc.elf
+++ b/aarch64/bin/llvm-mc.elf
Binary files differ
diff --git a/aarch64/bin/llvm-mca b/aarch64/bin/llvm-mca
index d9ccab9..e4b60bc 100755
--- a/aarch64/bin/llvm-mca
+++ b/aarch64/bin/llvm-mca
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/llvm-mca" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/llvm-mca" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/llvm-mca.elf b/aarch64/bin/llvm-mca.elf
index 9014355..0d3fe6c 100755
--- a/aarch64/bin/llvm-mca.elf
+++ b/aarch64/bin/llvm-mca.elf
Binary files differ
diff --git a/aarch64/bin/llvm-ml b/aarch64/bin/llvm-ml
index d1dc41b..a22bfd5 100755
--- a/aarch64/bin/llvm-ml
+++ b/aarch64/bin/llvm-ml
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/llvm-ml" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/llvm-ml" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/llvm-ml.elf b/aarch64/bin/llvm-ml.elf
index 9af4b25..91c553f 100755
--- a/aarch64/bin/llvm-ml.elf
+++ b/aarch64/bin/llvm-ml.elf
Binary files differ
diff --git a/aarch64/bin/llvm-modextract b/aarch64/bin/llvm-modextract
index 87e4a0f..a66716a 100755
--- a/aarch64/bin/llvm-modextract
+++ b/aarch64/bin/llvm-modextract
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/llvm-modextract" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/llvm-modextract" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/llvm-modextract.elf b/aarch64/bin/llvm-modextract.elf
index f294c3f..0ff1efe 100755
--- a/aarch64/bin/llvm-modextract.elf
+++ b/aarch64/bin/llvm-modextract.elf
Binary files differ
diff --git a/aarch64/bin/llvm-mt b/aarch64/bin/llvm-mt
index b404d1e..4618038 100755
--- a/aarch64/bin/llvm-mt
+++ b/aarch64/bin/llvm-mt
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/llvm-mt" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/llvm-mt" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/llvm-mt.elf b/aarch64/bin/llvm-mt.elf
index 9b54c63..7a0aaa6 100755
--- a/aarch64/bin/llvm-mt.elf
+++ b/aarch64/bin/llvm-mt.elf
Binary files differ
diff --git a/aarch64/bin/llvm-nm b/aarch64/bin/llvm-nm
index d084032..6bd36c6 100755
--- a/aarch64/bin/llvm-nm
+++ b/aarch64/bin/llvm-nm
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/llvm-nm" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/llvm-nm" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/llvm-nm.elf b/aarch64/bin/llvm-nm.elf
index 3f19982..c869342 100755
--- a/aarch64/bin/llvm-nm.elf
+++ b/aarch64/bin/llvm-nm.elf
Binary files differ
diff --git a/aarch64/bin/llvm-objcopy b/aarch64/bin/llvm-objcopy
index ef46ddd..7297bf2 100755
--- a/aarch64/bin/llvm-objcopy
+++ b/aarch64/bin/llvm-objcopy
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/llvm-objcopy" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/llvm-objcopy" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/llvm-objcopy.elf b/aarch64/bin/llvm-objcopy.elf
index 05133aa..788833b 100755
--- a/aarch64/bin/llvm-objcopy.elf
+++ b/aarch64/bin/llvm-objcopy.elf
Binary files differ
diff --git a/aarch64/bin/llvm-objdump b/aarch64/bin/llvm-objdump
index 3123e01..b1029cd 100755
--- a/aarch64/bin/llvm-objdump
+++ b/aarch64/bin/llvm-objdump
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/llvm-objdump" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/llvm-objdump" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/llvm-objdump.elf b/aarch64/bin/llvm-objdump.elf
index cc581cd..41e9156 100755
--- a/aarch64/bin/llvm-objdump.elf
+++ b/aarch64/bin/llvm-objdump.elf
Binary files differ
diff --git a/aarch64/bin/llvm-opt-report b/aarch64/bin/llvm-opt-report
index 6f77aa0..d85c99c 100755
--- a/aarch64/bin/llvm-opt-report
+++ b/aarch64/bin/llvm-opt-report
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/llvm-opt-report" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/llvm-opt-report" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/llvm-opt-report.elf b/aarch64/bin/llvm-opt-report.elf
index fb7620b..e22230e 100755
--- a/aarch64/bin/llvm-opt-report.elf
+++ b/aarch64/bin/llvm-opt-report.elf
Binary files differ
diff --git a/aarch64/bin/llvm-otool b/aarch64/bin/llvm-otool
new file mode 120000
index 0000000..8e4dc01
--- /dev/null
+++ b/aarch64/bin/llvm-otool
@@ -0,0 +1 @@
+llvm-objdump
\ No newline at end of file
diff --git a/aarch64/bin/llvm-pdbutil b/aarch64/bin/llvm-pdbutil
index 518e616..6150e3a 100755
--- a/aarch64/bin/llvm-pdbutil
+++ b/aarch64/bin/llvm-pdbutil
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/llvm-pdbutil" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/llvm-pdbutil" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/llvm-pdbutil.elf b/aarch64/bin/llvm-pdbutil.elf
index 8a1facd..8e55f17 100755
--- a/aarch64/bin/llvm-pdbutil.elf
+++ b/aarch64/bin/llvm-pdbutil.elf
Binary files differ
diff --git a/aarch64/bin/llvm-profdata b/aarch64/bin/llvm-profdata
index 40835f1..9a80be7 100755
--- a/aarch64/bin/llvm-profdata
+++ b/aarch64/bin/llvm-profdata
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/llvm-profdata" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/llvm-profdata" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/llvm-profdata.elf b/aarch64/bin/llvm-profdata.elf
index 9e19196..f3e440b 100755
--- a/aarch64/bin/llvm-profdata.elf
+++ b/aarch64/bin/llvm-profdata.elf
Binary files differ
diff --git a/aarch64/bin/llvm-profgen b/aarch64/bin/llvm-profgen
new file mode 100755
index 0000000..6f65a4b
--- /dev/null
+++ b/aarch64/bin/llvm-profgen
@@ -0,0 +1,14 @@
+#!/bin/sh
+if base=$(readlink "$0" 2>/dev/null); then
+ case $base in
+ /*) base=$(readlink -f "$0" 2>/dev/null);; # if $0 is abspath symlink, make symlink fully resolved.
+ *) base=$(dirname "$0")/"${base}";;
+ esac
+else
+ case $0 in
+ /*) base=$0;;
+ *) base=${PWD:-`pwd`}/$0;;
+ esac
+fi
+basedir=${base%/*}
+LD_ARGV0_REL="../bin/llvm-profgen" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/llvm-profgen.elf b/aarch64/bin/llvm-profgen.elf
new file mode 100755
index 0000000..c1b2d2f
--- /dev/null
+++ b/aarch64/bin/llvm-profgen.elf
Binary files differ
diff --git a/aarch64/bin/llvm-rc b/aarch64/bin/llvm-rc
index 08d23a9..a0cc465 100755
--- a/aarch64/bin/llvm-rc
+++ b/aarch64/bin/llvm-rc
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/llvm-rc" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/llvm-rc" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/llvm-rc.elf b/aarch64/bin/llvm-rc.elf
index 460d0bf..a08adef 100755
--- a/aarch64/bin/llvm-rc.elf
+++ b/aarch64/bin/llvm-rc.elf
Binary files differ
diff --git a/aarch64/bin/llvm-readobj b/aarch64/bin/llvm-readobj
index 2257e61..edcb8e1 100755
--- a/aarch64/bin/llvm-readobj
+++ b/aarch64/bin/llvm-readobj
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/llvm-readobj" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/llvm-readobj" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/llvm-readobj.elf b/aarch64/bin/llvm-readobj.elf
index 800f2b1..35e84ef 100755
--- a/aarch64/bin/llvm-readobj.elf
+++ b/aarch64/bin/llvm-readobj.elf
Binary files differ
diff --git a/aarch64/bin/llvm-reduce b/aarch64/bin/llvm-reduce
index b0f4b1e..ff91325 100755
--- a/aarch64/bin/llvm-reduce
+++ b/aarch64/bin/llvm-reduce
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/llvm-reduce" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/llvm-reduce" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/llvm-reduce.elf b/aarch64/bin/llvm-reduce.elf
index 313d326..6db06ee 100755
--- a/aarch64/bin/llvm-reduce.elf
+++ b/aarch64/bin/llvm-reduce.elf
Binary files differ
diff --git a/aarch64/bin/llvm-rtdyld b/aarch64/bin/llvm-rtdyld
index fdcd578..2b58302 100755
--- a/aarch64/bin/llvm-rtdyld
+++ b/aarch64/bin/llvm-rtdyld
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/llvm-rtdyld" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/llvm-rtdyld" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/llvm-rtdyld.elf b/aarch64/bin/llvm-rtdyld.elf
index 7c188e8..f81cacc 100755
--- a/aarch64/bin/llvm-rtdyld.elf
+++ b/aarch64/bin/llvm-rtdyld.elf
Binary files differ
diff --git a/aarch64/bin/llvm-sim b/aarch64/bin/llvm-sim
new file mode 100755
index 0000000..0ae0a50
--- /dev/null
+++ b/aarch64/bin/llvm-sim
@@ -0,0 +1,14 @@
+#!/bin/sh
+if base=$(readlink "$0" 2>/dev/null); then
+ case $base in
+ /*) base=$(readlink -f "$0" 2>/dev/null);; # if $0 is abspath symlink, make symlink fully resolved.
+ *) base=$(dirname "$0")/"${base}";;
+ esac
+else
+ case $0 in
+ /*) base=$0;;
+ *) base=${PWD:-`pwd`}/$0;;
+ esac
+fi
+basedir=${base%/*}
+LD_ARGV0_REL="../bin/llvm-sim" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/llvm-sim.elf b/aarch64/bin/llvm-sim.elf
new file mode 100755
index 0000000..6ee757e
--- /dev/null
+++ b/aarch64/bin/llvm-sim.elf
Binary files differ
diff --git a/aarch64/bin/llvm-size b/aarch64/bin/llvm-size
index 769d525..dbd9e15 100755
--- a/aarch64/bin/llvm-size
+++ b/aarch64/bin/llvm-size
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/llvm-size" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/llvm-size" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/llvm-size.elf b/aarch64/bin/llvm-size.elf
index de75ac0..2279b02 100755
--- a/aarch64/bin/llvm-size.elf
+++ b/aarch64/bin/llvm-size.elf
Binary files differ
diff --git a/aarch64/bin/llvm-split b/aarch64/bin/llvm-split
index 5d0c7d7..022cd9a 100755
--- a/aarch64/bin/llvm-split
+++ b/aarch64/bin/llvm-split
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/llvm-split" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/llvm-split" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/llvm-split.elf b/aarch64/bin/llvm-split.elf
index c2f678c..a436c57 100755
--- a/aarch64/bin/llvm-split.elf
+++ b/aarch64/bin/llvm-split.elf
Binary files differ
diff --git a/aarch64/bin/llvm-stress b/aarch64/bin/llvm-stress
index e2a0412..d41af7f 100755
--- a/aarch64/bin/llvm-stress
+++ b/aarch64/bin/llvm-stress
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/llvm-stress" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/llvm-stress" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/llvm-stress.elf b/aarch64/bin/llvm-stress.elf
index 309a771..45d5701 100755
--- a/aarch64/bin/llvm-stress.elf
+++ b/aarch64/bin/llvm-stress.elf
Binary files differ
diff --git a/aarch64/bin/llvm-strings b/aarch64/bin/llvm-strings
index 37932bc..c40f59b 100755
--- a/aarch64/bin/llvm-strings
+++ b/aarch64/bin/llvm-strings
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/llvm-strings" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/llvm-strings" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/llvm-strings.elf b/aarch64/bin/llvm-strings.elf
index 96b1cdd..5543be4 100755
--- a/aarch64/bin/llvm-strings.elf
+++ b/aarch64/bin/llvm-strings.elf
Binary files differ
diff --git a/aarch64/bin/llvm-strip b/aarch64/bin/llvm-strip
index 73f150f..e4c8d12 100755
--- a/aarch64/bin/llvm-strip
+++ b/aarch64/bin/llvm-strip
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/llvm-strip" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/llvm-strip" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/llvm-strip.elf b/aarch64/bin/llvm-strip.elf
index 05133aa..788833b 100755
--- a/aarch64/bin/llvm-strip.elf
+++ b/aarch64/bin/llvm-strip.elf
Binary files differ
diff --git a/aarch64/bin/llvm-symbolizer b/aarch64/bin/llvm-symbolizer
index 1c330db..06ee946 100755
--- a/aarch64/bin/llvm-symbolizer
+++ b/aarch64/bin/llvm-symbolizer
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/llvm-symbolizer" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/llvm-symbolizer" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/llvm-symbolizer.elf b/aarch64/bin/llvm-symbolizer.elf
index 5dd083e..6f2553b 100755
--- a/aarch64/bin/llvm-symbolizer.elf
+++ b/aarch64/bin/llvm-symbolizer.elf
Binary files differ
diff --git a/aarch64/bin/llvm-tapi-diff b/aarch64/bin/llvm-tapi-diff
new file mode 100755
index 0000000..676b6ce
--- /dev/null
+++ b/aarch64/bin/llvm-tapi-diff
@@ -0,0 +1,14 @@
+#!/bin/sh
+if base=$(readlink "$0" 2>/dev/null); then
+ case $base in
+ /*) base=$(readlink -f "$0" 2>/dev/null);; # if $0 is abspath symlink, make symlink fully resolved.
+ *) base=$(dirname "$0")/"${base}";;
+ esac
+else
+ case $0 in
+ /*) base=$0;;
+ *) base=${PWD:-`pwd`}/$0;;
+ esac
+fi
+basedir=${base%/*}
+LD_ARGV0_REL="../bin/llvm-tapi-diff" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/llvm-tapi-diff.elf b/aarch64/bin/llvm-tapi-diff.elf
new file mode 100755
index 0000000..feb77a1
--- /dev/null
+++ b/aarch64/bin/llvm-tapi-diff.elf
Binary files differ
diff --git a/aarch64/bin/llvm-tblgen b/aarch64/bin/llvm-tblgen
index 3b3133f..0fa5712 100755
--- a/aarch64/bin/llvm-tblgen
+++ b/aarch64/bin/llvm-tblgen
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/llvm-tblgen" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/llvm-tblgen" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/llvm-tblgen.elf b/aarch64/bin/llvm-tblgen.elf
index d0a07d0..96d8cd5 100755
--- a/aarch64/bin/llvm-tblgen.elf
+++ b/aarch64/bin/llvm-tblgen.elf
Binary files differ
diff --git a/aarch64/bin/llvm-tli-checker b/aarch64/bin/llvm-tli-checker
new file mode 100755
index 0000000..97f00a8
--- /dev/null
+++ b/aarch64/bin/llvm-tli-checker
@@ -0,0 +1,14 @@
+#!/bin/sh
+if base=$(readlink "$0" 2>/dev/null); then
+ case $base in
+ /*) base=$(readlink -f "$0" 2>/dev/null);; # if $0 is abspath symlink, make symlink fully resolved.
+ *) base=$(dirname "$0")/"${base}";;
+ esac
+else
+ case $0 in
+ /*) base=$0;;
+ *) base=${PWD:-`pwd`}/$0;;
+ esac
+fi
+basedir=${base%/*}
+LD_ARGV0_REL="../bin/llvm-tli-checker" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/llvm-tli-checker.elf b/aarch64/bin/llvm-tli-checker.elf
new file mode 100755
index 0000000..7040a31
--- /dev/null
+++ b/aarch64/bin/llvm-tli-checker.elf
Binary files differ
diff --git a/aarch64/bin/llvm-undname b/aarch64/bin/llvm-undname
index df6049b..aff7095 100755
--- a/aarch64/bin/llvm-undname
+++ b/aarch64/bin/llvm-undname
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/llvm-undname" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/llvm-undname" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/llvm-undname.elf b/aarch64/bin/llvm-undname.elf
index 7e729dc..05fd9fb 100755
--- a/aarch64/bin/llvm-undname.elf
+++ b/aarch64/bin/llvm-undname.elf
Binary files differ
diff --git a/aarch64/bin/llvm-windres b/aarch64/bin/llvm-windres
new file mode 120000
index 0000000..8a596fa
--- /dev/null
+++ b/aarch64/bin/llvm-windres
@@ -0,0 +1 @@
+llvm-rc
\ No newline at end of file
diff --git a/aarch64/bin/llvm-xray b/aarch64/bin/llvm-xray
index 76ecf0e..b87a78c 100755
--- a/aarch64/bin/llvm-xray
+++ b/aarch64/bin/llvm-xray
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/llvm-xray" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/llvm-xray" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/llvm-xray.elf b/aarch64/bin/llvm-xray.elf
index 4402d47..0c99ac1 100755
--- a/aarch64/bin/llvm-xray.elf
+++ b/aarch64/bin/llvm-xray.elf
Binary files differ
diff --git a/aarch64/bin/modularize b/aarch64/bin/modularize
index 2040310..bf80b18 100755
--- a/aarch64/bin/modularize
+++ b/aarch64/bin/modularize
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/modularize" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/modularize" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/modularize.elf b/aarch64/bin/modularize.elf
index 9706050..f9813a0 100755
--- a/aarch64/bin/modularize.elf
+++ b/aarch64/bin/modularize.elf
Binary files differ
diff --git a/aarch64/bin/not b/aarch64/bin/not
index 52369b3..cc87d60 100755
--- a/aarch64/bin/not
+++ b/aarch64/bin/not
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/not" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/not" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/not.elf b/aarch64/bin/not.elf
index 201e4f4..c43a344 100755
--- a/aarch64/bin/not.elf
+++ b/aarch64/bin/not.elf
Binary files differ
diff --git a/aarch64/bin/obj2yaml b/aarch64/bin/obj2yaml
index 35d71fb..3092247 100755
--- a/aarch64/bin/obj2yaml
+++ b/aarch64/bin/obj2yaml
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/obj2yaml" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/obj2yaml" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/obj2yaml.elf b/aarch64/bin/obj2yaml.elf
index 6d03d4a..cfd43f1 100755
--- a/aarch64/bin/obj2yaml.elf
+++ b/aarch64/bin/obj2yaml.elf
Binary files differ
diff --git a/aarch64/bin/opt b/aarch64/bin/opt
index bf7d6f1..20c1c3d 100755
--- a/aarch64/bin/opt
+++ b/aarch64/bin/opt
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/opt" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/opt" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/opt.elf b/aarch64/bin/opt.elf
index 547fc61..5ca6e71 100755
--- a/aarch64/bin/opt.elf
+++ b/aarch64/bin/opt.elf
Binary files differ
diff --git a/aarch64/bin/pp-trace b/aarch64/bin/pp-trace
index 5d46f47..9daf0a0 100755
--- a/aarch64/bin/pp-trace
+++ b/aarch64/bin/pp-trace
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/pp-trace" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/pp-trace" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/pp-trace.elf b/aarch64/bin/pp-trace.elf
index f2098b5..ae4f2a8 100755
--- a/aarch64/bin/pp-trace.elf
+++ b/aarch64/bin/pp-trace.elf
Binary files differ
diff --git a/aarch64/bin/sancov b/aarch64/bin/sancov
index 895c53a..e9ac715 100755
--- a/aarch64/bin/sancov
+++ b/aarch64/bin/sancov
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/sancov" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/sancov" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/sancov.elf b/aarch64/bin/sancov.elf
index 3ec771e..5a1dab4 100755
--- a/aarch64/bin/sancov.elf
+++ b/aarch64/bin/sancov.elf
Binary files differ
diff --git a/aarch64/bin/sanstats b/aarch64/bin/sanstats
index 3ed5f19..bbce527 100755
--- a/aarch64/bin/sanstats
+++ b/aarch64/bin/sanstats
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/sanstats" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/sanstats" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/sanstats.elf b/aarch64/bin/sanstats.elf
index 4392b9f..24b307b 100755
--- a/aarch64/bin/sanstats.elf
+++ b/aarch64/bin/sanstats.elf
Binary files differ
diff --git a/aarch64/bin/scan-build b/aarch64/bin/scan-build
index aed8c41..71e7ced 100755
--- a/aarch64/bin/scan-build
+++ b/aarch64/bin/scan-build
@@ -14,7 +14,6 @@
use strict;
use warnings;
use FindBin qw($RealBin);
-use Digest::MD5;
use File::Basename;
use File::Find;
use File::Copy qw(copy);
@@ -269,27 +268,6 @@
}
##----------------------------------------------------------------------------##
-# ComputeDigest - Compute a digest of the specified file.
-##----------------------------------------------------------------------------##
-
-sub ComputeDigest {
- my $FName = shift;
- DieDiag("Cannot read $FName to compute Digest.\n") if (! -r $FName);
-
- # Use Digest::MD5. We don't have to be cryptographically secure. We're
- # just looking for duplicate files that come from a non-malicious source.
- # We use Digest::MD5 because it is a standard Perl module that should
- # come bundled on most systems.
- open(FILE, $FName) or DieDiag("Cannot open $FName when computing Digest.\n");
- binmode FILE;
- my $Result = Digest::MD5->new->addfile(*FILE)->hexdigest;
- close(FILE);
-
- # Return the digest.
- return $Result;
-}
-
-##----------------------------------------------------------------------------##
# UpdatePrefix - Compute the common prefix of files.
##----------------------------------------------------------------------------##
@@ -374,8 +352,6 @@
# Sometimes a source file is scanned more than once, and thus produces
# multiple error reports. We use a cache to solve this problem.
-my %AlreadyScanned;
-
sub ScanFile {
my $Index = shift;
@@ -383,19 +359,6 @@
my $FName = shift;
my $Stats = shift;
- # Compute a digest for the report file. Determine if we have already
- # scanned a file that looks just like it.
-
- my $digest = ComputeDigest("$Dir/$FName");
-
- if (defined $AlreadyScanned{$digest}) {
- # Redundant file. Remove it.
- unlink("$Dir/$FName");
- return;
- }
-
- $AlreadyScanned{$digest} = 1;
-
# At this point the report file is not world readable. Make it happen.
chmod(0644, "$Dir/$FName");
@@ -1925,7 +1888,7 @@
$ClangCXX =~ s/.exe$/++.exe/;
}
else {
- $ClangCXX =~ s/\-\d+\.\d+$//;
+ $ClangCXX =~ s/\-\d+(\.\d+)?$//;
$ClangCXX .= "++";
}
}
diff --git a/aarch64/bin/scan-build-py b/aarch64/bin/scan-build-py
new file mode 100755
index 0000000..a341751
--- /dev/null
+++ b/aarch64/bin/scan-build-py
@@ -0,0 +1,17 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+# 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
+
+import multiprocessing
+import sys
+import os.path
+this_dir = os.path.dirname(os.path.realpath(__file__))
+sys.path.append(os.path.join(os.path.dirname(this_dir), 'lib'))
+
+from libscanbuild.analyze import scan_build
+
+if __name__ == '__main__':
+ multiprocessing.freeze_support()
+ sys.exit(scan_build())
diff --git a/aarch64/bin/split-file b/aarch64/bin/split-file
index 34ed71d..51fe9f0 100755
--- a/aarch64/bin/split-file
+++ b/aarch64/bin/split-file
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/split-file" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/split-file" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/split-file.elf b/aarch64/bin/split-file.elf
index e468a71..23ef930 100755
--- a/aarch64/bin/split-file.elf
+++ b/aarch64/bin/split-file.elf
Binary files differ
diff --git a/aarch64/bin/verify-uselistorder b/aarch64/bin/verify-uselistorder
index a587a2e..d3b19a8 100755
--- a/aarch64/bin/verify-uselistorder
+++ b/aarch64/bin/verify-uselistorder
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/verify-uselistorder" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/verify-uselistorder" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/verify-uselistorder.elf b/aarch64/bin/verify-uselistorder.elf
index a4188a7..8fc2a48 100755
--- a/aarch64/bin/verify-uselistorder.elf
+++ b/aarch64/bin/verify-uselistorder.elf
Binary files differ
diff --git a/aarch64/bin/x86_64-pc-linux-gnu-llvm-config b/aarch64/bin/x86_64-pc-linux-gnu-llvm-config
index dc99abf..f0fee6d 100755
--- a/aarch64/bin/x86_64-pc-linux-gnu-llvm-config
+++ b/aarch64/bin/x86_64-pc-linux-gnu-llvm-config
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/x86_64-pc-linux-gnu-llvm-config" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/x86_64-pc-linux-gnu-llvm-config" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/x86_64-pc-linux-gnu-llvm-config.elf b/aarch64/bin/x86_64-pc-linux-gnu-llvm-config.elf
index ff62958..cb89854 100755
--- a/aarch64/bin/x86_64-pc-linux-gnu-llvm-config.elf
+++ b/aarch64/bin/x86_64-pc-linux-gnu-llvm-config.elf
Binary files differ
diff --git a/aarch64/bin/yaml-bench b/aarch64/bin/yaml-bench
index 5cd2643..2770bc7 100755
--- a/aarch64/bin/yaml-bench
+++ b/aarch64/bin/yaml-bench
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/yaml-bench" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/yaml-bench" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/yaml-bench.elf b/aarch64/bin/yaml-bench.elf
index 8cfb860..a86dde0 100755
--- a/aarch64/bin/yaml-bench.elf
+++ b/aarch64/bin/yaml-bench.elf
Binary files differ
diff --git a/aarch64/bin/yaml2obj b/aarch64/bin/yaml2obj
index e60e0c0..3cca463 100755
--- a/aarch64/bin/yaml2obj
+++ b/aarch64/bin/yaml2obj
@@ -11,6 +11,4 @@
esac
fi
basedir=${base%/*}
-# TODO(crbug/1003841): Remove LD_ARGV0 once
-# ld.so supports forwarding the binary name.
-LD_ARGV0="$0" LD_ARGV0_REL="../bin/yaml2obj" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
+LD_ARGV0_REL="../bin/yaml2obj" exec "${basedir}/../lib/ld-linux-x86-64.so.2" --argv0 "$0" --library-path "${basedir}/../usr/lib64:${basedir}/../lib" --inhibit-rpath '' "${base}.elf" "$@"
diff --git a/aarch64/bin/yaml2obj.elf b/aarch64/bin/yaml2obj.elf
index 265eaa8..3a37a57 100755
--- a/aarch64/bin/yaml2obj.elf
+++ b/aarch64/bin/yaml2obj.elf
Binary files differ
diff --git a/aarch64/lib/ld-linux-x86-64.so.2 b/aarch64/lib/ld-linux-x86-64.so.2
index 1936b1b..a7e7ab8 100755
--- a/aarch64/lib/ld-linux-x86-64.so.2
+++ b/aarch64/lib/ld-linux-x86-64.so.2
Binary files differ
diff --git a/aarch64/lib/libasm.so.1 b/aarch64/lib/libasm.so.1
index 91a20ec..078df71 100755
--- a/aarch64/lib/libasm.so.1
+++ b/aarch64/lib/libasm.so.1
Binary files differ
diff --git a/aarch64/lib/libbfd-2.27.0.20170315.so b/aarch64/lib/libbfd-2.27.0.20170315.so
deleted file mode 100755
index 0be059d..0000000
--- a/aarch64/lib/libbfd-2.27.0.20170315.so
+++ /dev/null
Binary files differ
diff --git a/aarch64/lib/libbfd-2.36.1.so b/aarch64/lib/libbfd-2.36.1.so
new file mode 100755
index 0000000..eb75688
--- /dev/null
+++ b/aarch64/lib/libbfd-2.36.1.so
Binary files differ
diff --git a/aarch64/lib/libbz2.so.1 b/aarch64/lib/libbz2.so.1
index 9bf7682..626f891 100755
--- a/aarch64/lib/libbz2.so.1
+++ b/aarch64/lib/libbz2.so.1
Binary files differ
diff --git a/aarch64/lib/libc++.so.1 b/aarch64/lib/libc++.so.1
index fc10349..f37c614 100755
--- a/aarch64/lib/libc++.so.1
+++ b/aarch64/lib/libc++.so.1
Binary files differ
diff --git a/aarch64/lib/libc++abi.so.1 b/aarch64/lib/libc++abi.so.1
index cb8e7e9..befe6cc 100755
--- a/aarch64/lib/libc++abi.so.1
+++ b/aarch64/lib/libc++abi.so.1
Binary files differ
diff --git a/aarch64/lib/libc.so.6 b/aarch64/lib/libc.so.6
index f1f8fbd..3185b63 100755
--- a/aarch64/lib/libc.so.6
+++ b/aarch64/lib/libc.so.6
Binary files differ
diff --git a/aarch64/lib/libclang.so.12git b/aarch64/lib/libclang.so.12git
deleted file mode 100755
index 9859a76..0000000
--- a/aarch64/lib/libclang.so.12git
+++ /dev/null
Binary files differ
diff --git a/aarch64/lib/libclang.so.13 b/aarch64/lib/libclang.so.13
new file mode 100755
index 0000000..4608f0d
--- /dev/null
+++ b/aarch64/lib/libclang.so.13
Binary files differ
diff --git a/aarch64/lib/libcrypto.so.1.1 b/aarch64/lib/libcrypto.so.1.1
index b329cc6..76b2a95 100755
--- a/aarch64/lib/libcrypto.so.1.1
+++ b/aarch64/lib/libcrypto.so.1.1
Binary files differ
diff --git a/aarch64/lib/libctf-nobfd.so.0 b/aarch64/lib/libctf-nobfd.so.0
new file mode 100755
index 0000000..2df7543
--- /dev/null
+++ b/aarch64/lib/libctf-nobfd.so.0
Binary files differ
diff --git a/aarch64/lib/libctf.so.0 b/aarch64/lib/libctf.so.0
new file mode 100755
index 0000000..c140710
--- /dev/null
+++ b/aarch64/lib/libctf.so.0
Binary files differ
diff --git a/aarch64/lib/libcurl.so.4 b/aarch64/lib/libcurl.so.4
index 92e6550..d25ec1e 100755
--- a/aarch64/lib/libcurl.so.4
+++ b/aarch64/lib/libcurl.so.4
Binary files differ
diff --git a/aarch64/lib/libdl.so.2 b/aarch64/lib/libdl.so.2
index 07fff0e..762428b 100755
--- a/aarch64/lib/libdl.so.2
+++ b/aarch64/lib/libdl.so.2
Binary files differ
diff --git a/aarch64/lib/libdw.so.1 b/aarch64/lib/libdw.so.1
index 221c9a8..d2b3321 100755
--- a/aarch64/lib/libdw.so.1
+++ b/aarch64/lib/libdw.so.1
Binary files differ
diff --git a/aarch64/lib/libelf.so.1 b/aarch64/lib/libelf.so.1
index 2491434..d6c0c0a 100755
--- a/aarch64/lib/libelf.so.1
+++ b/aarch64/lib/libelf.so.1
Binary files differ
diff --git a/aarch64/lib/libexpat.so.1 b/aarch64/lib/libexpat.so.1
index 70ae4b9..64f3724 100755
--- a/aarch64/lib/libexpat.so.1
+++ b/aarch64/lib/libexpat.so.1
Binary files differ
diff --git a/aarch64/lib/libffi.so.6 b/aarch64/lib/libffi.so.6
index 1527521..0af0184 100755
--- a/aarch64/lib/libffi.so.6
+++ b/aarch64/lib/libffi.so.6
Binary files differ
diff --git a/aarch64/lib/libgcc_s.so.1 b/aarch64/lib/libgcc_s.so.1
old mode 100644
new mode 100755
index 2afa482..f1e3e44
--- a/aarch64/lib/libgcc_s.so.1
+++ b/aarch64/lib/libgcc_s.so.1
Binary files differ
diff --git a/aarch64/lib/libgmp.so.10 b/aarch64/lib/libgmp.so.10
index eb96bbc..e16d06a 100755
--- a/aarch64/lib/libgmp.so.10
+++ b/aarch64/lib/libgmp.so.10
Binary files differ
diff --git a/aarch64/lib/liblldb.so.14git b/aarch64/lib/liblldb.so.14git
new file mode 100755
index 0000000..442d366
--- /dev/null
+++ b/aarch64/lib/liblldb.so.14git
Binary files differ
diff --git a/aarch64/lib/liblzma.so.5 b/aarch64/lib/liblzma.so.5
new file mode 100755
index 0000000..85e81b9
--- /dev/null
+++ b/aarch64/lib/liblzma.so.5
Binary files differ
diff --git a/aarch64/lib/libm.so.6 b/aarch64/lib/libm.so.6
index 4de47db..d78d6e5 100755
--- a/aarch64/lib/libm.so.6
+++ b/aarch64/lib/libm.so.6
Binary files differ
diff --git a/aarch64/lib/libmpc.so.3 b/aarch64/lib/libmpc.so.3
index 58667ec..726cfcd 100755
--- a/aarch64/lib/libmpc.so.3
+++ b/aarch64/lib/libmpc.so.3
Binary files differ
diff --git a/aarch64/lib/libmpfr.so.4 b/aarch64/lib/libmpfr.so.4
index 1c90931..5b852c6 100755
--- a/aarch64/lib/libmpfr.so.4
+++ b/aarch64/lib/libmpfr.so.4
Binary files differ
diff --git a/aarch64/lib/libncurses.so.5 b/aarch64/lib/libncurses.so.5
new file mode 100755
index 0000000..220ccd9
--- /dev/null
+++ b/aarch64/lib/libncurses.so.5
Binary files differ
diff --git a/aarch64/lib/libncursesw.so.5 b/aarch64/lib/libncursesw.so.5
index 251b493..3971e55 100755
--- a/aarch64/lib/libncursesw.so.5
+++ b/aarch64/lib/libncursesw.so.5
Binary files differ
diff --git a/aarch64/lib/libnghttp2.so.14 b/aarch64/lib/libnghttp2.so.14
index d6b21da..676d39e 100755
--- a/aarch64/lib/libnghttp2.so.14
+++ b/aarch64/lib/libnghttp2.so.14
Binary files differ
diff --git a/aarch64/lib/libopcodes-2.27.0.20170315.so b/aarch64/lib/libopcodes-2.27.0.20170315.so
deleted file mode 100755
index 0b80a1e..0000000
--- a/aarch64/lib/libopcodes-2.27.0.20170315.so
+++ /dev/null
Binary files differ
diff --git a/aarch64/lib/libopcodes-2.36.1.so b/aarch64/lib/libopcodes-2.36.1.so
new file mode 100755
index 0000000..33181ee
--- /dev/null
+++ b/aarch64/lib/libopcodes-2.36.1.so
Binary files differ
diff --git a/aarch64/lib/libpanel.so.5 b/aarch64/lib/libpanel.so.5
new file mode 100755
index 0000000..0b332a8
--- /dev/null
+++ b/aarch64/lib/libpanel.so.5
Binary files differ
diff --git a/aarch64/lib/libpthread.so.0 b/aarch64/lib/libpthread.so.0
index 7b0e314..c05b67a 100755
--- a/aarch64/lib/libpthread.so.0
+++ b/aarch64/lib/libpthread.so.0
Binary files differ
diff --git a/aarch64/lib/libpython3.6m.so.1.0 b/aarch64/lib/libpython3.6m.so.1.0
index 82e4c60..1279471 100755
--- a/aarch64/lib/libpython3.6m.so.1.0
+++ b/aarch64/lib/libpython3.6m.so.1.0
Binary files differ
diff --git a/aarch64/lib/libreadline.so.8 b/aarch64/lib/libreadline.so.8
index cd406df..d5d96b5 100755
--- a/aarch64/lib/libreadline.so.8
+++ b/aarch64/lib/libreadline.so.8
Binary files differ
diff --git a/aarch64/lib/librt.so.1 b/aarch64/lib/librt.so.1
deleted file mode 100755
index ef40c0e..0000000
--- a/aarch64/lib/librt.so.1
+++ /dev/null
Binary files differ
diff --git a/aarch64/lib/librustc_driver-c9271175117188a9.so b/aarch64/lib/librustc_driver-c9271175117188a9.so
new file mode 100755
index 0000000..543f8f9
--- /dev/null
+++ b/aarch64/lib/librustc_driver-c9271175117188a9.so
Binary files differ
diff --git a/aarch64/lib/librustc_driver-e3920dca5d5acac3.so b/aarch64/lib/librustc_driver-e3920dca5d5acac3.so
deleted file mode 100755
index 3ea79b2..0000000
--- a/aarch64/lib/librustc_driver-e3920dca5d5acac3.so
+++ /dev/null
Binary files differ
diff --git a/aarch64/lib/libssl.so.1.1 b/aarch64/lib/libssl.so.1.1
index e491735..f00bf4f 100755
--- a/aarch64/lib/libssl.so.1.1
+++ b/aarch64/lib/libssl.so.1.1
Binary files differ
diff --git a/aarch64/lib/libstd-1962cc37bfbc6a4b.so b/aarch64/lib/libstd-1962cc37bfbc6a4b.so
deleted file mode 100644
index 7883349..0000000
--- a/aarch64/lib/libstd-1962cc37bfbc6a4b.so
+++ /dev/null
Binary files differ
diff --git a/aarch64/lib/libstd-2ed0c51f104da396.so b/aarch64/lib/libstd-2ed0c51f104da396.so
deleted file mode 100644
index edad76e..0000000
--- a/aarch64/lib/libstd-2ed0c51f104da396.so
+++ /dev/null
Binary files differ
diff --git a/aarch64/lib/libstd-7e6c3b81e76f89be.so b/aarch64/lib/libstd-7e6c3b81e76f89be.so
new file mode 100644
index 0000000..9c03c20
--- /dev/null
+++ b/aarch64/lib/libstd-7e6c3b81e76f89be.so
Binary files differ
diff --git a/aarch64/lib/libstd-a3edd9f4530e2dd9.so b/aarch64/lib/libstd-a3edd9f4530e2dd9.so
new file mode 100644
index 0000000..fd6b0c4
--- /dev/null
+++ b/aarch64/lib/libstd-a3edd9f4530e2dd9.so
Binary files differ
diff --git a/aarch64/lib/libstd-c67bcafeb381150c.so b/aarch64/lib/libstd-c67bcafeb381150c.so
deleted file mode 100644
index ee6d9b3..0000000
--- a/aarch64/lib/libstd-c67bcafeb381150c.so
+++ /dev/null
Binary files differ
diff --git a/aarch64/lib/libstd-ed739b04b73866c1.so b/aarch64/lib/libstd-ed739b04b73866c1.so
new file mode 100644
index 0000000..b0dda68
--- /dev/null
+++ b/aarch64/lib/libstd-ed739b04b73866c1.so
Binary files differ
diff --git a/aarch64/lib/libstdc++.so.6 b/aarch64/lib/libstdc++.so.6
index 20b1a4d..fa19fd3 100755
--- a/aarch64/lib/libstdc++.so.6
+++ b/aarch64/lib/libstdc++.so.6
Binary files differ
diff --git a/aarch64/lib/libtest-323fd96e86abe6d2.so b/aarch64/lib/libtest-323fd96e86abe6d2.so
deleted file mode 100755
index 0881d66..0000000
--- a/aarch64/lib/libtest-323fd96e86abe6d2.so
+++ /dev/null
Binary files differ
diff --git a/aarch64/lib/libtest-4a32b55909f72754.so b/aarch64/lib/libtest-4a32b55909f72754.so
new file mode 100755
index 0000000..fd07e57
--- /dev/null
+++ b/aarch64/lib/libtest-4a32b55909f72754.so
Binary files differ
diff --git a/aarch64/lib/libtinfo.so.5 b/aarch64/lib/libtinfo.so.5
index d79781b..369ec97 100755
--- a/aarch64/lib/libtinfo.so.5
+++ b/aarch64/lib/libtinfo.so.5
Binary files differ
diff --git a/aarch64/lib/libtinfow.so.5 b/aarch64/lib/libtinfow.so.5
index 7a2e19f..36ce8e0 100755
--- a/aarch64/lib/libtinfow.so.5
+++ b/aarch64/lib/libtinfow.so.5
Binary files differ
diff --git a/aarch64/lib/libutil.so.1 b/aarch64/lib/libutil.so.1
index e8d666c..4c4d9b4 100755
--- a/aarch64/lib/libutil.so.1
+++ b/aarch64/lib/libutil.so.1
Binary files differ
diff --git a/aarch64/lib/libxml2.so.2 b/aarch64/lib/libxml2.so.2
index 23eb8f3..2b48af5 100755
--- a/aarch64/lib/libxml2.so.2
+++ b/aarch64/lib/libxml2.so.2
Binary files differ
diff --git a/aarch64/lib/libz.so.1 b/aarch64/lib/libz.so.1
index 03f57e5..71e0849 100755
--- a/aarch64/lib/libz.so.1
+++ b/aarch64/lib/libz.so.1
Binary files differ
diff --git a/aarch64/lib/libzstd.so.1 b/aarch64/lib/libzstd.so.1
new file mode 100755
index 0000000..e54e4dc
--- /dev/null
+++ b/aarch64/lib/libzstd.so.1
Binary files differ
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/lib/libgcc_s.so.1 b/aarch64/usr/aarch64-cros-linux-gnu/lib/libgcc_s.so.1
index 2afa482..854a5fb 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/lib/libgcc_s.so.1
+++ b/aarch64/usr/aarch64-cros-linux-gnu/lib/libgcc_s.so.1
Binary files differ
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/lib64/ld-2.27.so b/aarch64/usr/aarch64-cros-linux-gnu/lib64/ld-2.27.so
deleted file mode 100755
index 165a1f1..0000000
--- a/aarch64/usr/aarch64-cros-linux-gnu/lib64/ld-2.27.so
+++ /dev/null
Binary files differ
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/lib64/ld-2.33.so b/aarch64/usr/aarch64-cros-linux-gnu/lib64/ld-2.33.so
new file mode 100755
index 0000000..398c3cb
--- /dev/null
+++ b/aarch64/usr/aarch64-cros-linux-gnu/lib64/ld-2.33.so
Binary files differ
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/lib64/ld-linux-aarch64.so.1 b/aarch64/usr/aarch64-cros-linux-gnu/lib64/ld-linux-aarch64.so.1
index 2ffc93b..32ac5fb 120000
--- a/aarch64/usr/aarch64-cros-linux-gnu/lib64/ld-linux-aarch64.so.1
+++ b/aarch64/usr/aarch64-cros-linux-gnu/lib64/ld-linux-aarch64.so.1
@@ -1 +1 @@
-ld-2.27.so
\ No newline at end of file
+ld-2.33.so
\ No newline at end of file
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/lib64/libBrokenLocale-2.27.so b/aarch64/usr/aarch64-cros-linux-gnu/lib64/libBrokenLocale-2.27.so
deleted file mode 100755
index 4e4b2ec..0000000
--- a/aarch64/usr/aarch64-cros-linux-gnu/lib64/libBrokenLocale-2.27.so
+++ /dev/null
Binary files differ
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/lib64/libBrokenLocale-2.33.so b/aarch64/usr/aarch64-cros-linux-gnu/lib64/libBrokenLocale-2.33.so
new file mode 100755
index 0000000..9c1fd8a
--- /dev/null
+++ b/aarch64/usr/aarch64-cros-linux-gnu/lib64/libBrokenLocale-2.33.so
Binary files differ
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/lib64/libBrokenLocale.so.1 b/aarch64/usr/aarch64-cros-linux-gnu/lib64/libBrokenLocale.so.1
index d0efb54..70f4e3b 120000
--- a/aarch64/usr/aarch64-cros-linux-gnu/lib64/libBrokenLocale.so.1
+++ b/aarch64/usr/aarch64-cros-linux-gnu/lib64/libBrokenLocale.so.1
@@ -1 +1 @@
-libBrokenLocale-2.27.so
\ No newline at end of file
+libBrokenLocale-2.33.so
\ No newline at end of file
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/lib64/libSegFault.so b/aarch64/usr/aarch64-cros-linux-gnu/lib64/libSegFault.so
index 37248dd..db6a2f7 100755
--- a/aarch64/usr/aarch64-cros-linux-gnu/lib64/libSegFault.so
+++ b/aarch64/usr/aarch64-cros-linux-gnu/lib64/libSegFault.so
Binary files differ
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/lib64/libanl-2.27.so b/aarch64/usr/aarch64-cros-linux-gnu/lib64/libanl-2.27.so
deleted file mode 100755
index 4ce4803..0000000
--- a/aarch64/usr/aarch64-cros-linux-gnu/lib64/libanl-2.27.so
+++ /dev/null
Binary files differ
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/lib64/libanl-2.33.so b/aarch64/usr/aarch64-cros-linux-gnu/lib64/libanl-2.33.so
new file mode 100755
index 0000000..b030e3c
--- /dev/null
+++ b/aarch64/usr/aarch64-cros-linux-gnu/lib64/libanl-2.33.so
Binary files differ
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/lib64/libanl.so.1 b/aarch64/usr/aarch64-cros-linux-gnu/lib64/libanl.so.1
index ea60727..22a63c5 120000
--- a/aarch64/usr/aarch64-cros-linux-gnu/lib64/libanl.so.1
+++ b/aarch64/usr/aarch64-cros-linux-gnu/lib64/libanl.so.1
@@ -1 +1 @@
-libanl-2.27.so
\ No newline at end of file
+libanl-2.33.so
\ No newline at end of file
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/lib64/libc-2.27.so b/aarch64/usr/aarch64-cros-linux-gnu/lib64/libc-2.27.so
deleted file mode 100755
index 80c0d4f..0000000
--- a/aarch64/usr/aarch64-cros-linux-gnu/lib64/libc-2.27.so
+++ /dev/null
Binary files differ
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/lib64/libc-2.33.so b/aarch64/usr/aarch64-cros-linux-gnu/lib64/libc-2.33.so
new file mode 100755
index 0000000..4def19b
--- /dev/null
+++ b/aarch64/usr/aarch64-cros-linux-gnu/lib64/libc-2.33.so
Binary files differ
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/lib64/libc.so.6 b/aarch64/usr/aarch64-cros-linux-gnu/lib64/libc.so.6
index aa8ad7a..3b28802 120000
--- a/aarch64/usr/aarch64-cros-linux-gnu/lib64/libc.so.6
+++ b/aarch64/usr/aarch64-cros-linux-gnu/lib64/libc.so.6
@@ -1 +1 @@
-libc-2.27.so
\ No newline at end of file
+libc-2.33.so
\ No newline at end of file
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/lib64/libcidn-2.27.so b/aarch64/usr/aarch64-cros-linux-gnu/lib64/libcidn-2.27.so
deleted file mode 100755
index 4a1c196..0000000
--- a/aarch64/usr/aarch64-cros-linux-gnu/lib64/libcidn-2.27.so
+++ /dev/null
Binary files differ
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/lib64/libcidn.so.1 b/aarch64/usr/aarch64-cros-linux-gnu/lib64/libcidn.so.1
deleted file mode 120000
index ae5e122..0000000
--- a/aarch64/usr/aarch64-cros-linux-gnu/lib64/libcidn.so.1
+++ /dev/null
@@ -1 +0,0 @@
-libcidn-2.27.so
\ No newline at end of file
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/lib64/libcrypt-2.27.so b/aarch64/usr/aarch64-cros-linux-gnu/lib64/libcrypt-2.27.so
deleted file mode 100755
index 4b6804f..0000000
--- a/aarch64/usr/aarch64-cros-linux-gnu/lib64/libcrypt-2.27.so
+++ /dev/null
Binary files differ
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/lib64/libcrypt-2.33.so b/aarch64/usr/aarch64-cros-linux-gnu/lib64/libcrypt-2.33.so
new file mode 100755
index 0000000..e17ba57
--- /dev/null
+++ b/aarch64/usr/aarch64-cros-linux-gnu/lib64/libcrypt-2.33.so
Binary files differ
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/lib64/libcrypt.so.1 b/aarch64/usr/aarch64-cros-linux-gnu/lib64/libcrypt.so.1
index e527bb4..181ca8d 120000
--- a/aarch64/usr/aarch64-cros-linux-gnu/lib64/libcrypt.so.1
+++ b/aarch64/usr/aarch64-cros-linux-gnu/lib64/libcrypt.so.1
@@ -1 +1 @@
-libcrypt-2.27.so
\ No newline at end of file
+libcrypt-2.33.so
\ No newline at end of file
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/lib64/libdl-2.27.so b/aarch64/usr/aarch64-cros-linux-gnu/lib64/libdl-2.27.so
deleted file mode 100755
index 5c41cfe..0000000
--- a/aarch64/usr/aarch64-cros-linux-gnu/lib64/libdl-2.27.so
+++ /dev/null
Binary files differ
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/lib64/libdl-2.33.so b/aarch64/usr/aarch64-cros-linux-gnu/lib64/libdl-2.33.so
new file mode 100755
index 0000000..100e84b
--- /dev/null
+++ b/aarch64/usr/aarch64-cros-linux-gnu/lib64/libdl-2.33.so
Binary files differ
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/lib64/libdl.so.2 b/aarch64/usr/aarch64-cros-linux-gnu/lib64/libdl.so.2
index f607f6a..663ede7 120000
--- a/aarch64/usr/aarch64-cros-linux-gnu/lib64/libdl.so.2
+++ b/aarch64/usr/aarch64-cros-linux-gnu/lib64/libdl.so.2
@@ -1 +1 @@
-libdl-2.27.so
\ No newline at end of file
+libdl-2.33.so
\ No newline at end of file
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/lib64/libm-2.27.so b/aarch64/usr/aarch64-cros-linux-gnu/lib64/libm-2.27.so
deleted file mode 100755
index b59c467..0000000
--- a/aarch64/usr/aarch64-cros-linux-gnu/lib64/libm-2.27.so
+++ /dev/null
Binary files differ
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/lib64/libm-2.33.so b/aarch64/usr/aarch64-cros-linux-gnu/lib64/libm-2.33.so
new file mode 100755
index 0000000..23999f4
--- /dev/null
+++ b/aarch64/usr/aarch64-cros-linux-gnu/lib64/libm-2.33.so
Binary files differ
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/lib64/libm.so.6 b/aarch64/usr/aarch64-cros-linux-gnu/lib64/libm.so.6
index 8ca96af..dd1ae3e 120000
--- a/aarch64/usr/aarch64-cros-linux-gnu/lib64/libm.so.6
+++ b/aarch64/usr/aarch64-cros-linux-gnu/lib64/libm.so.6
@@ -1 +1 @@
-libm-2.27.so
\ No newline at end of file
+libm-2.33.so
\ No newline at end of file
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/lib64/libmemusage.so b/aarch64/usr/aarch64-cros-linux-gnu/lib64/libmemusage.so
index 526f09a..de6393e 100755
--- a/aarch64/usr/aarch64-cros-linux-gnu/lib64/libmemusage.so
+++ b/aarch64/usr/aarch64-cros-linux-gnu/lib64/libmemusage.so
Binary files differ
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/lib64/libnsl-2.27.so b/aarch64/usr/aarch64-cros-linux-gnu/lib64/libnsl-2.27.so
deleted file mode 100755
index 41e0ee6..0000000
--- a/aarch64/usr/aarch64-cros-linux-gnu/lib64/libnsl-2.27.so
+++ /dev/null
Binary files differ
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/lib64/libnsl-2.33.so b/aarch64/usr/aarch64-cros-linux-gnu/lib64/libnsl-2.33.so
new file mode 100755
index 0000000..7750640
--- /dev/null
+++ b/aarch64/usr/aarch64-cros-linux-gnu/lib64/libnsl-2.33.so
Binary files differ
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/lib64/libnsl.so.1 b/aarch64/usr/aarch64-cros-linux-gnu/lib64/libnsl.so.1
index 0fc9683..8ce2801 120000
--- a/aarch64/usr/aarch64-cros-linux-gnu/lib64/libnsl.so.1
+++ b/aarch64/usr/aarch64-cros-linux-gnu/lib64/libnsl.so.1
@@ -1 +1 @@
-libnsl-2.27.so
\ No newline at end of file
+libnsl-2.33.so
\ No newline at end of file
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/lib64/libnss_compat-2.27.so b/aarch64/usr/aarch64-cros-linux-gnu/lib64/libnss_compat-2.27.so
deleted file mode 100755
index c3a9eff..0000000
--- a/aarch64/usr/aarch64-cros-linux-gnu/lib64/libnss_compat-2.27.so
+++ /dev/null
Binary files differ
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/lib64/libnss_compat-2.33.so b/aarch64/usr/aarch64-cros-linux-gnu/lib64/libnss_compat-2.33.so
new file mode 100755
index 0000000..c516b4b
--- /dev/null
+++ b/aarch64/usr/aarch64-cros-linux-gnu/lib64/libnss_compat-2.33.so
Binary files differ
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/lib64/libnss_compat.so.2 b/aarch64/usr/aarch64-cros-linux-gnu/lib64/libnss_compat.so.2
index 5b1cfc2..0ee4d94 120000
--- a/aarch64/usr/aarch64-cros-linux-gnu/lib64/libnss_compat.so.2
+++ b/aarch64/usr/aarch64-cros-linux-gnu/lib64/libnss_compat.so.2
@@ -1 +1 @@
-libnss_compat-2.27.so
\ No newline at end of file
+libnss_compat-2.33.so
\ No newline at end of file
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/lib64/libnss_db-2.27.so b/aarch64/usr/aarch64-cros-linux-gnu/lib64/libnss_db-2.27.so
deleted file mode 100755
index 76cc8b6..0000000
--- a/aarch64/usr/aarch64-cros-linux-gnu/lib64/libnss_db-2.27.so
+++ /dev/null
Binary files differ
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/lib64/libnss_db-2.33.so b/aarch64/usr/aarch64-cros-linux-gnu/lib64/libnss_db-2.33.so
new file mode 100755
index 0000000..55554e4
--- /dev/null
+++ b/aarch64/usr/aarch64-cros-linux-gnu/lib64/libnss_db-2.33.so
Binary files differ
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/lib64/libnss_db.so.2 b/aarch64/usr/aarch64-cros-linux-gnu/lib64/libnss_db.so.2
index c108269..cc3dfae 120000
--- a/aarch64/usr/aarch64-cros-linux-gnu/lib64/libnss_db.so.2
+++ b/aarch64/usr/aarch64-cros-linux-gnu/lib64/libnss_db.so.2
@@ -1 +1 @@
-libnss_db-2.27.so
\ No newline at end of file
+libnss_db-2.33.so
\ No newline at end of file
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/lib64/libnss_dns-2.27.so b/aarch64/usr/aarch64-cros-linux-gnu/lib64/libnss_dns-2.27.so
deleted file mode 100755
index 7b7d42e..0000000
--- a/aarch64/usr/aarch64-cros-linux-gnu/lib64/libnss_dns-2.27.so
+++ /dev/null
Binary files differ
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/lib64/libnss_dns-2.33.so b/aarch64/usr/aarch64-cros-linux-gnu/lib64/libnss_dns-2.33.so
new file mode 100755
index 0000000..16776e0
--- /dev/null
+++ b/aarch64/usr/aarch64-cros-linux-gnu/lib64/libnss_dns-2.33.so
Binary files differ
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/lib64/libnss_dns.so.2 b/aarch64/usr/aarch64-cros-linux-gnu/lib64/libnss_dns.so.2
index 812f3be..d3a756c 120000
--- a/aarch64/usr/aarch64-cros-linux-gnu/lib64/libnss_dns.so.2
+++ b/aarch64/usr/aarch64-cros-linux-gnu/lib64/libnss_dns.so.2
@@ -1 +1 @@
-libnss_dns-2.27.so
\ No newline at end of file
+libnss_dns-2.33.so
\ No newline at end of file
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/lib64/libnss_files-2.27.so b/aarch64/usr/aarch64-cros-linux-gnu/lib64/libnss_files-2.27.so
deleted file mode 100755
index 62cfb46..0000000
--- a/aarch64/usr/aarch64-cros-linux-gnu/lib64/libnss_files-2.27.so
+++ /dev/null
Binary files differ
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/lib64/libnss_files-2.33.so b/aarch64/usr/aarch64-cros-linux-gnu/lib64/libnss_files-2.33.so
new file mode 100755
index 0000000..970be11
--- /dev/null
+++ b/aarch64/usr/aarch64-cros-linux-gnu/lib64/libnss_files-2.33.so
Binary files differ
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/lib64/libnss_files.so.2 b/aarch64/usr/aarch64-cros-linux-gnu/lib64/libnss_files.so.2
index ba3fbd8..968bb00 120000
--- a/aarch64/usr/aarch64-cros-linux-gnu/lib64/libnss_files.so.2
+++ b/aarch64/usr/aarch64-cros-linux-gnu/lib64/libnss_files.so.2
@@ -1 +1 @@
-libnss_files-2.27.so
\ No newline at end of file
+libnss_files-2.33.so
\ No newline at end of file
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/lib64/libnss_hesiod-2.27.so b/aarch64/usr/aarch64-cros-linux-gnu/lib64/libnss_hesiod-2.27.so
deleted file mode 100755
index 374347c..0000000
--- a/aarch64/usr/aarch64-cros-linux-gnu/lib64/libnss_hesiod-2.27.so
+++ /dev/null
Binary files differ
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/lib64/libnss_hesiod-2.33.so b/aarch64/usr/aarch64-cros-linux-gnu/lib64/libnss_hesiod-2.33.so
new file mode 100755
index 0000000..493cc86
--- /dev/null
+++ b/aarch64/usr/aarch64-cros-linux-gnu/lib64/libnss_hesiod-2.33.so
Binary files differ
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/lib64/libnss_hesiod.so.2 b/aarch64/usr/aarch64-cros-linux-gnu/lib64/libnss_hesiod.so.2
index bb380d6..888b31b 120000
--- a/aarch64/usr/aarch64-cros-linux-gnu/lib64/libnss_hesiod.so.2
+++ b/aarch64/usr/aarch64-cros-linux-gnu/lib64/libnss_hesiod.so.2
@@ -1 +1 @@
-libnss_hesiod-2.27.so
\ No newline at end of file
+libnss_hesiod-2.33.so
\ No newline at end of file
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/lib64/libpcprofile.so b/aarch64/usr/aarch64-cros-linux-gnu/lib64/libpcprofile.so
index 1b96eaf..fd6bfaf 100755
--- a/aarch64/usr/aarch64-cros-linux-gnu/lib64/libpcprofile.so
+++ b/aarch64/usr/aarch64-cros-linux-gnu/lib64/libpcprofile.so
Binary files differ
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/lib64/libpthread-2.27.so b/aarch64/usr/aarch64-cros-linux-gnu/lib64/libpthread-2.27.so
deleted file mode 100755
index 37fdf3c..0000000
--- a/aarch64/usr/aarch64-cros-linux-gnu/lib64/libpthread-2.27.so
+++ /dev/null
Binary files differ
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/lib64/libpthread-2.33.so b/aarch64/usr/aarch64-cros-linux-gnu/lib64/libpthread-2.33.so
new file mode 100755
index 0000000..ff870d8
--- /dev/null
+++ b/aarch64/usr/aarch64-cros-linux-gnu/lib64/libpthread-2.33.so
Binary files differ
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/lib64/libpthread.so.0 b/aarch64/usr/aarch64-cros-linux-gnu/lib64/libpthread.so.0
index 3c60c17..ff0d3c6 120000
--- a/aarch64/usr/aarch64-cros-linux-gnu/lib64/libpthread.so.0
+++ b/aarch64/usr/aarch64-cros-linux-gnu/lib64/libpthread.so.0
@@ -1 +1 @@
-libpthread-2.27.so
\ No newline at end of file
+libpthread-2.33.so
\ No newline at end of file
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/lib64/libresolv-2.27.so b/aarch64/usr/aarch64-cros-linux-gnu/lib64/libresolv-2.27.so
deleted file mode 100755
index c5544d4..0000000
--- a/aarch64/usr/aarch64-cros-linux-gnu/lib64/libresolv-2.27.so
+++ /dev/null
Binary files differ
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/lib64/libresolv-2.33.so b/aarch64/usr/aarch64-cros-linux-gnu/lib64/libresolv-2.33.so
new file mode 100755
index 0000000..ffeaa6d
--- /dev/null
+++ b/aarch64/usr/aarch64-cros-linux-gnu/lib64/libresolv-2.33.so
Binary files differ
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/lib64/libresolv.so.2 b/aarch64/usr/aarch64-cros-linux-gnu/lib64/libresolv.so.2
index d1f7cfc..3b652a5 120000
--- a/aarch64/usr/aarch64-cros-linux-gnu/lib64/libresolv.so.2
+++ b/aarch64/usr/aarch64-cros-linux-gnu/lib64/libresolv.so.2
@@ -1 +1 @@
-libresolv-2.27.so
\ No newline at end of file
+libresolv-2.33.so
\ No newline at end of file
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/lib64/librt-2.27.so b/aarch64/usr/aarch64-cros-linux-gnu/lib64/librt-2.27.so
deleted file mode 100755
index 6083ee6..0000000
--- a/aarch64/usr/aarch64-cros-linux-gnu/lib64/librt-2.27.so
+++ /dev/null
Binary files differ
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/lib64/librt-2.33.so b/aarch64/usr/aarch64-cros-linux-gnu/lib64/librt-2.33.so
new file mode 100755
index 0000000..372ed98
--- /dev/null
+++ b/aarch64/usr/aarch64-cros-linux-gnu/lib64/librt-2.33.so
Binary files differ
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/lib64/librt.so.1 b/aarch64/usr/aarch64-cros-linux-gnu/lib64/librt.so.1
index 1a707c1..2033113 120000
--- a/aarch64/usr/aarch64-cros-linux-gnu/lib64/librt.so.1
+++ b/aarch64/usr/aarch64-cros-linux-gnu/lib64/librt.so.1
@@ -1 +1 @@
-librt-2.27.so
\ No newline at end of file
+librt-2.33.so
\ No newline at end of file
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/lib64/libthread_db-1.0.so b/aarch64/usr/aarch64-cros-linux-gnu/lib64/libthread_db-1.0.so
index d6aa4c9..278649f 100755
--- a/aarch64/usr/aarch64-cros-linux-gnu/lib64/libthread_db-1.0.so
+++ b/aarch64/usr/aarch64-cros-linux-gnu/lib64/libthread_db-1.0.so
Binary files differ
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/lib64/libutil-2.27.so b/aarch64/usr/aarch64-cros-linux-gnu/lib64/libutil-2.27.so
deleted file mode 100755
index 2916629..0000000
--- a/aarch64/usr/aarch64-cros-linux-gnu/lib64/libutil-2.27.so
+++ /dev/null
Binary files differ
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/lib64/libutil-2.33.so b/aarch64/usr/aarch64-cros-linux-gnu/lib64/libutil-2.33.so
new file mode 100755
index 0000000..0380bc2
--- /dev/null
+++ b/aarch64/usr/aarch64-cros-linux-gnu/lib64/libutil-2.33.so
Binary files differ
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/lib64/libutil.so.1 b/aarch64/usr/aarch64-cros-linux-gnu/lib64/libutil.so.1
index 554fe8f..032fa09 120000
--- a/aarch64/usr/aarch64-cros-linux-gnu/lib64/libutil.so.1
+++ b/aarch64/usr/aarch64-cros-linux-gnu/lib64/libutil.so.1
@@ -1 +1 @@
-libutil-2.27.so
\ No newline at end of file
+libutil-2.33.so
\ No newline at end of file
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/sbin/ldconfig b/aarch64/usr/aarch64-cros-linux-gnu/sbin/ldconfig
index 7d502ee..d605ac6 100755
--- a/aarch64/usr/aarch64-cros-linux-gnu/sbin/ldconfig
+++ b/aarch64/usr/aarch64-cros-linux-gnu/sbin/ldconfig
Binary files differ
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/bin/gdbserver b/aarch64/usr/aarch64-cros-linux-gnu/usr/bin/gdbserver
index bf0ea7b..70ae35b 100755
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/bin/gdbserver
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/bin/gdbserver
Binary files differ
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/bin/getent b/aarch64/usr/aarch64-cros-linux-gnu/usr/bin/getent
index 7093f19..4fc913f 100755
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/bin/getent
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/bin/getent
Binary files differ
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/bin/ldd b/aarch64/usr/aarch64-cros-linux-gnu/usr/bin/ldd
index 65d5798..e1fed7c 100755
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/bin/ldd
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/bin/ldd
@@ -1,5 +1,5 @@
#! /bin/bash
-# Copyright (C) 1996-2018 Free Software Foundation, Inc.
+# Copyright (C) 1996-2021 Free Software Foundation, Inc.
# This file is part of the GNU C Library.
# The GNU C Library is free software; you can redistribute it and/or
@@ -14,7 +14,7 @@
# You should have received a copy of the GNU Lesser General Public
# License along with the GNU C Library; if not, see
-# <http://www.gnu.org/licenses/>.
+# <https://www.gnu.org/licenses/>.
# This is the `ldd' command, which lists what shared libraries are
@@ -34,11 +34,11 @@
while test $# -gt 0; do
case "$1" in
--vers | --versi | --versio | --version)
- echo 'ldd (Gentoo 2.27-r20 p3) 2.27'
+ echo 'ldd (Gentoo 2.33-r16 p9) 2.33'
printf $"Copyright (C) %s Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-" "2018"
+" "2021"
printf $"Written by %s and %s.
" "Roland McGrath" "Ulrich Drepper"
exit 0
@@ -167,7 +167,7 @@
1)
# This can be a non-ELF binary or no binary at all.
nonelf "$file" || {
- echo $" not a dynamic executable"
+ echo $" not a dynamic executable" >&2
result=1
}
;;
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/_G_config.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/_G_config.h
deleted file mode 100644
index 68de2fc..0000000
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/_G_config.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/* Copyright (C) 2017-2018 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _G_CONFIG_H
-#define _G_CONFIG_H 1
-
-#warning "<_G_config.h> is deprecated; use <stdio.h> instead."
-
-#include <bits/_G_config.h>
-
-#endif
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/__libunwind_config.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/__libunwind_config.h
index 71d77ca..221980a 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/__libunwind_config.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/__libunwind_config.h
@@ -1,4 +1,4 @@
-//===------------------------- __libunwind_config.h -----------------------===//
+//===----------------------------------------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
@@ -25,8 +25,12 @@
#define _LIBUNWIND_HIGHEST_DWARF_REGISTER_SPARC 31
#define _LIBUNWIND_HIGHEST_DWARF_REGISTER_HEXAGON 34
#define _LIBUNWIND_HIGHEST_DWARF_REGISTER_RISCV 64
+#define _LIBUNWIND_HIGHEST_DWARF_REGISTER_VE 143
#if defined(_LIBUNWIND_IS_NATIVE_ONLY)
+# if defined(__linux__)
+# define _LIBUNWIND_TARGET_LINUX 1
+# endif
# if defined(__i386__)
# define _LIBUNWIND_TARGET_I386
# define _LIBUNWIND_CONTEXT_SIZE 8
@@ -127,14 +131,26 @@
#define _LIBUNWIND_CONTEXT_SIZE 16
#define _LIBUNWIND_CURSOR_SIZE 23
# elif defined(__riscv)
-# if __riscv_xlen == 64
-# define _LIBUNWIND_TARGET_RISCV 1
-# define _LIBUNWIND_CONTEXT_SIZE 64
-# define _LIBUNWIND_CURSOR_SIZE 76
+# define _LIBUNWIND_TARGET_RISCV 1
+# if defined(__riscv_flen)
+# define RISCV_FLEN __riscv_flen
# else
-# error "Unsupported RISC-V ABI"
+# define RISCV_FLEN 0
+# endif
+# define _LIBUNWIND_CONTEXT_SIZE (32 * (__riscv_xlen + RISCV_FLEN) / 64)
+# if __riscv_xlen == 32
+# define _LIBUNWIND_CURSOR_SIZE (_LIBUNWIND_CONTEXT_SIZE + 7)
+# elif __riscv_xlen == 64
+# define _LIBUNWIND_CURSOR_SIZE (_LIBUNWIND_CONTEXT_SIZE + 12)
+# else
+# error "Unsupported RISC-V ABI"
# endif
# define _LIBUNWIND_HIGHEST_DWARF_REGISTER _LIBUNWIND_HIGHEST_DWARF_REGISTER_RISCV
+# elif defined(__ve__)
+# define _LIBUNWIND_TARGET_VE 1
+# define _LIBUNWIND_CONTEXT_SIZE 67
+# define _LIBUNWIND_CURSOR_SIZE 79
+# define _LIBUNWIND_HIGHEST_DWARF_REGISTER _LIBUNWIND_HIGHEST_DWARF_REGISTER_VE
# else
# error "Unsupported architecture."
# endif
@@ -151,6 +167,7 @@
# define _LIBUNWIND_TARGET_SPARC 1
# define _LIBUNWIND_TARGET_HEXAGON 1
# define _LIBUNWIND_TARGET_RISCV 1
+# define _LIBUNWIND_TARGET_VE 1
# define _LIBUNWIND_CONTEXT_SIZE 167
# define _LIBUNWIND_CURSOR_SIZE 179
# define _LIBUNWIND_HIGHEST_DWARF_REGISTER 287
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/a.out.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/a.out.h
index e3f4bdd..79df485 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/a.out.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/a.out.h
@@ -64,8 +64,8 @@
&& N_MAGIC(x) != ZMAGIC && N_MAGIC(x) != QMAGIC)
#define _N_HDROFF(x) (1024 - sizeof (struct exec))
#define N_TXTOFF(x) \
- (N_MAGIC(x) == ZMAGIC ? _N_HDROFF((x)) + sizeof (struct exec) : \
- (N_MAGIC(x) == QMAGIC ? 0 : sizeof (struct exec)))
+ (N_MAGIC(x) == ZMAGIC ? _N_HDROFF((x)) + sizeof (struct exec) \
+ : (N_MAGIC(x) == QMAGIC ? 0 : sizeof (struct exec)))
#define N_DATOFF(x) (N_TXTOFF(x) + (x).a_text)
#define N_TRELOFF(x) (N_DATOFF(x) + (x).a_data)
#define N_DRELOFF(x) (N_TRELOFF(x) + N_TRSIZE(x))
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/aio.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/aio.h
index c3a1f4b..3a107b2 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/aio.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/aio.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996-2018 Free Software Foundation, Inc.
+/* Copyright (C) 1996-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -13,7 +13,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
/*
* ISO/IEC 9945-1:1996 6.7: Asynchronous Input and Output
@@ -33,7 +33,7 @@
/* Asynchronous I/O control block. */
struct aiocb
{
- int aio_fildes; /* File desriptor. */
+ int aio_fildes; /* File descriptor. */
int aio_lio_opcode; /* Operation to be performed. */
int aio_reqprio; /* Request priority offset. */
volatile void *aio_buf; /* Location of buffer. */
@@ -61,7 +61,7 @@
#ifdef __USE_LARGEFILE64
struct aiocb64
{
- int aio_fildes; /* File desriptor. */
+ int aio_fildes; /* File descriptor. */
int aio_lio_opcode; /* Operation to be performed. */
int aio_reqprio; /* Request priority offset. */
volatile void *aio_buf; /* Location of buffer. */
@@ -82,12 +82,11 @@
#ifdef __USE_GNU
-/* To customize the implementation one can use the following struct.
- This implementation follows the one in Irix. */
+/* To optimize the implementation one can use the following struct. */
struct aioinit
{
- int aio_threads; /* Maximal number of threads. */
- int aio_num; /* Number of expected simultanious requests. */
+ int aio_threads; /* Maximum number of threads. */
+ int aio_num; /* Number of expected simultaneous requests. */
int aio_locks; /* Not used. */
int aio_usedba; /* Not used. */
int aio_debug; /* Not used. */
@@ -99,7 +98,7 @@
#endif
-/* Return values of cancelation function. */
+/* Return values of the aio_cancel function. */
enum
{
AIO_CANCELED,
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/aliases.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/aliases.h
index ec44284..07514c4 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/aliases.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/aliases.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996-2018 Free Software Foundation, Inc.
+/* Copyright (C) 1996-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -13,7 +13,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef _ALIASES_H
#define _ALIASES_H 1
@@ -25,7 +25,7 @@
__BEGIN_DECLS
-/* Structure to represent one entry of the alias data base. */
+/* Structure to represent one entry of the alias database. */
struct aliasent
{
char *alias_name;
@@ -38,13 +38,13 @@
/* Open alias data base files. */
extern void setaliasent (void) __THROW;
-/* Close alias data base files. */
+/* Close alias database files. */
extern void endaliasent (void) __THROW;
-/* Get the next entry from the alias data base. */
+/* Get the next entry from the alias database. */
extern struct aliasent *getaliasent (void) __THROW;
-/* Get the next entry from the alias data base and put it in RESULT_BUF. */
+/* Get the next entry from the alias database and put it in RESULT_BUF. */
extern int getaliasent_r (struct aliasent *__restrict __result_buf,
char *__restrict __buffer, size_t __buflen,
struct aliasent **__restrict __result) __THROW;
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/alloca.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/alloca.h
index c195adc..cd2a9e0 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/alloca.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/alloca.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1992-2018 Free Software Foundation, Inc.
+/* Copyright (C) 1992-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -13,7 +13,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef _ALLOCA_H
#define _ALLOCA_H 1
@@ -25,7 +25,7 @@
__BEGIN_DECLS
-/* Remove any previous definitions. */
+/* Remove any previous definition. */
#undef alloca
/* Allocate a block that will be freed when the calling function exits. */
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/ar.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/ar.h
index 25a9a63..ce51926 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/ar.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/ar.h
@@ -1,5 +1,5 @@
/* Header describing `ar' archive file format.
- Copyright (C) 1996-2018 Free Software Foundation, Inc.
+ Copyright (C) 1996-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -14,7 +14,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef _AR_H
#define _AR_H 1
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/argp.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/argp.h
index 0f25833..5dd3828 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/argp.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/argp.h
@@ -1,5 +1,5 @@
-/* Hierarchial argument parsing, layered over getopt.
- Copyright (C) 1995-2018 Free Software Foundation, Inc.
+/* Hierarchical argument parsing, layered over getopt.
+ Copyright (C) 1995-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Written by Miles Bader <miles@gnu.ai.mit.edu>.
@@ -15,7 +15,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef _ARGP_H
#define _ARGP_H
@@ -233,7 +233,7 @@
};
/* Possible KEY arguments to a help filter function. */
-#define ARGP_KEY_HELP_PRE_DOC 0x2000001 /* Help text preceeding options. */
+#define ARGP_KEY_HELP_PRE_DOC 0x2000001 /* Help text preceding options. */
#define ARGP_KEY_HELP_POST_DOC 0x2000002 /* Help text following options. */
#define ARGP_KEY_HELP_HEADER 0x2000003 /* Option header string. */
#define ARGP_KEY_HELP_EXTRA 0x2000004 /* After all other documentation;
@@ -447,7 +447,7 @@
parsing routine (thus taking an argp_state structure as the first
argument). They may or may not print an error message and exit, depending
on the flags in STATE -- in any case, the caller should be prepared for
- them *not* to exit, and should return an appropiate error after calling
+ them *not* to exit, and should return an appropriate error after calling
them. [argp_usage & argp_error should probably be called argp_state_...,
but they're used often enough that they should be short] */
@@ -554,6 +554,11 @@
# endif
#endif /* Use extern inlines. */
+#include <bits/floatn.h>
+#if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
+# include <bits/argp-ldbl.h>
+#endif
+
__END_DECLS
#endif /* argp.h */
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/argz.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/argz.h
index 9c496f5..c2f78f5 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/argz.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/argz.h
@@ -1,5 +1,5 @@
/* Routines for dealing with '\0' separated arg vectors.
- Copyright (C) 1995-2018 Free Software Foundation, Inc.
+ Copyright (C) 1995-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -14,7 +14,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef _ARGZ_H
#define _ARGZ_H 1
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/arpa/inet.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/arpa/inet.h
index 731f1c5..3a99dbf 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/arpa/inet.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/arpa/inet.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997-2018 Free Software Foundation, Inc.
+/* Copyright (C) 1997-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -13,7 +13,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef _ARPA_INET_H
#define _ARPA_INET_H 1
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/asm-generic/unistd.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/asm-generic/unistd.h
index a8cb3bb..e1c762e 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/asm-generic/unistd.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/asm-generic/unistd.h
@@ -732,13 +732,60 @@
__SYSCALL(__NR_pkey_free, sys_pkey_free)
#define __NR_statx 291
__SYSCALL(__NR_statx, sys_statx)
+/* 292 through 402 are unassigned to sync up with generic numbers, don't use */
+#if __BITS_PER_LONG == 32
+#define __NR_clock_gettime64 403
+__SYSCALL(__NR_clock_gettime64, sys_clock_gettime)
+#define __NR_clock_settime64 404
+__SYSCALL(__NR_clock_settime64, sys_clock_settime)
+#define __NR_clock_adjtime64 405
+__SYSCALL(__NR_clock_adjtime64, sys_clock_adjtime)
+#define __NR_clock_getres_time64 406
+__SYSCALL(__NR_clock_getres_time64, sys_clock_getres)
+#define __NR_clock_nanosleep_time64 407
+__SYSCALL(__NR_clock_nanosleep_time64, sys_clock_nanosleep)
+#define __NR_timer_gettime64 408
+__SYSCALL(__NR_timer_gettime64, sys_timer_gettime)
+#define __NR_timer_settime64 409
+__SYSCALL(__NR_timer_settime64, sys_timer_settime)
+#define __NR_timerfd_gettime64 410
+__SYSCALL(__NR_timerfd_gettime64, sys_timerfd_gettime)
+#define __NR_timerfd_settime64 411
+__SYSCALL(__NR_timerfd_settime64, sys_timerfd_settime)
+#define __NR_utimensat_time64 412
+__SYSCALL(__NR_utimensat_time64, sys_utimensat)
+#define __NR_pselect6_time64 413
+__SC_COMP(__NR_pselect6_time64, sys_pselect6, compat_sys_pselect6_time64)
+#define __NR_ppoll_time64 414
+__SC_COMP(__NR_ppoll_time64, sys_ppoll, compat_sys_ppoll_time64)
+#define __NR_io_pgetevents_time64 416
+__SYSCALL(__NR_io_pgetevents_time64, sys_io_pgetevents)
+#define __NR_recvmmsg_time64 417
+__SC_COMP(__NR_recvmmsg_time64, sys_recvmmsg, compat_sys_recvmmsg_time64)
+#define __NR_mq_timedsend_time64 418
+__SYSCALL(__NR_mq_timedsend_time64, sys_mq_timedsend)
+#define __NR_mq_timedreceive_time64 419
+__SYSCALL(__NR_mq_timedreceive_time64, sys_mq_timedreceive)
+#define __NR_semtimedop_time64 420
+__SYSCALL(__NR_semtimedop_time64, sys_semtimedop)
+#define __NR_rt_sigtimedwait_time64 421
+__SC_COMP(__NR_rt_sigtimedwait_time64, sys_rt_sigtimedwait, compat_sys_rt_sigtimedwait_time64)
+#define __NR_futex_time64 422
+__SYSCALL(__NR_futex_time64, sys_futex)
+#define __NR_sched_rr_get_interval_time64 423
+__SYSCALL(__NR_sched_rr_get_interval_time64, sys_sched_rr_get_interval)
+#endif
+/* 424 is unused */
#define __NR_io_uring_setup 425
__SYSCALL(__NR_io_uring_setup, sys_io_uring_setup)
#define __NR_io_uring_enter 426
__SYSCALL(__NR_io_uring_enter, sys_io_uring_enter)
+#define __NR_faccessat2 439
+__SYSCALL(__NR_faccessat2, sys_faccessat2)
+
#undef __NR_syscalls
-#define __NR_syscalls 427
+#define __NR_syscalls 440
/*
* All syscalls below here should go away really,
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/assert.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/assert.h
index 5468c16..2894908 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/assert.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/assert.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991-2018 Free Software Foundation, Inc.
+/* Copyright (C) 1991-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -13,7 +13,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
/*
* ISO C99 Standard: 7.2 Diagnostics <assert.h>
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/_G_config.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/_G_config.h
deleted file mode 100644
index 9994869..0000000
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/_G_config.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/* This file is needed by libio to define various configuration parameters.
- These are always the same in the GNU C library. */
-
-#ifndef _BITS_G_CONFIG_H
-#define _BITS_G_CONFIG_H 1
-
-#if !defined _BITS_LIBIO_H && !defined _G_CONFIG_H
-# error "Never include <bits/_G_config.h> directly; use <stdio.h> instead."
-#endif
-
-/* Define types for libio in terms of the standard internal type names. */
-
-#include <bits/types.h>
-#define __need_size_t
-#if defined _LIBC || defined _GLIBCPP_USE_WCHAR_T
-# define __need_wchar_t
-#endif
-#define __need_NULL
-#include <stddef.h>
-
-#include <bits/types/__mbstate_t.h>
-#if defined _LIBC || defined _GLIBCPP_USE_WCHAR_T
-# include <bits/types/wint_t.h>
-#endif
-
-typedef struct
-{
- __off_t __pos;
- __mbstate_t __state;
-} _G_fpos_t;
-typedef struct
-{
- __off64_t __pos;
- __mbstate_t __state;
-} _G_fpos64_t;
-#if defined _LIBC || defined _GLIBCPP_USE_WCHAR_T
-# include <gconv.h>
-typedef union
-{
- struct __gconv_info __cd;
- struct
- {
- struct __gconv_info __cd;
- struct __gconv_step_data __data;
- } __combined;
-} _G_iconv_t;
-#endif
-
-
-/* These library features are always available in the GNU C library. */
-#define _G_va_list __gnuc_va_list
-
-#define _G_HAVE_MMAP 1
-#define _G_HAVE_MREMAP 1
-
-#define _G_IO_IO_FILE_VERSION 0x20001
-
-/* This is defined by <bits/stat.h> if `st_blksize' exists. */
-#define _G_HAVE_ST_BLKSIZE defined (_STATBUF_ST_BLKSIZE)
-
-#define _G_BUFSIZ 8192
-
-#endif /* bits/_G_config.h */
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/argp-ldbl.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/argp-ldbl.h
new file mode 100644
index 0000000..903b06f
--- /dev/null
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/argp-ldbl.h
@@ -0,0 +1,24 @@
+/* Redirections for argp functions for -mlong-double-64.
+ Copyright (C) 2019-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#ifndef _ARGP_H
+# error "Never include <bits/argp-ldbl.h> directly; use <argp.h> instead."
+#endif
+
+__LDBL_REDIR_DECL (argp_error)
+__LDBL_REDIR_DECL (argp_failure)
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/byteswap-16.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/byteswap-16.h
deleted file mode 100644
index 0fbd8d6..0000000
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/byteswap-16.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/* Macros to swap the order of bytes in 16-bit integer values.
- Copyright (C) 2012-2018 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _BITS_BYTESWAP_H
-# error "Never use <bits/byteswap-16.h> directly; include <byteswap.h> instead."
-#endif
-
-#ifdef __GNUC__
-# define __bswap_16(x) \
- (__extension__ \
- ({ unsigned short int __bsx = (unsigned short int) (x); \
- __bswap_constant_16 (__bsx); }))
-#else
-static __inline unsigned short int
-__bswap_16 (unsigned short int __bsx)
-{
- return __bswap_constant_16 (__bsx);
-}
-#endif
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/byteswap.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/byteswap.h
index f99a6a4..6438a8b 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/byteswap.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/byteswap.h
@@ -1,5 +1,5 @@
-/* Macros to swap the order of bytes in integer values.
- Copyright (C) 1997-2018 Free Software Foundation, Inc.
+/* Macros and inline functions to swap the order of bytes in integer values.
+ Copyright (C) 1997-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -14,7 +14,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#if !defined _BYTESWAP_H && !defined _NETINET_IN_H && !defined _ENDIAN_H
# error "Never use <bits/byteswap.h> directly; include <byteswap.h> instead."
@@ -26,87 +26,54 @@
#include <features.h>
#include <bits/types.h>
-/* Swap bytes in 16 bit value. */
-#define __bswap_constant_16(x) \
- ((unsigned short int)((((x) >> 8) & 0xffu) | (((x) & 0xffu) << 8)))
+/* Swap bytes in 16-bit value. */
+#define __bswap_constant_16(x) \
+ ((__uint16_t) ((((x) >> 8) & 0xff) | (((x) & 0xff) << 8)))
-/* Get __bswap_16. */
-#include <bits/byteswap-16.h>
-
-/* Swap bytes in 32 bit value. */
-#define __bswap_constant_32(x) \
- ((((x) & 0xff000000u) >> 24) | (((x) & 0x00ff0000u) >> 8) | \
- (((x) & 0x0000ff00u) << 8) | (((x) & 0x000000ffu) << 24))
-
-#ifdef __GNUC__
-# if __GNUC_PREREQ (4, 3)
-static __inline unsigned int
-__bswap_32 (unsigned int __bsx)
+static __inline __uint16_t
+__bswap_16 (__uint16_t __bsx)
{
+#if __GNUC_PREREQ (4, 8)
+ return __builtin_bswap16 (__bsx);
+#else
+ return __bswap_constant_16 (__bsx);
+#endif
+}
+
+/* Swap bytes in 32-bit value. */
+#define __bswap_constant_32(x) \
+ ((((x) & 0xff000000u) >> 24) | (((x) & 0x00ff0000u) >> 8) \
+ | (((x) & 0x0000ff00u) << 8) | (((x) & 0x000000ffu) << 24))
+
+static __inline __uint32_t
+__bswap_32 (__uint32_t __bsx)
+{
+#if __GNUC_PREREQ (4, 3)
return __builtin_bswap32 (__bsx);
-}
-# else
-# define __bswap_32(x) \
- (__extension__ \
- ({ unsigned int __bsx = (x); __bswap_constant_32 (__bsx); }))
-# endif
#else
-static __inline unsigned int
-__bswap_32 (unsigned int __bsx)
-{
return __bswap_constant_32 (__bsx);
-}
#endif
+}
-/* Swap bytes in 64 bit value. */
-#if __GNUC_PREREQ (2, 0)
-# define __bswap_constant_64(x) \
- (__extension__ ((((x) & 0xff00000000000000ull) >> 56) \
- | (((x) & 0x00ff000000000000ull) >> 40) \
- | (((x) & 0x0000ff0000000000ull) >> 24) \
- | (((x) & 0x000000ff00000000ull) >> 8) \
- | (((x) & 0x00000000ff000000ull) << 8) \
- | (((x) & 0x0000000000ff0000ull) << 24) \
- | (((x) & 0x000000000000ff00ull) << 40) \
- | (((x) & 0x00000000000000ffull) << 56)))
+/* Swap bytes in 64-bit value. */
+#define __bswap_constant_64(x) \
+ ((((x) & 0xff00000000000000ull) >> 56) \
+ | (((x) & 0x00ff000000000000ull) >> 40) \
+ | (((x) & 0x0000ff0000000000ull) >> 24) \
+ | (((x) & 0x000000ff00000000ull) >> 8) \
+ | (((x) & 0x00000000ff000000ull) << 8) \
+ | (((x) & 0x0000000000ff0000ull) << 24) \
+ | (((x) & 0x000000000000ff00ull) << 40) \
+ | (((x) & 0x00000000000000ffull) << 56))
-# if __GNUC_PREREQ (4, 3)
-static __inline __uint64_t
+__extension__ static __inline __uint64_t
__bswap_64 (__uint64_t __bsx)
{
+#if __GNUC_PREREQ (4, 3)
return __builtin_bswap64 (__bsx);
-}
-# else
-# define __bswap_64(x) \
- (__extension__ \
- ({ union { __extension__ __uint64_t __ll; \
- unsigned int __l[2]; } __w, __r; \
- if (__builtin_constant_p (x)) \
- __r.__ll = __bswap_constant_64 (x); \
- else \
- { \
- __w.__ll = (x); \
- __r.__l[0] = __bswap_32 (__w.__l[1]); \
- __r.__l[1] = __bswap_32 (__w.__l[0]); \
- } \
- __r.__ll; }))
-# endif
#else
-# define __bswap_constant_64(x) \
- ((((x) & 0xff00000000000000ull) >> 56) \
- | (((x) & 0x00ff000000000000ull) >> 40) \
- | (((x) & 0x0000ff0000000000ull) >> 24) \
- | (((x) & 0x000000ff00000000ull) >> 8) \
- | (((x) & 0x00000000ff000000ull) << 8) \
- | (((x) & 0x0000000000ff0000ull) << 24) \
- | (((x) & 0x000000000000ff00ull) << 40) \
- | (((x) & 0x00000000000000ffull) << 56))
-
-static __inline __uint64_t
-__bswap_64 (__uint64_t __bsx)
-{
return __bswap_constant_64 (__bsx);
-}
#endif
+}
#endif /* _BITS_BYTESWAP_H */
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/cmathcalls.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/cmathcalls.h
index e22b804..20a65b5 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/cmathcalls.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/cmathcalls.h
@@ -1,6 +1,6 @@
/* Prototype declarations for complex math functions;
helper file for <complex.h>.
- Copyright (C) 1997-2018 Free Software Foundation, Inc.
+ Copyright (C) 1997-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -15,7 +15,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
/* NOTE: Because of the special way this file is used by <complex.h>, this
file must NOT be protected from multiple inclusion as header files
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/confname.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/confname.h
index 59d3172..8068bda 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/confname.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/confname.h
@@ -1,5 +1,5 @@
/* `sysconf', `pathconf', and `confstr' NAME values. Generic version.
- Copyright (C) 1993-2018 Free Software Foundation, Inc.
+ Copyright (C) 1993-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -14,7 +14,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef _UNISTD_H
# error "Never use <bits/confname.h> directly; include <unistd.h> instead."
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/cpu-set.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/cpu-set.h
index c5e919e..9a7e559 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/cpu-set.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/cpu-set.h
@@ -1,6 +1,6 @@
/* Definition of the cpu_set_t structure used by the POSIX 1003.1b-1993
scheduling interface.
- Copyright (C) 1996-2018 Free Software Foundation, Inc.
+ Copyright (C) 1996-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -15,7 +15,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef _BITS_CPU_SET_H
#define _BITS_CPU_SET_H 1
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/dirent.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/dirent.h
index 2ed7919..88c86de 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/dirent.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/dirent.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996-2018 Free Software Foundation, Inc.
+/* Copyright (C) 1996-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -13,7 +13,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef _DIRENT_H
# error "Never use <bits/dirent.h> directly; include <dirent.h> instead."
@@ -54,4 +54,6 @@
#if defined __OFF_T_MATCHES_OFF64_T && defined __INO_T_MATCHES_INO64_T
/* Inform libc code that these two types are effectively identical. */
# define _DIRENT_MATCHES_DIRENT64 1
+#else
+# define _DIRENT_MATCHES_DIRENT64 0
#endif
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/dirent_ext.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/dirent_ext.h
new file mode 100644
index 0000000..83cebc5
--- /dev/null
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/dirent_ext.h
@@ -0,0 +1,33 @@
+/* System-specific extensions of <dirent.h>. Linux version.
+ Copyright (C) 2019-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#ifndef _DIRENT_H
+# error "Never include <bits/dirent_ext.h> directly; use <dirent.h> instead."
+#endif
+
+__BEGIN_DECLS
+
+#ifdef __USE_GNU
+/* Read from the directory descriptor FD into LENGTH bytes at BUFFER.
+ Return the number of bytes read on success (0 for end of
+ directory), and -1 for failure. */
+extern __ssize_t getdents64 (int __fd, void *__buffer, size_t __length)
+ __THROW __nonnull ((2));
+#endif
+
+__END_DECLS
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/dlfcn.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/dlfcn.h
index b0b129b..f3bc63e 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/dlfcn.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/dlfcn.h
@@ -1,5 +1,5 @@
/* System dependent definitions for run-time dynamic loading.
- Copyright (C) 1996-2018 Free Software Foundation, Inc.
+ Copyright (C) 1996-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -14,7 +14,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef _DLFCN_H
# error "Never use <bits/dlfcn.h> directly; include <dlfcn.h> instead."
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/endian.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/endian.h
index 1f18733..6372c6f 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/endian.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/endian.h
@@ -1,11 +1,11 @@
-/* Copyright (C) 1997-2018 Free Software Foundation, Inc.
-
+/* Endian macros for string.h functions
+ Copyright (C) 1992-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public License as
- published by the Free Software Foundation; either version 2.1 of the
- License, or (at your option) any later version.
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -13,18 +13,37 @@
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
+ License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
-#ifndef _ENDIAN_H
-# error "Never use <bits/endian.h> directly; include <endian.h> instead."
+#ifndef _BITS_ENDIAN_H
+#define _BITS_ENDIAN_H 1
+
+/* Definitions for byte order, according to significance of bytes,
+ from low addresses to high addresses. The value is what you get by
+ putting '4' in the most significant byte, '3' in the second most
+ significant byte, '2' in the second least significant byte, and '1'
+ in the least significant byte, and then writing down one digit for
+ each byte, starting with the byte at the lowest address at the left,
+ and proceeding to the byte with the highest address at the right. */
+
+#define __LITTLE_ENDIAN 1234
+#define __BIG_ENDIAN 4321
+#define __PDP_ENDIAN 3412
+
+/* This file defines `__BYTE_ORDER' for the particular machine. */
+#include <bits/endianness.h>
+
+/* Some machines may need to use a different endianness for floating point
+ values. */
+#ifndef __FLOAT_WORD_ORDER
+# define __FLOAT_WORD_ORDER __BYTE_ORDER
#endif
-/* AArch64 can be either big or little endian. */
-#ifdef __AARCH64EB__
-# define __BYTE_ORDER __BIG_ENDIAN
-#else
-# define __BYTE_ORDER __LITTLE_ENDIAN
+#if __BYTE_ORDER == __LITTLE_ENDIAN
+# define __LONG_LONG_PAIR(HI, LO) LO, HI
+#elif __BYTE_ORDER == __BIG_ENDIAN
+# define __LONG_LONG_PAIR(HI, LO) HI, LO
#endif
-#define __FLOAT_WORD_ORDER __BYTE_ORDER
+#endif /* bits/endian.h */
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/endianness.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/endianness.h
new file mode 100644
index 0000000..300ebc8
--- /dev/null
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/endianness.h
@@ -0,0 +1,15 @@
+#ifndef _BITS_ENDIANNESS_H
+#define _BITS_ENDIANNESS_H 1
+
+#ifndef _BITS_ENDIAN_H
+# error "Never use <bits/endianness.h> directly; include <endian.h> instead."
+#endif
+
+/* AArch64 has selectable endianness. */
+#ifdef __AARCH64EB__
+# define __BYTE_ORDER __BIG_ENDIAN
+#else
+# define __BYTE_ORDER __LITTLE_ENDIAN
+#endif
+
+#endif /* bits/endianness.h */
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/environments.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/environments.h
index 22ea9f0..7049784 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/environments.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/environments.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999-2018 Free Software Foundation, Inc.
+/* Copyright (C) 1999-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -13,7 +13,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef _UNISTD_H
# error "Never include this file directly. Use <unistd.h> instead"
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/epoll.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/epoll.h
index d4aea32..5810ad6 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/epoll.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/epoll.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002-2018 Free Software Foundation, Inc.
+/* Copyright (C) 2002-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -13,7 +13,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef _SYS_EPOLL_H
# error "Never use <bits/epoll.h> directly; include <sys/epoll.h> instead."
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/err-ldbl.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/err-ldbl.h
new file mode 100644
index 0000000..330e7dd
--- /dev/null
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/err-ldbl.h
@@ -0,0 +1,30 @@
+/* Redirections for err.h functions for -mlong-double-64.
+ Copyright (C) 2019-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#ifndef _ERR_H
+# error "Never include <bits/err-ldbl.h> directly; use <err.h> instead."
+#endif
+
+__LDBL_REDIR_DECL (warn)
+__LDBL_REDIR_DECL (vwarn)
+__LDBL_REDIR_DECL (warnx)
+__LDBL_REDIR_DECL (vwarnx)
+__LDBL_REDIR_DECL (err)
+__LDBL_REDIR_DECL (verr)
+__LDBL_REDIR_DECL (errx)
+__LDBL_REDIR_DECL (verrx)
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/errno.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/errno.h
index e0f7f0b..230cee0 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/errno.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/errno.h
@@ -1,5 +1,5 @@
/* Error constants. Linux specific version.
- Copyright (C) 1996-2018 Free Software Foundation, Inc.
+ Copyright (C) 1996-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -14,7 +14,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef _BITS_ERRNO_H
#define _BITS_ERRNO_H 1
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/error-ldbl.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/error-ldbl.h
new file mode 100644
index 0000000..da46f7c
--- /dev/null
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/error-ldbl.h
@@ -0,0 +1,24 @@
+/* Redirections for error.h functions for -mlong-double-64.
+ Copyright (C) 2019-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#ifndef _ERROR_H
+# error "Never include <bits/error-ldbl.h> directly; use <error.h> instead."
+#endif
+
+__LDBL_REDIR_DECL (error)
+__LDBL_REDIR_DECL (error_at_line)
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/error.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/error.h
index 682cf20..14735eb 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/error.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/error.h
@@ -1,5 +1,5 @@
/* Specializations for error functions.
- Copyright (C) 2007-2018 Free Software Foundation, Inc.
+ Copyright (C) 2007-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -14,7 +14,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef _ERROR_H
# error "Never include <bits/error.h> directly; use <error.h> instead."
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/eventfd.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/eventfd.h
index 5941174..6ff6b03 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/eventfd.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/eventfd.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2018 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -13,7 +13,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef _SYS_EVENTFD_H
# error "Never use <bits/eventfd.h> directly; include <sys/eventfd.h> instead."
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/fcntl-linux.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/fcntl-linux.h
index 2694942..20ad78c 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/fcntl-linux.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/fcntl-linux.h
@@ -1,5 +1,5 @@
/* O_*, F_*, FD_* bit values for Linux.
- Copyright (C) 2001-2018 Free Software Foundation, Inc.
+ Copyright (C) 2001-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -14,7 +14,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef _FCNTL_H
# error "Never use <bits/fcntl-linux.h> directly; include <fcntl.h> instead."
@@ -284,11 +284,14 @@
# define F_SEAL_SHRINK 0x0002 /* Prevent file from shrinking. */
# define F_SEAL_GROW 0x0004 /* Prevent file from growing. */
# define F_SEAL_WRITE 0x0008 /* Prevent writes. */
+# define F_SEAL_FUTURE_WRITE 0x0010 /* Prevent future writes while
+ mapped. */
#endif
#ifdef __USE_GNU
/* Hint values for F_{GET,SET}_RW_HINT. */
-# define RWF_WRITE_LIFE_NOT_SET 0
+# define RWH_WRITE_LIFE_NOT_SET 0
+# define RWF_WRITE_LIFE_NOT_SET RWH_WRITE_LIFE_NOT_SET
# define RWH_WRITE_LIFE_NONE 1
# define RWH_WRITE_LIFE_SHORT 2
# define RWH_WRITE_LIFE_MEDIUM 3
@@ -332,6 +335,11 @@
# define SYNC_FILE_RANGE_WAIT_AFTER 4 /* Wait upon writeout of all pages in
the range after performing the
write. */
+/* SYNC_FILE_RANGE_WRITE_AND_WAIT ensures all pages in the range are
+ written to disk before returning. */
+# define SYNC_FILE_RANGE_WRITE_AND_WAIT (SYNC_FILE_RANGE_WRITE \
+ | SYNC_FILE_RANGE_WAIT_BEFORE \
+ | SYNC_FILE_RANGE_WAIT_AFTER)
/* Flags for SPLICE and VMSPLICE. */
# define SPLICE_F_MOVE 1 /* Move pages instead of copying. */
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/fcntl.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/fcntl.h
index e09ff41..a89db6a 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/fcntl.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/fcntl.h
@@ -1,5 +1,5 @@
/* O_*, F_*, FD_* bit values for the AArch64 Linux ABI.
- Copyright (C) 2011-2018 Free Software Foundation, Inc.
+ Copyright (C) 2011-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
@@ -15,7 +15,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef _FCNTL_H
# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/fcntl2.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/fcntl2.h
index 1aaaf9a..24efb22 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/fcntl2.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/fcntl2.h
@@ -1,5 +1,5 @@
/* Checking macros for fcntl functions.
- Copyright (C) 2007-2018 Free Software Foundation, Inc.
+ Copyright (C) 2007-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -14,7 +14,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef _FCNTL_H
# error "Never include <bits/fcntl2.h> directly; use <fcntl.h> instead."
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/fenv.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/fenv.h
index 8a0f481..2f95478 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/fenv.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/fenv.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2004-2018 Free Software Foundation, Inc.
+/* Copyright (C) 2004-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
@@ -14,7 +14,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef _FENV_H
# error "Never use <bits/fenv.h> directly; include <fenv.h> instead."
@@ -73,7 +73,7 @@
# define FE_NOMASK_ENV ((const fenv_t *) -2)
#endif
-#if __GLIBC_USE (IEC_60559_BFP_EXT)
+#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)
/* Type representing floating-point control modes. */
typedef unsigned int femode_t;
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/fenvinline.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/fenvinline.h
deleted file mode 100644
index 42f77b5..0000000
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/fenvinline.h
+++ /dev/null
@@ -1,8 +0,0 @@
-/* This file provides inline versions of floating-pint environment
- handling functions. If there were any. */
-
-#ifndef __NO_MATH_INLINES
-
-/* Here is where the code would go. */
-
-#endif
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/floatn-common.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/floatn-common.h
index 070cdd0..b43c953 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/floatn-common.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/floatn-common.h
@@ -1,6 +1,6 @@
/* Macros to control TS 18661-3 glibc features where the same
definitions are appropriate for all platforms.
- Copyright (C) 2017-2018 Free Software Foundation, Inc.
+ Copyright (C) 2017-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -15,7 +15,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef _BITS_FLOATN_COMMON_H
#define _BITS_FLOATN_COMMON_H
@@ -56,6 +56,13 @@
#define __HAVE_DISTINCT_FLOAT64X 0
#define __HAVE_DISTINCT_FLOAT128X __HAVE_FLOAT128X
+/* Defined to 1 if the corresponding _FloatN type is not binary compatible
+ with the corresponding ISO C type in the current compilation unit as
+ opposed to __HAVE_DISTINCT_FLOATN, which indicates the default types built
+ in glibc. */
+#define __HAVE_FLOAT128_UNLIKE_LDBL (__HAVE_DISTINCT_FLOAT128 \
+ && __LDBL_MANT_DIG__ != 113)
+
/* Defined to 1 if any _FloatN or _FloatNx types that are not
ABI-distinct are however distinct types at the C language level (so
for the purposes of __builtin_types_compatible_p and _Generic). */
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/floatn.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/floatn.h
index 1d21cce..da50ae7 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/floatn.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/floatn.h
@@ -1,5 +1,5 @@
/* Macros to control TS 18661-3 glibc features on ldbl-128 platforms.
- Copyright (C) 2017-2018 Free Software Foundation, Inc.
+ Copyright (C) 2017-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -14,7 +14,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef _BITS_FLOATN_H
#define _BITS_FLOATN_H
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/flt-eval-method.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/flt-eval-method.h
index 7eed671..615e14c 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/flt-eval-method.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/flt-eval-method.h
@@ -1,5 +1,5 @@
/* Define __GLIBC_FLT_EVAL_METHOD.
- Copyright (C) 2016-2018 Free Software Foundation, Inc.
+ Copyright (C) 2016-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -14,7 +14,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef _MATH_H
# error "Never use <bits/flt-eval-method.h> directly; include <math.h> instead."
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/fp-fast.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/fp-fast.h
index 3ce1221..c689f41 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/fp-fast.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/fp-fast.h
@@ -1,5 +1,5 @@
/* Define FP_FAST_* macros. AArch64 version.
- Copyright (C) 2016-2018 Free Software Foundation, Inc.
+ Copyright (C) 2016-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -14,7 +14,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef _MATH_H
# error "Never use <bits/fp-fast.h> directly; include <math.h> instead."
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/fp-logb.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/fp-logb.h
index 8b70a10..cd8b431 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/fp-logb.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/fp-logb.h
@@ -1,5 +1,5 @@
/* Define __FP_LOGB0_IS_MIN and __FP_LOGBNAN_IS_MIN.
- Copyright (C) 2016-2018 Free Software Foundation, Inc.
+ Copyright (C) 2016-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -14,7 +14,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef _MATH_H
# error "Never use <bits/fp-logb.h> directly; include <math.h> instead."
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/getopt_core.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/getopt_core.h
index a13838f..1751a20 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/getopt_core.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/getopt_core.h
@@ -1,5 +1,5 @@
/* Declarations for getopt (basic, portable features only).
- Copyright (C) 1989-2018 Free Software Foundation, Inc.
+ Copyright (C) 1989-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library and is also part of gnulib.
Patches to this file should be submitted to both projects.
@@ -15,7 +15,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef _GETOPT_CORE_H
#define _GETOPT_CORE_H 1
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/getopt_ext.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/getopt_ext.h
index b4c68f1..d48069e 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/getopt_ext.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/getopt_ext.h
@@ -1,5 +1,5 @@
/* Declarations for getopt (GNU extensions).
- Copyright (C) 1989-2018 Free Software Foundation, Inc.
+ Copyright (C) 1989-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library and is also part of gnulib.
Patches to this file should be submitted to both projects.
@@ -15,7 +15,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef _GETOPT_EXT_H
#define _GETOPT_EXT_H 1
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/getopt_posix.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/getopt_posix.h
index 1f90e84..f49e1f3 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/getopt_posix.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/getopt_posix.h
@@ -1,5 +1,5 @@
/* Declarations for getopt (POSIX compatibility shim).
- Copyright (C) 1989-2018 Free Software Foundation, Inc.
+ Copyright (C) 1989-2021 Free Software Foundation, Inc.
Unlike the bulk of the getopt implementation, this file is NOT part
of gnulib.
@@ -15,7 +15,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef _GETOPT_POSIX_H
#define _GETOPT_POSIX_H 1
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/hwcap.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/hwcap.h
index 569eb07..30fda0a 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/hwcap.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/hwcap.h
@@ -1,5 +1,5 @@
/* Defines for bits in AT_HWCAP. AArch64 Linux version.
- Copyright (C) 2016-2018 Free Software Foundation, Inc.
+ Copyright (C) 2016-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -14,13 +14,14 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#if !defined (_SYS_AUXV_H)
# error "Never include <bits/hwcap.h> directly; use <sys/auxv.h> instead."
#endif
-/* The following must match the kernel's <asm/hwcap.h>. */
+/* The following must match the kernel's <asm/hwcap.h> and update the
+ list together with sysdeps/unix/sysv/linux/aarch64/dl-procinfo.c. */
#define HWCAP_FP (1 << 0)
#define HWCAP_ASIMD (1 << 1)
#define HWCAP_EVTSTRM (1 << 2)
@@ -44,3 +45,32 @@
#define HWCAP_ASIMDDP (1 << 20)
#define HWCAP_SHA512 (1 << 21)
#define HWCAP_SVE (1 << 22)
+#define HWCAP_ASIMDFHM (1 << 23)
+#define HWCAP_DIT (1 << 24)
+#define HWCAP_USCAT (1 << 25)
+#define HWCAP_ILRCPC (1 << 26)
+#define HWCAP_FLAGM (1 << 27)
+#define HWCAP_SSBS (1 << 28)
+#define HWCAP_SB (1 << 29)
+#define HWCAP_PACA (1 << 30)
+#define HWCAP_PACG (1UL << 31)
+
+#define HWCAP2_DCPODP (1 << 0)
+#define HWCAP2_SVE2 (1 << 1)
+#define HWCAP2_SVEAES (1 << 2)
+#define HWCAP2_SVEPMULL (1 << 3)
+#define HWCAP2_SVEBITPERM (1 << 4)
+#define HWCAP2_SVESHA3 (1 << 5)
+#define HWCAP2_SVESM4 (1 << 6)
+#define HWCAP2_FLAGM2 (1 << 7)
+#define HWCAP2_FRINT (1 << 8)
+#define HWCAP2_SVEI8MM (1 << 9)
+#define HWCAP2_SVEF32MM (1 << 10)
+#define HWCAP2_SVEF64MM (1 << 11)
+#define HWCAP2_SVEBF16 (1 << 12)
+#define HWCAP2_I8MM (1 << 13)
+#define HWCAP2_BF16 (1 << 14)
+#define HWCAP2_DGH (1 << 15)
+#define HWCAP2_RNG (1 << 16)
+#define HWCAP2_BTI (1 << 17)
+#define HWCAP2_MTE (1 << 18)
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/in.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/in.h
index fb64f1b..4c3c5ac 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/in.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/in.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991-2018 Free Software Foundation, Inc.
+/* Copyright (C) 1991-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -13,7 +13,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
/* Linux version. */
@@ -102,6 +102,7 @@
#define IP_CHECKSUM 23
#define IP_BIND_ADDRESS_NO_PORT 24
#define IP_RECVFRAGSIZE 25
+#define IP_RECVERR_RFC4884 26
/* IP_MTU_DISCOVER arguments. */
#define IP_PMTUDISC_DONT 0 /* Never send DF frames. */
@@ -191,6 +192,9 @@
#define IPV6_V6ONLY 26
#define IPV6_JOIN_ANYCAST 27
#define IPV6_LEAVE_ANYCAST 28
+#define IPV6_MULTICAST_ALL 29
+#define IPV6_ROUTER_ALERT_ISOLATE 30
+#define IPV6_RECVERR_RFC4884 31
#define IPV6_IPSEC_POLICY 34
#define IPV6_XFRM_POLICY 35
#define IPV6_HDRINCL 36
@@ -228,6 +232,7 @@
#define IPV6_TRANSPARENT 75
#define IPV6_UNICAST_IF 76
#define IPV6_RECVFRAGSIZE 77
+#define IPV6_FREEBIND 78
/* Obsolete synonyms for the above. */
#if !__USE_KERNEL_IPV6_DEFS
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/indirect-return.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/indirect-return.h
new file mode 100644
index 0000000..5240a0a
--- /dev/null
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/indirect-return.h
@@ -0,0 +1,25 @@
+/* Definition of __INDIRECT_RETURN. Generic version.
+ Copyright (C) 2018-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#ifndef _UCONTEXT_H
+# error "Never include <bits/indirect-return.h> directly; use <ucontext.h> instead."
+#endif
+
+/* __INDIRECT_RETURN is used on swapcontext to indicate if it requires
+ special compiler treatment. */
+#define __INDIRECT_RETURN
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/inotify.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/inotify.h
index d160876..5eee3cc 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/inotify.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/inotify.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005-2018 Free Software Foundation, Inc.
+/* Copyright (C) 2005-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -13,7 +13,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef _SYS_INOTIFY_H
# error "Never use <bits/inotify.h> directly; include <sys/inotify.h> instead."
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/ioctl-types.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/ioctl-types.h
index 28fd1db..508a0c3 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/ioctl-types.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/ioctl-types.h
@@ -1,5 +1,5 @@
/* Structure types for pre-termios terminal ioctls. Linux version.
- Copyright (C) 1996-2018 Free Software Foundation, Inc.
+ Copyright (C) 1996-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -14,7 +14,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef _SYS_IOCTL_H
# error "Never use <bits/ioctl-types.h> directly; include <sys/ioctl.h> instead."
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/ioctls.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/ioctls.h
index b719f6e..0e53bc7 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/ioctls.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/ioctls.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996-2018 Free Software Foundation, Inc.
+/* Copyright (C) 1996-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -13,7 +13,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef _SYS_IOCTL_H
# error "Never use <bits/ioctls.h> directly; include <sys/ioctl.h> instead."
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/ipc-perm.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/ipc-perm.h
new file mode 100644
index 0000000..17f81c4
--- /dev/null
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/ipc-perm.h
@@ -0,0 +1,40 @@
+/* struct ipc_perm definition.
+ Copyright (C) 2019-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
+
+#ifndef _SYS_IPC_H
+# error "Never use <bits/ipc-perm.h> directly; include <sys/ipc.h> instead."
+#endif
+
+/* Data structure used to pass permission information to IPC operations.
+ It follows the kernel ipc64_perm size so the syscall can be made directly
+ without temporary buffer copy. However, since glibc defines the MODE
+ field as mode_t per POSIX definition (BZ#18231), it omits the __PAD1 field
+ (since glibc does not export mode_t as 16-bit for any architecture). */
+struct ipc_perm
+{
+ __key_t __key; /* Key. */
+ __uid_t uid; /* Owner's user ID. */
+ __gid_t gid; /* Owner's group ID. */
+ __uid_t cuid; /* Creator's user ID. */
+ __gid_t cgid; /* Creator's group ID. */
+ __mode_t mode; /* Read/write permission. */
+ unsigned short int __seq; /* Sequence number. */
+ unsigned short int __pad2;
+ __syscall_ulong_t __glibc_reserved1;
+ __syscall_ulong_t __glibc_reserved2;
+};
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/ipc.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/ipc.h
index d66cf44..5a0e2fc 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/ipc.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/ipc.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995-2018 Free Software Foundation, Inc.
+/* Copyright (C) 1995-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -13,7 +13,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef _SYS_IPC_H
# error "Never use <bits/ipc.h> directly; include <sys/ipc.h> instead."
@@ -37,18 +37,4 @@
/* Special key values. */
#define IPC_PRIVATE ((__key_t) 0) /* Private key. */
-
-/* Data structure used to pass permission information to IPC operations. */
-struct ipc_perm
- {
- __key_t __key; /* Key. */
- __uid_t uid; /* Owner's user ID. */
- __gid_t gid; /* Owner's group ID. */
- __uid_t cuid; /* Creator's user ID. */
- __gid_t cgid; /* Creator's group ID. */
- unsigned int mode; /* Read/write permission. */
- unsigned short int __seq; /* Sequence number. */
- unsigned short int __pad1;
- __syscall_ulong_t __glibc_reserved1;
- __syscall_ulong_t __glibc_reserved2;
- };
+#include <bits/ipc-perm.h>
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/ipctypes.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/ipctypes.h
index 1238801..454a1fd 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/ipctypes.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/ipctypes.h
@@ -1,5 +1,5 @@
/* bits/ipctypes.h -- Define some types used by SysV IPC/MSG/SHM. Generic.
- Copyright (C) 2002-2018 Free Software Foundation, Inc.
+ Copyright (C) 2002-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -14,7 +14,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
/*
* Never include <bits/ipctypes.h> directly.
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/iscanonical.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/iscanonical.h
index 56934af..189dea3 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/iscanonical.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/iscanonical.h
@@ -1,5 +1,5 @@
/* Define iscanonical macro.
- Copyright (C) 2016-2018 Free Software Foundation, Inc.
+ Copyright (C) 2016-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -14,7 +14,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef _MATH_H
# error "Never use <bits/iscanonical.h> directly; include <math.h> instead."
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/libc-header-start.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/libc-header-start.h
index b4a429b..296e1ce 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/libc-header-start.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/libc-header-start.h
@@ -1,5 +1,5 @@
/* Handle feature test macros at the start of a header.
- Copyright (C) 2016-2018 Free Software Foundation, Inc.
+ Copyright (C) 2016-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -14,7 +14,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
/* This header is internal to glibc and should not be included outside
of glibc headers. Headers including it must define
@@ -43,22 +43,38 @@
#endif
/* ISO/IEC TS 18661-1:2014 defines the __STDC_WANT_IEC_60559_BFP_EXT__
- macro. */
+ macro. Most but not all symbols enabled by that macro in TS
+ 18661-1 are enabled unconditionally in C2X; the symbols in Annex F
+ still require that macro in C2X. */
#undef __GLIBC_USE_IEC_60559_BFP_EXT
#if defined __USE_GNU || defined __STDC_WANT_IEC_60559_BFP_EXT__
# define __GLIBC_USE_IEC_60559_BFP_EXT 1
#else
# define __GLIBC_USE_IEC_60559_BFP_EXT 0
#endif
+#undef __GLIBC_USE_IEC_60559_BFP_EXT_C2X
+#if __GLIBC_USE (IEC_60559_BFP_EXT) || __GLIBC_USE (ISOC2X)
+# define __GLIBC_USE_IEC_60559_BFP_EXT_C2X 1
+#else
+# define __GLIBC_USE_IEC_60559_BFP_EXT_C2X 0
+#endif
/* ISO/IEC TS 18661-4:2015 defines the
- __STDC_WANT_IEC_60559_FUNCS_EXT__ macro. */
+ __STDC_WANT_IEC_60559_FUNCS_EXT__ macro. Other than the reduction
+ functions, the symbols from this TS are enabled unconditionally in
+ C2X. */
#undef __GLIBC_USE_IEC_60559_FUNCS_EXT
#if defined __USE_GNU || defined __STDC_WANT_IEC_60559_FUNCS_EXT__
# define __GLIBC_USE_IEC_60559_FUNCS_EXT 1
#else
# define __GLIBC_USE_IEC_60559_FUNCS_EXT 0
#endif
+#undef __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X
+#if __GLIBC_USE (IEC_60559_FUNCS_EXT) || __GLIBC_USE (ISOC2X)
+# define __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X 1
+#else
+# define __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X 0
+#endif
/* ISO/IEC TS 18661-3:2015 defines the
__STDC_WANT_IEC_60559_TYPES_EXT__ macro. */
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/libio-ldbl.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/libio-ldbl.h
deleted file mode 100644
index aa39353..0000000
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/libio-ldbl.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/* -mlong-double-64 compatibility mode for libio functions.
- Copyright (C) 2006-2018 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _BITS_LIBIO_LDBL_H
-#define _BITS_LIBIO_LDBL_H 1
-
-#ifndef _BITS_LIBIO_H
-# error "Never include <bits/libio-ldbl.h> directly; use <libio.h> instead."
-#endif
-
-__LDBL_REDIR_DECL (_IO_vfscanf)
-__LDBL_REDIR_DECL (_IO_vfprintf)
-
-#endif
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/libio.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/libio.h
deleted file mode 100644
index fae5b93..0000000
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/libio.h
+++ /dev/null
@@ -1,527 +0,0 @@
-/* Copyright (C) 1991-2018 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Written by Per Bothner <bothner@cygnus.com>.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>.
-
- As a special exception, if you link the code in this file with
- files compiled with a GNU compiler to produce an executable,
- that does not cause the resulting executable to be covered by
- the GNU Lesser General Public License. This exception does not
- however invalidate any other reasons why the executable file
- might be covered by the GNU Lesser General Public License.
- This exception applies to code released by its copyright holders
- in files containing the exception. */
-
-#ifndef _BITS_LIBIO_H
-#define _BITS_LIBIO_H 1
-
-#if !defined _STDIO_H && !defined _LIBIO_H
-# error "Never include <bits/libio.h> directly; use <stdio.h> instead."
-#endif
-
-#include <bits/_G_config.h>
-/* ALL of these should be defined in _G_config.h */
-#define _IO_fpos_t _G_fpos_t
-#define _IO_fpos64_t _G_fpos64_t
-#define _IO_size_t size_t
-#define _IO_ssize_t __ssize_t
-#define _IO_off_t __off_t
-#define _IO_off64_t __off64_t
-#define _IO_pid_t __pid_t
-#define _IO_uid_t __uid_t
-#define _IO_iconv_t _G_iconv_t
-#define _IO_HAVE_ST_BLKSIZE _G_HAVE_ST_BLKSIZE
-#define _IO_BUFSIZ _G_BUFSIZ
-#define _IO_va_list _G_va_list
-#define _IO_wint_t wint_t
-
-/* This define avoids name pollution if we're using GNU stdarg.h */
-#define __need___va_list
-#include <stdarg.h>
-#ifdef __GNUC_VA_LIST
-# undef _IO_va_list
-# define _IO_va_list __gnuc_va_list
-#endif /* __GNUC_VA_LIST */
-
-#ifndef __P
-# include <sys/cdefs.h>
-#endif /*!__P*/
-
-#define _IO_UNIFIED_JUMPTABLES 1
-
-#ifndef EOF
-# define EOF (-1)
-#endif
-#ifndef NULL
-# if defined __GNUG__ && \
- (__GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 8))
-# define NULL (__null)
-# else
-# if !defined(__cplusplus)
-# define NULL ((void*)0)
-# else
-# define NULL (0)
-# endif
-# endif
-#endif
-
-#define _IOS_INPUT 1
-#define _IOS_OUTPUT 2
-#define _IOS_ATEND 4
-#define _IOS_APPEND 8
-#define _IOS_TRUNC 16
-#define _IOS_NOCREATE 32
-#define _IOS_NOREPLACE 64
-#define _IOS_BIN 128
-
-/* Magic numbers and bits for the _flags field.
- The magic numbers use the high-order bits of _flags;
- the remaining bits are available for variable flags.
- Note: The magic numbers must all be negative if stdio
- emulation is desired. */
-
-#define _IO_MAGIC 0xFBAD0000 /* Magic number */
-#define _OLD_STDIO_MAGIC 0xFABC0000 /* Emulate old stdio. */
-#define _IO_MAGIC_MASK 0xFFFF0000
-#define _IO_USER_BUF 1 /* User owns buffer; don't delete it on close. */
-#define _IO_UNBUFFERED 2
-#define _IO_NO_READS 4 /* Reading not allowed */
-#define _IO_NO_WRITES 8 /* Writing not allowd */
-#define _IO_EOF_SEEN 0x10
-#define _IO_ERR_SEEN 0x20
-#define _IO_DELETE_DONT_CLOSE 0x40 /* Don't call close(_fileno) on cleanup. */
-#define _IO_LINKED 0x80 /* Set if linked (using _chain) to streambuf::_list_all.*/
-#define _IO_IN_BACKUP 0x100
-#define _IO_LINE_BUF 0x200
-#define _IO_TIED_PUT_GET 0x400 /* Set if put and get pointer logicly tied. */
-#define _IO_CURRENTLY_PUTTING 0x800
-#define _IO_IS_APPENDING 0x1000
-#define _IO_IS_FILEBUF 0x2000
-#define _IO_BAD_SEEN 0x4000
-#define _IO_USER_LOCK 0x8000
-
-#define _IO_FLAGS2_MMAP 1
-#define _IO_FLAGS2_NOTCANCEL 2
-#ifdef _LIBC
-# define _IO_FLAGS2_FORTIFY 4
-#endif
-#define _IO_FLAGS2_USER_WBUF 8
-#ifdef _LIBC
-# define _IO_FLAGS2_SCANF_STD 16
-# define _IO_FLAGS2_NOCLOSE 32
-# define _IO_FLAGS2_CLOEXEC 64
-# define _IO_FLAGS2_NEED_LOCK 128
-#endif
-
-/* These are "formatting flags" matching the iostream fmtflags enum values. */
-#define _IO_SKIPWS 01
-#define _IO_LEFT 02
-#define _IO_RIGHT 04
-#define _IO_INTERNAL 010
-#define _IO_DEC 020
-#define _IO_OCT 040
-#define _IO_HEX 0100
-#define _IO_SHOWBASE 0200
-#define _IO_SHOWPOINT 0400
-#define _IO_UPPERCASE 01000
-#define _IO_SHOWPOS 02000
-#define _IO_SCIENTIFIC 04000
-#define _IO_FIXED 010000
-#define _IO_UNITBUF 020000
-#define _IO_STDIO 040000
-#define _IO_DONT_CLOSE 0100000
-#define _IO_BOOLALPHA 0200000
-
-
-struct _IO_jump_t; struct _IO_FILE;
-
-/* During the build of glibc itself, _IO_lock_t will already have been
- defined by internal headers. */
-#ifndef _IO_lock_t_defined
-typedef void _IO_lock_t;
-#endif
-
-
-/* A streammarker remembers a position in a buffer. */
-
-struct _IO_marker {
- struct _IO_marker *_next;
- struct _IO_FILE *_sbuf;
- /* If _pos >= 0
- it points to _buf->Gbase()+_pos. FIXME comment */
- /* if _pos < 0, it points to _buf->eBptr()+_pos. FIXME comment */
- int _pos;
-#if 0
- void set_streampos(streampos sp) { _spos = sp; }
- void set_offset(int offset) { _pos = offset; _spos = (streampos)(-2); }
- public:
- streammarker(streambuf *sb);
- ~streammarker();
- int saving() { return _spos == -2; }
- int delta(streammarker&);
- int delta();
-#endif
-};
-
-/* This is the structure from the libstdc++ codecvt class. */
-enum __codecvt_result
-{
- __codecvt_ok,
- __codecvt_partial,
- __codecvt_error,
- __codecvt_noconv
-};
-
-#if defined _LIBC || defined _GLIBCPP_USE_WCHAR_T
-/* The order of the elements in the following struct must match the order
- of the virtual functions in the libstdc++ codecvt class. */
-struct _IO_codecvt
-{
- void (*__codecvt_destr) (struct _IO_codecvt *);
- enum __codecvt_result (*__codecvt_do_out) (struct _IO_codecvt *,
- __mbstate_t *,
- const wchar_t *,
- const wchar_t *,
- const wchar_t **, char *,
- char *, char **);
- enum __codecvt_result (*__codecvt_do_unshift) (struct _IO_codecvt *,
- __mbstate_t *, char *,
- char *, char **);
- enum __codecvt_result (*__codecvt_do_in) (struct _IO_codecvt *,
- __mbstate_t *,
- const char *, const char *,
- const char **, wchar_t *,
- wchar_t *, wchar_t **);
- int (*__codecvt_do_encoding) (struct _IO_codecvt *);
- int (*__codecvt_do_always_noconv) (struct _IO_codecvt *);
- int (*__codecvt_do_length) (struct _IO_codecvt *, __mbstate_t *,
- const char *, const char *, _IO_size_t);
- int (*__codecvt_do_max_length) (struct _IO_codecvt *);
-
- _IO_iconv_t __cd_in;
- _IO_iconv_t __cd_out;
-};
-
-/* Extra data for wide character streams. */
-struct _IO_wide_data
-{
- wchar_t *_IO_read_ptr; /* Current read pointer */
- wchar_t *_IO_read_end; /* End of get area. */
- wchar_t *_IO_read_base; /* Start of putback+get area. */
- wchar_t *_IO_write_base; /* Start of put area. */
- wchar_t *_IO_write_ptr; /* Current put pointer. */
- wchar_t *_IO_write_end; /* End of put area. */
- wchar_t *_IO_buf_base; /* Start of reserve area. */
- wchar_t *_IO_buf_end; /* End of reserve area. */
- /* The following fields are used to support backing up and undo. */
- wchar_t *_IO_save_base; /* Pointer to start of non-current get area. */
- wchar_t *_IO_backup_base; /* Pointer to first valid character of
- backup area */
- wchar_t *_IO_save_end; /* Pointer to end of non-current get area. */
-
- __mbstate_t _IO_state;
- __mbstate_t _IO_last_state;
- struct _IO_codecvt _codecvt;
-
- wchar_t _shortbuf[1];
-
- const struct _IO_jump_t *_wide_vtable;
-};
-#endif
-
-struct _IO_FILE {
- int _flags; /* High-order word is _IO_MAGIC; rest is flags. */
-#define _IO_file_flags _flags
-
- /* The following pointers correspond to the C++ streambuf protocol. */
- /* Note: Tk uses the _IO_read_ptr and _IO_read_end fields directly. */
- char* _IO_read_ptr; /* Current read pointer */
- char* _IO_read_end; /* End of get area. */
- char* _IO_read_base; /* Start of putback+get area. */
- char* _IO_write_base; /* Start of put area. */
- char* _IO_write_ptr; /* Current put pointer. */
- char* _IO_write_end; /* End of put area. */
- char* _IO_buf_base; /* Start of reserve area. */
- char* _IO_buf_end; /* End of reserve area. */
- /* The following fields are used to support backing up and undo. */
- char *_IO_save_base; /* Pointer to start of non-current get area. */
- char *_IO_backup_base; /* Pointer to first valid character of backup area */
- char *_IO_save_end; /* Pointer to end of non-current get area. */
-
- struct _IO_marker *_markers;
-
- struct _IO_FILE *_chain;
-
- int _fileno;
-#if 0
- int _blksize;
-#else
- int _flags2;
-#endif
- _IO_off_t _old_offset; /* This used to be _offset but it's too small. */
-
-#define __HAVE_COLUMN /* temporary */
- /* 1+column number of pbase(); 0 is unknown. */
- unsigned short _cur_column;
- signed char _vtable_offset;
- char _shortbuf[1];
-
- /* char* _save_gptr; char* _save_egptr; */
-
- _IO_lock_t *_lock;
-#ifdef _IO_USE_OLD_IO_FILE
-};
-
-struct _IO_FILE_complete
-{
- struct _IO_FILE _file;
-#endif
-#if defined _G_IO_IO_FILE_VERSION && _G_IO_IO_FILE_VERSION == 0x20001
- _IO_off64_t _offset;
-# if defined _LIBC || defined _GLIBCPP_USE_WCHAR_T
- /* Wide character stream stuff. */
- struct _IO_codecvt *_codecvt;
- struct _IO_wide_data *_wide_data;
- struct _IO_FILE *_freeres_list;
- void *_freeres_buf;
-# else
- void *__pad1;
- void *__pad2;
- void *__pad3;
- void *__pad4;
-# endif
- size_t __pad5;
- int _mode;
- /* Make sure we don't get into trouble again. */
- char _unused2[15 * sizeof (int) - 4 * sizeof (void *) - sizeof (size_t)];
-#endif
-};
-
-#ifndef __cplusplus
-typedef struct _IO_FILE _IO_FILE;
-#endif
-
-struct _IO_FILE_plus;
-
-extern struct _IO_FILE_plus _IO_2_1_stdin_;
-extern struct _IO_FILE_plus _IO_2_1_stdout_;
-extern struct _IO_FILE_plus _IO_2_1_stderr_;
-#ifndef _LIBC
-#define _IO_stdin ((_IO_FILE*)(&_IO_2_1_stdin_))
-#define _IO_stdout ((_IO_FILE*)(&_IO_2_1_stdout_))
-#define _IO_stderr ((_IO_FILE*)(&_IO_2_1_stderr_))
-#else
-extern _IO_FILE *_IO_stdin attribute_hidden;
-extern _IO_FILE *_IO_stdout attribute_hidden;
-extern _IO_FILE *_IO_stderr attribute_hidden;
-#endif
-
-
-/* Functions to do I/O and file management for a stream. */
-
-/* Read NBYTES bytes from COOKIE into a buffer pointed to by BUF.
- Return number of bytes read. */
-typedef __ssize_t __io_read_fn (void *__cookie, char *__buf, size_t __nbytes);
-
-/* Write N bytes pointed to by BUF to COOKIE. Write all N bytes
- unless there is an error. Return number of bytes written. If
- there is an error, return 0 and do not write anything. If the file
- has been opened for append (__mode.__append set), then set the file
- pointer to the end of the file and then do the write; if not, just
- write at the current file pointer. */
-typedef __ssize_t __io_write_fn (void *__cookie, const char *__buf,
- size_t __n);
-
-/* Move COOKIE's file position to *POS bytes from the
- beginning of the file (if W is SEEK_SET),
- the current position (if W is SEEK_CUR),
- or the end of the file (if W is SEEK_END).
- Set *POS to the new file position.
- Returns zero if successful, nonzero if not. */
-typedef int __io_seek_fn (void *__cookie, _IO_off64_t *__pos, int __w);
-
-/* Close COOKIE. */
-typedef int __io_close_fn (void *__cookie);
-
-
-#ifdef __USE_GNU
-/* User-visible names for the above. */
-typedef __io_read_fn cookie_read_function_t;
-typedef __io_write_fn cookie_write_function_t;
-typedef __io_seek_fn cookie_seek_function_t;
-typedef __io_close_fn cookie_close_function_t;
-
-/* The structure with the cookie function pointers. */
-typedef struct
-{
- __io_read_fn *read; /* Read bytes. */
- __io_write_fn *write; /* Write bytes. */
- __io_seek_fn *seek; /* Seek/tell file position. */
- __io_close_fn *close; /* Close file. */
-} _IO_cookie_io_functions_t;
-typedef _IO_cookie_io_functions_t cookie_io_functions_t;
-
-struct _IO_cookie_file;
-
-/* Initialize one of those. */
-extern void _IO_cookie_init (struct _IO_cookie_file *__cfile, int __read_write,
- void *__cookie, _IO_cookie_io_functions_t __fns);
-#endif
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-extern int __underflow (_IO_FILE *);
-extern int __uflow (_IO_FILE *);
-extern int __overflow (_IO_FILE *, int);
-#if defined _LIBC || defined _GLIBCPP_USE_WCHAR_T
-extern _IO_wint_t __wunderflow (_IO_FILE *);
-extern _IO_wint_t __wuflow (_IO_FILE *);
-extern _IO_wint_t __woverflow (_IO_FILE *, _IO_wint_t);
-#endif
-
-#if __GNUC__ >= 3
-# define _IO_BE(expr, res) __builtin_expect ((expr), res)
-#else
-# define _IO_BE(expr, res) (expr)
-#endif
-
-#define _IO_getc_unlocked(_fp) \
- (_IO_BE ((_fp)->_IO_read_ptr >= (_fp)->_IO_read_end, 0) \
- ? __uflow (_fp) : *(unsigned char *) (_fp)->_IO_read_ptr++)
-#define _IO_peekc_unlocked(_fp) \
- (_IO_BE ((_fp)->_IO_read_ptr >= (_fp)->_IO_read_end, 0) \
- && __underflow (_fp) == EOF ? EOF \
- : *(unsigned char *) (_fp)->_IO_read_ptr)
-#define _IO_putc_unlocked(_ch, _fp) \
- (_IO_BE ((_fp)->_IO_write_ptr >= (_fp)->_IO_write_end, 0) \
- ? __overflow (_fp, (unsigned char) (_ch)) \
- : (unsigned char) (*(_fp)->_IO_write_ptr++ = (_ch)))
-
-#if defined _LIBC || defined _GLIBCPP_USE_WCHAR_T
-# define _IO_getwc_unlocked(_fp) \
- (_IO_BE ((_fp)->_wide_data == NULL \
- || ((_fp)->_wide_data->_IO_read_ptr \
- >= (_fp)->_wide_data->_IO_read_end), 0) \
- ? __wuflow (_fp) : (_IO_wint_t) *(_fp)->_wide_data->_IO_read_ptr++)
-# define _IO_putwc_unlocked(_wch, _fp) \
- (_IO_BE ((_fp)->_wide_data == NULL \
- || ((_fp)->_wide_data->_IO_write_ptr \
- >= (_fp)->_wide_data->_IO_write_end), 0) \
- ? __woverflow (_fp, _wch) \
- : (_IO_wint_t) (*(_fp)->_wide_data->_IO_write_ptr++ = (_wch)))
-#endif
-
-#define _IO_feof_unlocked(__fp) (((__fp)->_flags & _IO_EOF_SEEN) != 0)
-#define _IO_ferror_unlocked(__fp) (((__fp)->_flags & _IO_ERR_SEEN) != 0)
-
-extern int _IO_getc (_IO_FILE *__fp);
-extern int _IO_putc (int __c, _IO_FILE *__fp);
-extern int _IO_feof (_IO_FILE *__fp) __THROW;
-extern int _IO_ferror (_IO_FILE *__fp) __THROW;
-
-extern int _IO_peekc_locked (_IO_FILE *__fp);
-
-/* This one is for Emacs. */
-#define _IO_PENDING_OUTPUT_COUNT(_fp) \
- ((_fp)->_IO_write_ptr - (_fp)->_IO_write_base)
-
-extern void _IO_flockfile (_IO_FILE *) __THROW;
-extern void _IO_funlockfile (_IO_FILE *) __THROW;
-extern int _IO_ftrylockfile (_IO_FILE *) __THROW;
-
-#define _IO_peekc(_fp) _IO_peekc_unlocked (_fp)
-#define _IO_flockfile(_fp) /**/
-#define _IO_funlockfile(_fp) /**/
-#define _IO_ftrylockfile(_fp) /**/
-#ifndef _IO_cleanup_region_start
-#define _IO_cleanup_region_start(_fct, _fp) /**/
-#endif
-#ifndef _IO_cleanup_region_end
-#define _IO_cleanup_region_end(_Doit) /**/
-#endif
-
-#define _IO_need_lock(_fp) \
- (((_fp)->_flags2 & _IO_FLAGS2_NEED_LOCK) != 0)
-
-extern int _IO_vfscanf (_IO_FILE * __restrict, const char * __restrict,
- _IO_va_list, int *__restrict);
-extern int _IO_vfprintf (_IO_FILE *__restrict, const char *__restrict,
- _IO_va_list);
-extern _IO_ssize_t _IO_padn (_IO_FILE *, int, _IO_ssize_t);
-extern _IO_size_t _IO_sgetn (_IO_FILE *, void *, _IO_size_t);
-
-extern _IO_off64_t _IO_seekoff (_IO_FILE *, _IO_off64_t, int, int);
-extern _IO_off64_t _IO_seekpos (_IO_FILE *, _IO_off64_t, int);
-
-extern void _IO_free_backup_area (_IO_FILE *) __THROW;
-
-#if defined _LIBC || defined _GLIBCPP_USE_WCHAR_T
-extern _IO_wint_t _IO_getwc (_IO_FILE *__fp);
-extern _IO_wint_t _IO_putwc (wchar_t __wc, _IO_FILE *__fp);
-extern int _IO_fwide (_IO_FILE *__fp, int __mode) __THROW;
-# if __GNUC__ >= 2
-/* While compiling glibc we have to handle compatibility with very old
- versions. */
-# if defined _LIBC && defined SHARED
-# include <shlib-compat.h>
-# if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)
-# define _IO_fwide_maybe_incompatible \
- (__builtin_expect (&_IO_stdin_used == NULL, 0))
-extern const int _IO_stdin_used;
-weak_extern (_IO_stdin_used);
-# endif
-# endif
-# ifndef _IO_fwide_maybe_incompatible
-# define _IO_fwide_maybe_incompatible (0)
-# endif
-/* A special optimized version of the function above. It optimizes the
- case of initializing an unoriented byte stream. */
-# define _IO_fwide(__fp, __mode) \
- ({ int __result = (__mode); \
- if (__result < 0 && ! _IO_fwide_maybe_incompatible) \
- { \
- if ((__fp)->_mode == 0) \
- /* We know that all we have to do is to set the flag. */ \
- (__fp)->_mode = -1; \
- __result = (__fp)->_mode; \
- } \
- else if (__builtin_constant_p (__mode) && (__mode) == 0) \
- __result = _IO_fwide_maybe_incompatible ? -1 : (__fp)->_mode; \
- else \
- __result = _IO_fwide (__fp, __result); \
- __result; })
-# endif
-
-extern int _IO_vfwscanf (_IO_FILE * __restrict, const wchar_t * __restrict,
- _IO_va_list, int *__restrict);
-extern int _IO_vfwprintf (_IO_FILE *__restrict, const wchar_t *__restrict,
- _IO_va_list);
-extern _IO_ssize_t _IO_wpadn (_IO_FILE *, wint_t, _IO_ssize_t);
-extern void _IO_free_wbackup_area (_IO_FILE *) __THROW;
-#endif
-
-#ifdef __LDBL_COMPAT
-# include <bits/libio-ldbl.h>
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _BITS_LIBIO_H */
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/libm-simd-decl-stubs.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/libm-simd-decl-stubs.h
index 520b4bb..b80ff33 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/libm-simd-decl-stubs.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/libm-simd-decl-stubs.h
@@ -1,5 +1,5 @@
/* Empty definitions required for __MATHCALL_VEC unfolding in mathcalls.h.
- Copyright (C) 2014-2018 Free Software Foundation, Inc.
+ Copyright (C) 2014-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -14,7 +14,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef _MATH_H
# error "Never include <bits/libm-simd-decl-stubs.h> directly;\
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/link.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/link.h
index 5a7fc1c..774bbe5 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/link.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/link.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005-2018 Free Software Foundation, Inc.
+/* Copyright (C) 2005-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
@@ -14,7 +14,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef _LINK_H
# error "Never include <bits/link.h> directly; use <link.h> instead."
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/local_lim.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/local_lim.h
index 37aab9a..0652bf4 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/local_lim.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/local_lim.h
@@ -1,5 +1,5 @@
/* Minimum guaranteed maximum values for system limits. Linux version.
- Copyright (C) 1993-2018 Free Software Foundation, Inc.
+ Copyright (C) 1993-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
@@ -15,7 +15,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
/* The kernel header pollutes the namespace with the NR_OPEN symbol
and defines LINK_MAX although filesystems have different maxima. A
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/locale.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/locale.h
index 3a3d921..cc8e980 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/locale.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/locale.h
@@ -1,5 +1,5 @@
/* Definition of locale category symbol values.
- Copyright (C) 2001-2018 Free Software Foundation, Inc.
+ Copyright (C) 2001-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -14,7 +14,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#if !defined _LOCALE_H && !defined _LANGINFO_H
# error "Never use <bits/locale.h> directly; include <locale.h> instead."
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/long-double.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/long-double.h
index 3d6e113..55d2009 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/long-double.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/long-double.h
@@ -1,5 +1,5 @@
/* Properties of long double type. ldbl-128 version.
- Copyright (C) 2016-2018 Free Software Foundation, Inc.
+ Copyright (C) 2016-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -14,7 +14,8 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
/* long double is distinct from double, so there is nothing to
define here. */
+#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/math-finite.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/math-finite.h
deleted file mode 100644
index 0799fe7..0000000
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/math-finite.h
+++ /dev/null
@@ -1,197 +0,0 @@
-/* Entry points to finite-math-only compiler runs.
- Copyright (C) 2011-2018 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _MATH_H
-# error "Never use <bits/math-finite.h> directly; include <math.h> instead."
-#endif
-
-#define __REDIRFROM(...) __REDIRFROM_X(__VA_ARGS__)
-
-#define __REDIRTO(...) __REDIRTO_X(__VA_ARGS__)
-
-#define __MATH_REDIRCALL_X(from, args, to) \
- extern _Mdouble_ __REDIRECT_NTH (from, args, to)
-#define __MATH_REDIRCALL(function, reentrant, args) \
- __MATH_REDIRCALL_X \
- (__REDIRFROM (function, reentrant), args, \
- __REDIRTO (function, reentrant))
-#define __MATH_REDIRCALL_2(from, reentrant, args, to) \
- __MATH_REDIRCALL_X \
- (__REDIRFROM (from, reentrant), args, \
- __REDIRTO (to, reentrant))
-
-#define __MATH_REDIRCALL_INTERNAL(function, reentrant, args) \
- __MATH_REDIRCALL_X \
- (__REDIRFROM (__CONCAT (__, function), \
- __CONCAT (reentrant, _finite)), \
- args, __REDIRTO (function, _r))
-
-
-/* acos. */
-__MATH_REDIRCALL (acos, , (_Mdouble_));
-
-#if defined __USE_XOPEN_EXTENDED || defined __USE_ISOC99
-/* acosh. */
-__MATH_REDIRCALL (acosh, , (_Mdouble_));
-#endif
-
-/* asin. */
-__MATH_REDIRCALL (asin, , (_Mdouble_));
-
-/* atan2. */
-__MATH_REDIRCALL (atan2, , (_Mdouble_, _Mdouble_));
-
-#if defined __USE_XOPEN_EXTENDED || defined __USE_ISOC99
-/* atanh. */
-__MATH_REDIRCALL (atanh, , (_Mdouble_));
-#endif
-
-/* cosh. */
-__MATH_REDIRCALL (cosh, , (_Mdouble_));
-
-/* exp. */
-__MATH_REDIRCALL (exp, , (_Mdouble_));
-
-#if __GLIBC_USE (IEC_60559_FUNCS_EXT)
-/* exp10. */
-__MATH_REDIRCALL (exp10, , (_Mdouble_));
-#endif
-
-#ifdef __USE_ISOC99
-/* exp2. */
-__MATH_REDIRCALL (exp2, , (_Mdouble_));
-#endif
-
-/* fmod. */
-__MATH_REDIRCALL (fmod, , (_Mdouble_, _Mdouble_));
-
-#if defined __USE_XOPEN || defined __USE_ISOC99
-/* hypot. */
-__MATH_REDIRCALL (hypot, , (_Mdouble_, _Mdouble_));
-#endif
-
-#if (__MATH_DECLARING_DOUBLE && (defined __USE_MISC || defined __USE_XOPEN)) \
- || (!__MATH_DECLARING_DOUBLE && defined __USE_MISC)
-/* j0. */
-__MATH_REDIRCALL (j0, , (_Mdouble_));
-
-/* y0. */
-__MATH_REDIRCALL (y0, , (_Mdouble_));
-
-/* j1. */
-__MATH_REDIRCALL (j1, , (_Mdouble_));
-
-/* y1. */
-__MATH_REDIRCALL (y1, , (_Mdouble_));
-
-/* jn. */
-__MATH_REDIRCALL (jn, , (int, _Mdouble_));
-
-/* yn. */
-__MATH_REDIRCALL (yn, , (int, _Mdouble_));
-#endif
-
-#ifdef __USE_MISC
-/* lgamma_r. */
-__MATH_REDIRCALL (lgamma, _r, (_Mdouble_, int *));
-#endif
-
-/* Redirect __lgammal_r_finite to __lgamma_r_finite when __NO_LONG_DOUBLE_MATH
- is set and to itself otherwise. It also redirects __lgamma_r_finite and
- __lgammaf_r_finite to themselves. */
-__MATH_REDIRCALL_INTERNAL (lgamma, _r, (_Mdouble_, int *));
-
-#if ((defined __USE_XOPEN || defined __USE_ISOC99) \
- && defined __extern_always_inline)
-/* lgamma. */
-__extern_always_inline _Mdouble_
-__NTH (__REDIRFROM (lgamma, ) (_Mdouble_ __d))
-{
-# if defined __USE_MISC || defined __USE_XOPEN
- return __REDIRTO (lgamma, _r) (__d, &signgam);
-# else
- int __local_signgam = 0;
- return __REDIRTO (lgamma, _r) (__d, &__local_signgam);
-# endif
-}
-#endif
-
-#if ((defined __USE_MISC || (defined __USE_XOPEN && !defined __USE_XOPEN2K)) \
- && defined __extern_always_inline) && !__MATH_DECLARING_FLOATN
-/* gamma. */
-__extern_always_inline _Mdouble_
-__NTH (__REDIRFROM (gamma, ) (_Mdouble_ __d))
-{
- return __REDIRTO (lgamma, _r) (__d, &signgam);
-}
-#endif
-
-/* log. */
-__MATH_REDIRCALL (log, , (_Mdouble_));
-
-/* log10. */
-__MATH_REDIRCALL (log10, , (_Mdouble_));
-
-#ifdef __USE_ISOC99
-/* log2. */
-__MATH_REDIRCALL (log2, , (_Mdouble_));
-#endif
-
-/* pow. */
-__MATH_REDIRCALL (pow, , (_Mdouble_, _Mdouble_));
-
-#if defined __USE_XOPEN_EXTENDED || defined __USE_ISOC99
-/* remainder. */
-__MATH_REDIRCALL (remainder, , (_Mdouble_, _Mdouble_));
-#endif
-
-#if ((__MATH_DECLARING_DOUBLE \
- && (defined __USE_MISC \
- || (defined __USE_XOPEN_EXTENDED && !defined __USE_XOPEN2K8))) \
- || (!defined __MATH_DECLARE_LDOUBLE && defined __USE_MISC)) \
- && !__MATH_DECLARING_FLOATN
-/* scalb. */
-__MATH_REDIRCALL (scalb, , (_Mdouble_, _Mdouble_));
-#endif
-
-/* sinh. */
-__MATH_REDIRCALL (sinh, , (_Mdouble_));
-
-/* sqrt. */
-__MATH_REDIRCALL (sqrt, , (_Mdouble_));
-
-#if defined __USE_ISOC99 && defined __extern_always_inline
-/* tgamma. */
-extern _Mdouble_
-__REDIRFROM (__gamma, _r_finite) (_Mdouble_, int *);
-
-__extern_always_inline _Mdouble_
-__NTH (__REDIRFROM (tgamma, ) (_Mdouble_ __d))
-{
- int __local_signgam = 0;
- _Mdouble_ __res = __REDIRTO (gamma, _r) (__d, &__local_signgam);
- return __local_signgam < 0 ? -__res : __res;
-}
-#endif
-
-#undef __REDIRFROM
-#undef __REDIRTO
-#undef __MATH_REDIRCALL
-#undef __MATH_REDIRCALL_2
-#undef __MATH_REDIRCALL_INTERNAL
-#undef __MATH_REDIRCALL_X
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/math-vector.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/math-vector.h
index 318d3eb..5f964ab 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/math-vector.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/math-vector.h
@@ -1,5 +1,5 @@
/* Platform-specific SIMD declarations of math functions.
- Copyright (C) 2014-2018 Free Software Foundation, Inc.
+ Copyright (C) 2014-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -14,7 +14,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef _MATH_H
# error "Never include <bits/math-vector.h> directly;\
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/mathcalls-helper-functions.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/mathcalls-helper-functions.h
index ac3115b..3c44c78 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/mathcalls-helper-functions.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/mathcalls-helper-functions.h
@@ -1,5 +1,5 @@
/* Prototype declarations for math classification macros helpers.
- Copyright (C) 2017-2018 Free Software Foundation, Inc.
+ Copyright (C) 2017-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -14,30 +14,32 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
+ <https://www.gnu.org/licenses/>. */
/* Classify given number. */
-__MATHDECL_1 (int, __fpclassify,, (_Mdouble_ __value))
+__MATHDECL_ALIAS (int, __fpclassify,, (_Mdouble_ __value), fpclassify)
__attribute__ ((__const__));
/* Test for negative number. */
-__MATHDECL_1 (int, __signbit,, (_Mdouble_ __value))
+__MATHDECL_ALIAS (int, __signbit,, (_Mdouble_ __value), signbit)
__attribute__ ((__const__));
/* Return 0 if VALUE is finite or NaN, +1 if it
is +Infinity, -1 if it is -Infinity. */
-__MATHDECL_1 (int, __isinf,, (_Mdouble_ __value)) __attribute__ ((__const__));
+__MATHDECL_ALIAS (int, __isinf,, (_Mdouble_ __value), isinf)
+ __attribute__ ((__const__));
/* Return nonzero if VALUE is finite and not NaN. Used by isfinite macro. */
-__MATHDECL_1 (int, __finite,, (_Mdouble_ __value)) __attribute__ ((__const__));
+__MATHDECL_ALIAS (int, __finite,, (_Mdouble_ __value), finite)
+ __attribute__ ((__const__));
/* Return nonzero if VALUE is not a number. */
-__MATHDECL_1 (int, __isnan,, (_Mdouble_ __value)) __attribute__ ((__const__));
+__MATHDECL_ALIAS (int, __isnan,, (_Mdouble_ __value), isnan)
+ __attribute__ ((__const__));
/* Test equality. */
-__MATHDECL_1 (int, __iseqsig,, (_Mdouble_ __x, _Mdouble_ __y));
+__MATHDECL_ALIAS (int, __iseqsig,, (_Mdouble_ __x, _Mdouble_ __y), iseqsig);
/* Test for signaling NaN. */
-__MATHDECL_1 (int, __issignaling,, (_Mdouble_ __value))
+__MATHDECL_ALIAS (int, __issignaling,, (_Mdouble_ __value), issignaling)
__attribute__ ((__const__));
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/mathcalls-narrow.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/mathcalls-narrow.h
new file mode 100644
index 0000000..4f28f41
--- /dev/null
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/mathcalls-narrow.h
@@ -0,0 +1,33 @@
+/* Declare functions returning a narrower type.
+ Copyright (C) 2018-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#ifndef _MATH_H
+# error "Never include <bits/mathcalls-narrow.h> directly; include <math.h> instead."
+#endif
+
+/* Add. */
+__MATHCALL_NARROW (__MATHCALL_NAME (add), __MATHCALL_REDIR_NAME (add), 2);
+
+/* Divide. */
+__MATHCALL_NARROW (__MATHCALL_NAME (div), __MATHCALL_REDIR_NAME (div), 2);
+
+/* Multiply. */
+__MATHCALL_NARROW (__MATHCALL_NAME (mul), __MATHCALL_REDIR_NAME (mul), 2);
+
+/* Subtract. */
+__MATHCALL_NARROW (__MATHCALL_NAME (sub), __MATHCALL_REDIR_NAME (sub), 2);
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/mathcalls.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/mathcalls.h
index 9200363..2361dd3 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/mathcalls.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/mathcalls.h
@@ -1,5 +1,5 @@
/* Prototype declarations for math functions; helper file for <math.h>.
- Copyright (C) 1996-2018 Free Software Foundation, Inc.
+ Copyright (C) 1996-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -14,7 +14,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
/* NOTE: Because of the special way this file is used by <math.h>, this
file must NOT be protected from multiple inclusion as header files
@@ -109,7 +109,7 @@
/* Break VALUE into integral and fractional parts. */
__MATHCALL (modf,, (_Mdouble_ __x, _Mdouble_ *__iptr)) __nonnull ((2));
-#if __GLIBC_USE (IEC_60559_FUNCS_EXT)
+#if __GLIBC_USE (IEC_60559_FUNCS_EXT_C2X)
/* Compute exponent to base ten. */
__MATHCALL (exp10,, (_Mdouble_ __x));
#endif
@@ -174,12 +174,14 @@
&& !__MATH_DECLARING_FLOATN
/* Return 0 if VALUE is finite or NaN, +1 if it
is +Infinity, -1 if it is -Infinity. */
-__MATHDECL_1 (int,isinf,, (_Mdouble_ __value)) __attribute__ ((__const__));
+__MATHDECL_ALIAS (int,isinf,, (_Mdouble_ __value), isinf)
+ __attribute__ ((__const__));
# endif
# if !__MATH_DECLARING_FLOATN
/* Return nonzero if VALUE is finite and not NaN. */
-__MATHDECL_1 (int,finite,, (_Mdouble_ __value)) __attribute__ ((__const__));
+__MATHDECL_ALIAS (int,finite,, (_Mdouble_ __value), finite)
+ __attribute__ ((__const__));
/* Return the remainder of X/Y. */
__MATHCALL (drem,, (_Mdouble_ __x, _Mdouble_ __y));
@@ -198,7 +200,7 @@
#ifdef __USE_ISOC99
/* Return representation of qNaN for double type. */
-__MATHCALLX (nan,, (const char *__tagb), (__const__));
+__MATHCALL (nan,, (const char *__tagb));
#endif
@@ -208,7 +210,8 @@
|| __MATH_DECLARING_DOUBLE == 0)) /* isnanf or isnanl don't. */ \
&& !__MATH_DECLARING_FLOATN
/* Return nonzero if VALUE is not a number. */
-__MATHDECL_1 (int,isnan,, (_Mdouble_ __value)) __attribute__ ((__const__));
+__MATHDECL_ALIAS (int,isnan,, (_Mdouble_ __value), isnan)
+ __attribute__ ((__const__));
# endif
#endif
@@ -261,7 +264,7 @@
__MATHCALL (nexttoward,, (_Mdouble_ __x, long double __y));
# endif
-# if __GLIBC_USE (IEC_60559_BFP_EXT) || __MATH_DECLARING_FLOATN
+# if __GLIBC_USE (IEC_60559_BFP_EXT_C2X) || __MATH_DECLARING_FLOATN
/* Return X - epsilon. */
__MATHCALL (nextdown,, (_Mdouble_ __x));
/* Return X + epsilon. */
@@ -280,7 +283,7 @@
__MATHDECL (int,ilogb,, (_Mdouble_ __x));
#endif
-#if __GLIBC_USE (IEC_60559_BFP_EXT) || __MATH_DECLARING_FLOATN
+#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X) || __MATH_DECLARING_FLOATN
/* Like ilogb, but returning long int. */
__MATHDECL (long int, llogb,, (_Mdouble_ __x));
#endif
@@ -335,7 +338,7 @@
__MATHCALL (fma,, (_Mdouble_ __x, _Mdouble_ __y, _Mdouble_ __z));
#endif /* Use ISO C99. */
-#if __GLIBC_USE (IEC_60559_BFP_EXT) || __MATH_DECLARING_FLOATN
+#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X) || __MATH_DECLARING_FLOATN
/* Round X to nearest integer value, rounding halfway cases to even. */
__MATHCALLX (roundeven,, (_Mdouble_ __x), (__const__));
@@ -367,16 +370,20 @@
/* Return value with minimum magnitude. */
__MATHCALLX (fminmag,, (_Mdouble_ __x, _Mdouble_ __y), (__const__));
-/* Total order operation. */
-__MATHDECL_1 (int, totalorder,, (_Mdouble_ __x, _Mdouble_ __y))
- __attribute__ ((__const__));
-
-/* Total order operation on absolute values. */
-__MATHDECL_1 (int, totalordermag,, (_Mdouble_ __x, _Mdouble_ __y))
- __attribute__ ((__const__));
-
/* Canonicalize floating-point representation. */
__MATHDECL_1 (int, canonicalize,, (_Mdouble_ *__cx, const _Mdouble_ *__x));
+#endif
+
+#if __GLIBC_USE (IEC_60559_BFP_EXT) || __MATH_DECLARING_FLOATN
+/* Total order operation. */
+__MATHDECL_1 (int, totalorder,, (const _Mdouble_ *__x,
+ const _Mdouble_ *__y))
+ __attribute_pure__;
+
+/* Total order operation on absolute values. */
+__MATHDECL_1 (int, totalordermag,, (const _Mdouble_ *__x,
+ const _Mdouble_ *__y))
+ __attribute_pure__;
/* Get NaN payload. */
__MATHCALL (getpayload,, (const _Mdouble_ *__x));
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/mathdef.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/mathdef.h
index 8fbf7e6..765b002 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/mathdef.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/mathdef.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997-2018 Free Software Foundation, Inc.
+/* Copyright (C) 1997-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -13,7 +13,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef _COMPLEX_H
# error "Never use <bits/mathdef.h> directly; include <complex.h> instead"
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/mathinline.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/mathinline.h
deleted file mode 100644
index 02ec21b..0000000
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/mathinline.h
+++ /dev/null
@@ -1,12 +0,0 @@
-/* This file should provide inline versions of math functions.
-
- Surround GCC-specific parts with #ifdef __GNUC__, and use `__extern_inline'.
-
- This file should define __MATH_INLINES if functions are actually defined as
- inlines. */
-
-#if !defined __NO_MATH_INLINES && defined __OPTIMIZE__
-
-/* Here goes the real code. */
-
-#endif
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/mman-linux.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/mman-linux.h
index e61212a..3b1ae41 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/mman-linux.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/mman-linux.h
@@ -1,5 +1,5 @@
/* Definitions for POSIX memory map interface. Linux generic version.
- Copyright (C) 2001-2018 Free Software Foundation, Inc.
+ Copyright (C) 2001-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -14,7 +14,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef _SYS_MMAN_H
# error "Never use <bits/mman-linux.h> directly; include <sys/mman.h> instead."
@@ -42,6 +42,8 @@
#define MAP_SHARED 0x01 /* Share changes. */
#define MAP_PRIVATE 0x02 /* Changes are private. */
#ifdef __USE_MISC
+# define MAP_SHARED_VALIDATE 0x03 /* Share changes and validate
+ extension flags. */
# define MAP_TYPE 0x0f /* Mask for type of mapping. */
#endif
@@ -65,12 +67,6 @@
#define MS_SYNC 4 /* Synchronous memory sync. */
#define MS_INVALIDATE 2 /* Invalidate the caches. */
-/* Flags for `mremap'. */
-#ifdef __USE_GNU
-# define MREMAP_MAYMOVE 1
-# define MREMAP_FIXED 2
-#endif
-
/* Advice to `madvise'. */
#ifdef __USE_MISC
# define MADV_NORMAL 0 /* No further special treatment. */
@@ -91,6 +87,8 @@
# define MADV_DODUMP 17 /* Clear the MADV_DONTDUMP flag. */
# define MADV_WIPEONFORK 18 /* Zero memory on fork, child only. */
# define MADV_KEEPONFORK 19 /* Undo MADV_WIPEONFORK. */
+# define MADV_COLD 20 /* Deactivate these pages. */
+# define MADV_PAGEOUT 21 /* Reclaim these pages. */
# define MADV_HWPOISON 100 /* Poison a page for testing. */
#endif
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/mman-map-flags-generic.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/mman-map-flags-generic.h
new file mode 100644
index 0000000..cadf2d1
--- /dev/null
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/mman-map-flags-generic.h
@@ -0,0 +1,42 @@
+/* Definitions for POSIX memory map interface. Linux/generic version.
+ Copyright (C) 1997-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library. If not, see
+ <https://www.gnu.org/licenses/>. */
+
+#ifndef _SYS_MMAN_H
+# error "Never use <bits/mman-map-flags-generic.h> directly; include <sys/mman.h> instead."
+#endif
+
+/* These definitions are appropriate for architectures that, in the
+ Linux kernel, either have no uapi/asm/mman.h, or have one that
+ includes asm-generic/mman.h without any changes to the values of
+ the MAP_* flags defined in that header. */
+
+#ifdef __USE_MISC
+# define MAP_GROWSDOWN 0x00100 /* Stack-like segment. */
+# define MAP_DENYWRITE 0x00800 /* ETXTBSY. */
+# define MAP_EXECUTABLE 0x01000 /* Mark it as an executable. */
+# define MAP_LOCKED 0x02000 /* Lock the mapping. */
+# define MAP_NORESERVE 0x04000 /* Don't check for reservations. */
+# define MAP_POPULATE 0x08000 /* Populate (prefault) pagetables. */
+# define MAP_NONBLOCK 0x10000 /* Do not block on IO. */
+# define MAP_STACK 0x20000 /* Allocation is for a stack. */
+# define MAP_HUGETLB 0x40000 /* Create huge page mapping. */
+# define MAP_SYNC 0x80000 /* Perform synchronous page
+ faults for the mapping. */
+# define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap
+ underlying mapping. */
+#endif
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/mman-shared.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/mman-shared.h
index d15ba95..f336db0 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/mman-shared.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/mman-shared.h
@@ -1,5 +1,5 @@
/* Memory-mapping-related declarations/definitions, not architecture-specific.
- Copyright (C) 2017-2018 Free Software Foundation, Inc.
+ Copyright (C) 2017-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -14,13 +14,18 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef _SYS_MMAN_H
# error "Never use <bits/mman-shared.h> directly; include <sys/mman.h> instead."
#endif
#ifdef __USE_GNU
+/* Flags for mremap. */
+# define MREMAP_MAYMOVE 1
+# define MREMAP_FIXED 2
+# define MREMAP_DONTUNMAP 4
+
/* Flags for memfd_create. */
# ifndef MFD_CLOEXEC
# define MFD_CLOEXEC 1U
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/mman.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/mman.h
index 83ff48c..fe54885 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/mman.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/mman.h
@@ -1,7 +1,5 @@
/* Definitions for POSIX memory map interface. Linux/AArch64 version.
-
- Copyright (C) 1997-2018 Free Software Foundation, Inc.
-
+ Copyright (C) 2020-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -15,30 +13,20 @@
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
#ifndef _SYS_MMAN_H
# error "Never use <bits/mman.h> directly; include <sys/mman.h> instead."
#endif
-/* The following definitions basically come from the kernel headers.
- But the kernel header is not namespace clean. */
+/* AArch64 specific definitions, should be in sync with
+ arch/arm64/include/uapi/asm/mman.h. */
-/* These are Linux-specific. */
-#ifdef __USE_MISC
-# define MAP_GROWSDOWN 0x00100 /* Stack-like segment. */
-# define MAP_DENYWRITE 0x00800 /* ETXTBSY */
-# define MAP_EXECUTABLE 0x01000 /* Mark it as an executable. */
-# define MAP_LOCKED 0x02000 /* Lock the mapping. */
-# define MAP_NORESERVE 0x04000 /* Don't check for reservations. */
-# define MAP_POPULATE 0x08000 /* Populate (prefault) pagetables. */
-# define MAP_NONBLOCK 0x10000 /* Do not block on IO. */
-# define MAP_STACK 0x20000 /* Allocation is for a stack. */
-# define MAP_HUGETLB 0x40000 /* Create huge page mapping. */
-#endif
+#define PROT_BTI 0x10
+#define PROT_MTE 0x20
-
+#include <bits/mman-map-flags-generic.h>
/* Include generic Linux declarations. */
#include <bits/mman-linux.h>
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/monetary-ldbl.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/monetary-ldbl.h
index 8d86782..46629a3 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/monetary-ldbl.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/monetary-ldbl.h
@@ -1,5 +1,5 @@
/* -mlong-double-64 compatibility mode for monetary functions.
- Copyright (C) 2006-2018 Free Software Foundation, Inc.
+ Copyright (C) 2006-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -14,7 +14,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef _MONETARY_H
# error "Never include <bits/monetary-ldbl.h> directly; use <monetary.h> instead."
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/mqueue.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/mqueue.h
index 321e1c3..c64be90 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/mqueue.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/mqueue.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2004-2018 Free Software Foundation, Inc.
+/* Copyright (C) 2004-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -13,7 +13,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef _MQUEUE_H
# error "Never use <bits/mqueue.h> directly; include <mqueue.h> instead."
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/mqueue2.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/mqueue2.h
index 95bf8d2..4039443 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/mqueue2.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/mqueue2.h
@@ -1,5 +1,5 @@
/* Checking macros for mq functions.
- Copyright (C) 2007-2018 Free Software Foundation, Inc.
+ Copyright (C) 2007-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -14,7 +14,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef _FCNTL_H
# error "Never include <bits/mqueue2.h> directly; use <mqueue.h> instead."
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/msq.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/msq.h
index 1f57065..3313b69 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/msq.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/msq.h
@@ -1,6 +1,5 @@
-/* Copyright (C) 2011-2018 Free Software Foundation, Inc.
+/* Copyright (C) 1995-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
@@ -13,15 +12,20 @@
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
#ifndef _SYS_MSG_H
# error "Never use <bits/msq.h> directly; include <sys/msg.h> instead."
#endif
#include <bits/types.h>
-#include <bits/wordsize.h>
+
+/* Types used in the MSQID_DS structure definition. */
+typedef __syscall_ulong_t msgqnum_t;
+typedef __syscall_ulong_t msglen_t;
+
+#include <bits/types/struct_msqid_ds.h>
/* Define options for message queue functions. */
#define MSG_NOERROR 010000 /* no error if message is too big */
@@ -30,36 +34,6 @@
# define MSG_COPY 040000 /* copy (not remove) all queue messages */
#endif
-/* Types used in the structure definition. */
-typedef unsigned long int msgqnum_t;
-typedef unsigned long int msglen_t;
-
-/* Structure of record for one message inside the kernel.
- The type `struct msg' is opaque. */
-struct msqid_ds
-{
- struct ipc_perm msg_perm; /* structure describing operation permission */
- __time_t msg_stime; /* time of last msgsnd command */
-#if __WORDSIZE == 32
- unsigned long int __glibc_reserved1;
-#endif
- __time_t msg_rtime; /* time of last msgrcv command */
-#if __WORDSIZE == 32
- unsigned long int __glibc_reserved2;
-#endif
- __time_t msg_ctime; /* time of last change */
-#if __WORDSIZE == 32
- unsigned long int __glibc_reserved3;
-#endif
- unsigned long int __msg_cbytes; /* current number of bytes on queue */
- msgqnum_t msg_qnum; /* number of messages currently on queue */
- msglen_t msg_qbytes; /* max number of bytes allowed on queue */
- __pid_t msg_lspid; /* pid of last msgsnd() */
- __pid_t msg_lrpid; /* pid of last msgrcv() */
- unsigned long int __glibc_reserved4;
- unsigned long int __glibc_reserved5;
-};
-
#ifdef __USE_MISC
# define msg_cbytes __msg_cbytes
@@ -67,6 +41,7 @@
/* ipcs ctl commands */
# define MSG_STAT 11
# define MSG_INFO 12
+# define MSG_STAT_ANY 13
/* buffer for msgctl calls IPC_INFO, MSG_INFO */
struct msginfo
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/netdb.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/netdb.h
index dcac854..ecabaaa 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/netdb.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/netdb.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996-2018 Free Software Foundation, Inc.
+/* Copyright (C) 1996-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -13,7 +13,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef _NETDB_H
# error "Never include <bits/netdb.h> directly; use <netdb.h> instead."
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/param.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/param.h
index 03486c1..9408786 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/param.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/param.h
@@ -1,5 +1,5 @@
/* Old-style Unix parameters and limits. Linux version.
- Copyright (C) 1995-2018 Free Software Foundation, Inc.
+ Copyright (C) 1995-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -14,7 +14,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef _SYS_PARAM_H
# error "Never use <bits/param.h> directly; include <sys/param.h> instead."
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/poll.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/poll.h
index 4bd9db6..8442d50 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/poll.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/poll.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997-2018 Free Software Foundation, Inc.
+/* Copyright (C) 1997-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -13,7 +13,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef _SYS_POLL_H
# error "Never use <bits/poll.h> directly; include <sys/poll.h> instead."
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/poll2.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/poll2.h
index cc420df..d7320e8 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/poll2.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/poll2.h
@@ -1,5 +1,5 @@
/* Checking macros for poll functions.
- Copyright (C) 2012-2018 Free Software Foundation, Inc.
+ Copyright (C) 2012-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -14,7 +14,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef _SYS_POLL_H
# error "Never include <bits/poll2.h> directly; use <sys/poll.h> instead."
@@ -36,8 +36,8 @@
sizeof (*__fds),
"poll called with fds buffer too small")
{
- if (__FORTIFY_CALL_CHK && __bos (__fds) != (__SIZE_TYPE__) -1)
- return __poll_chk (__fds, __nfds, __timeout, __bos (__fds));
+ if (__FORTIFY_CALL_CHK && __glibc_objsize (__fds) != (__SIZE_TYPE__) -1)
+ return __poll_chk (__fds, __nfds, __timeout, __glibc_objsize (__fds));
return __poll_alias (__fds, __nfds, __timeout);
}
__FORTIFY_FUNCTION_END
@@ -59,8 +59,9 @@
"ppoll called with fds buffer too "
"small file nfds entries")
{
- if (__FORTIFY_CALL_CHK && __bos (__fds) != (__SIZE_TYPE__) -1)
- return __ppoll_chk (__fds, __nfds, __timeout, __ss, __bos (__fds));
+ if (__FORTIFY_CALL_CHK && __glibc_objsize (__fds) != (__SIZE_TYPE__) -1)
+ return __ppoll_chk (__fds, __nfds, __timeout, __ss,
+ __glibc_objsize (__fds));
return __ppoll_alias (__fds, __nfds, __timeout, __ss);
}
__FORTIFY_FUNCTION_END
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/posix1_lim.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/posix1_lim.h
index 90066ff..c645847 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/posix1_lim.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/posix1_lim.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991-2018 Free Software Foundation, Inc.
+/* Copyright (C) 1991-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -13,7 +13,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
/*
* POSIX Standard: 2.9.2 Minimum Values Added to <limits.h>
@@ -24,6 +24,7 @@
#ifndef _BITS_POSIX1_LIM_H
#define _BITS_POSIX1_LIM_H 1
+#include <bits/wordsize.h>
/* These are the standard-mandated minimum values. */
@@ -161,7 +162,14 @@
#ifndef SSIZE_MAX
-# define SSIZE_MAX LONG_MAX
+/* ssize_t is not formally required to be the signed type
+ corresponding to size_t, but it is for all configurations supported
+ by glibc. */
+# if __WORDSIZE == 64 || __WORDSIZE32_SIZE_ULONG
+# define SSIZE_MAX LONG_MAX
+# else
+# define SSIZE_MAX INT_MAX
+# endif
#endif
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/posix2_lim.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/posix2_lim.h
index c460ea2..7ac13cb 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/posix2_lim.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/posix2_lim.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991-2018 Free Software Foundation, Inc.
+/* Copyright (C) 1991-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -13,7 +13,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
/*
* Never include this file directly; include <limits.h> instead.
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/posix_opt.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/posix_opt.h
index 2339d4a..4d7d634 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/posix_opt.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/posix_opt.h
@@ -1,5 +1,5 @@
/* Define POSIX options for Linux.
- Copyright (C) 1996-2018 Free Software Foundation, Inc.
+ Copyright (C) 1996-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -14,7 +14,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; see the file COPYING.LIB. If
- not, see <http://www.gnu.org/licenses/>. */
+ not, see <https://www.gnu.org/licenses/>. */
#ifndef _BITS_POSIX_OPT_H
#define _BITS_POSIX_OPT_H 1
@@ -25,7 +25,10 @@
/* Processes have a saved set-user-ID and a saved set-group-ID. */
#define _POSIX_SAVED_IDS 1
-/* Priority scheduling is supported. */
+/* Priority scheduling is not supported with the correct semantics,
+ but GNU/Linux applications expect that the corresponding interfaces
+ are available, even though the semantics do not meet the POSIX
+ requirements. See glibc bug 14829. */
#define _POSIX_PRIORITY_SCHEDULING 200809L
/* Synchronizing file data is supported. */
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/printf-ldbl.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/printf-ldbl.h
index d61a682..b4719f3 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/printf-ldbl.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/printf-ldbl.h
@@ -1,5 +1,5 @@
/* -mlong-double-64 compatibility mode for <printf.h> functions.
- Copyright (C) 2006-2018 Free Software Foundation, Inc.
+ Copyright (C) 2006-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -14,7 +14,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef _PRINTF_H
# error "Never include <bits/printf-ldbl.h> directly; use <printf.h> instead."
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/procfs-extra.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/procfs-extra.h
new file mode 100644
index 0000000..f33b0bb
--- /dev/null
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/procfs-extra.h
@@ -0,0 +1,22 @@
+/* Extra sys/procfs.h definitions. Generic Linux version.
+ Copyright (C) 2018-2021 Free Software Foundation, Inc.
+
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#ifndef _SYS_PROCFS_H
+# error "Never include <bits/procfs-extra.h> directly; use <sys/procfs.h> instead."
+#endif
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/procfs-id.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/procfs-id.h
new file mode 100644
index 0000000..fd09f2b
--- /dev/null
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/procfs-id.h
@@ -0,0 +1,25 @@
+/* Types of pr_uid and pr_gid in struct elf_prpsinfo. Generic Linux version.
+ Copyright (C) 2018-2021 Free Software Foundation, Inc.
+
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#ifndef _SYS_PROCFS_H
+# error "Never include <bits/procfs-id.h> directly; use <sys/procfs.h> instead."
+#endif
+
+typedef unsigned int __pr_uid_t;
+typedef unsigned int __pr_gid_t;
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/procfs-prregset.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/procfs-prregset.h
new file mode 100644
index 0000000..f0409f6
--- /dev/null
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/procfs-prregset.h
@@ -0,0 +1,25 @@
+/* Types of prgregset_t and prfpregset_t. Generic Linux version.
+ Copyright (C) 2018-2021 Free Software Foundation, Inc.
+
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#ifndef _SYS_PROCFS_H
+# error "Never include <bits/procfs-prregset.h> directly; use <sys/procfs.h> instead."
+#endif
+
+typedef elf_gregset_t __prgregset_t;
+typedef elf_fpregset_t __prfpregset_t;
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/procfs.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/procfs.h
new file mode 100644
index 0000000..6b60289
--- /dev/null
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/procfs.h
@@ -0,0 +1,35 @@
+/* Types for registers for sys/procfs.h. AArch64 version.
+ Copyright (C) 1996-2021 Free Software Foundation, Inc.
+
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#ifndef _SYS_PROCFS_H
+# error "Never include <bits/procfs.h> directly; use <sys/procfs.h> instead."
+#endif
+
+/* Type for a general-purpose register. */
+typedef __uint64_t elf_greg_t;
+
+/* And the whole bunch of them. We could have used `struct
+ pt_regs' directly in the typedef, but tradition says that
+ the register set is an array, which does have some peculiar
+ semantics, so leave it that way. */
+#define ELF_NGREG (sizeof (struct user_regs_struct) / sizeof (elf_greg_t))
+typedef elf_greg_t elf_gregset_t[ELF_NGREG];
+
+/* Register set for the floating-point registers. */
+typedef struct user_fpsimd_struct elf_fpregset_t;
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/pthreadtypes-arch.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/pthreadtypes-arch.h
index 008aa7e..a0a3077 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/pthreadtypes-arch.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/pthreadtypes-arch.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002-2018 Free Software Foundation, Inc.
+/* Copyright (C) 2002-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
@@ -14,12 +14,12 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef _BITS_PTHREADTYPES_ARCH_H
#define _BITS_PTHREADTYPES_ARCH_H 1
-#include <endian.h>
+#include <bits/endian.h>
#ifdef __ILP32__
# define __SIZEOF_PTHREAD_ATTR_T 32
@@ -41,31 +41,7 @@
#define __SIZEOF_PTHREAD_COND_T 48
#define __SIZEOF_PTHREAD_RWLOCKATTR_T 8
-/* Definitions for internal mutex struct. */
-#define __PTHREAD_COMPAT_PADDING_MID
-#define __PTHREAD_COMPAT_PADDING_END
-#define __PTHREAD_MUTEX_LOCK_ELISION 0
-#define __PTHREAD_MUTEX_NUSERS_AFTER_KIND 0
-#define __PTHREAD_MUTEX_USE_UNION 0
-
#define __LOCK_ALIGNMENT
#define __ONCE_ALIGNMENT
-struct __pthread_rwlock_arch_t
-{
- unsigned int __readers;
- unsigned int __writers;
- unsigned int __wrphase_futex;
- unsigned int __writers_futex;
- unsigned int __pad3;
- unsigned int __pad4;
- int __cur_writer;
- int __shared;
- unsigned long int __pad1;
- unsigned long int __pad2;
- unsigned int __flags;
-};
-
-#define __PTHREAD_RWLOCK_ELISION_EXTRA 0
-
#endif /* bits/pthreadtypes.h */
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/pthreadtypes.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/pthreadtypes.h
index 70ce0a0..4d4a255 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/pthreadtypes.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/pthreadtypes.h
@@ -1,5 +1,5 @@
/* Declaration of common pthread types for all architectures.
- Copyright (C) 2017-2018 Free Software Foundation, Inc.
+ Copyright (C) 2017-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -14,7 +14,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef _BITS_PTHREADTYPES_COMMON_H
# define _BITS_PTHREADTYPES_COMMON_H 1
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/ptrace-shared.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/ptrace-shared.h
index 03a7791..7d40634 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/ptrace-shared.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/ptrace-shared.h
@@ -1,6 +1,6 @@
/* `ptrace' debugger support interface. Linux version,
not architecture-specific.
- Copyright (C) 1996-2018 Free Software Foundation, Inc.
+ Copyright (C) 1996-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
@@ -16,7 +16,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef _SYS_PTRACE_H
# error "Never use <bits/ptrace-shared.h> directly; include <sys/ptrace.h> instead."
@@ -52,6 +52,15 @@
PTRACE_EVENT_STOP = 128
};
+/* Type of stop for PTRACE_GET_SYSCALL_INFO. */
+enum __ptrace_get_syscall_info_op
+{
+ PTRACE_SYSCALL_INFO_NONE = 0,
+ PTRACE_SYSCALL_INFO_ENTRY = 1,
+ PTRACE_SYSCALL_INFO_EXIT = 2,
+ PTRACE_SYSCALL_INFO_SECCOMP = 3
+};
+
/* Arguments for PTRACE_PEEKSIGINFO. */
struct __ptrace_peeksiginfo_args
{
@@ -73,6 +82,44 @@
__uint64_t flags; /* Output: filter's flags. */
};
+/* Results of PTRACE_GET_SYSCALL_INFO. */
+struct __ptrace_syscall_info
+{
+ __uint8_t op; /* One of the enum
+ __ptrace_get_syscall_info_op
+ values. */
+ __uint32_t arch __attribute__ ((__aligned__ (4))); /* AUDIT_ARCH_*
+ value. */
+ __uint64_t instruction_pointer; /* Instruction pointer. */
+ __uint64_t stack_pointer; /* Stack pointer. */
+ union
+ {
+ /* System call number and arguments, for
+ PTRACE_SYSCALL_INFO_ENTRY. */
+ struct
+ {
+ __uint64_t nr;
+ __uint64_t args[6];
+ } entry;
+ /* System call return value and error flag, for
+ PTRACE_SYSCALL_INFO_EXIT. */
+ struct
+ {
+ __int64_t rval;
+ __uint8_t is_error;
+ } exit;
+ /* System call number, arguments and SECCOMP_RET_DATA portion of
+ SECCOMP_RET_TRACE return value, for
+ PTRACE_SYSCALL_INFO_SECCOMP. */
+ struct
+ {
+ __uint64_t nr;
+ __uint64_t args[6];
+ __uint32_t ret_data;
+ } seccomp;
+ };
+};
+
/* Perform process tracing functions. REQUEST is one of the values
above, and determines the action to be taken.
For all requests except PTRACE_TRACEME, PID specifies the process to be
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/resource.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/resource.h
index fafbadf..6b92df8 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/resource.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/resource.h
@@ -1,5 +1,5 @@
/* Bit values & structures for resource limits. Linux version.
- Copyright (C) 1994-2018 Free Software Foundation, Inc.
+ Copyright (C) 1994-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -14,7 +14,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef _SYS_RESOURCE_H
# error "Never use <bits/resource.h> directly; include <sys/resource.h> instead."
@@ -98,7 +98,7 @@
__RLIMIT_RTPRIO = 14,
#define RLIMIT_RTPRIO __RLIMIT_RTPRIO
- /* Maximum CPU time in µs that a process scheduled under a real-time
+ /* Maximum CPU time in microseconds that a process scheduled under a real-time
scheduling policy may consume without making a blocking system
call before being forcibly descheduled. */
__RLIMIT_RTTIME = 15,
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/sched.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/sched.h
index 24159c5..cd450fd 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/sched.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/sched.h
@@ -1,6 +1,6 @@
/* Definitions of constants and data structure for POSIX 1003.1b-1993
scheduling interface.
- Copyright (C) 1996-2018 Free Software Foundation, Inc.
+ Copyright (C) 1996-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -15,7 +15,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef _BITS_SCHED_H
#define _BITS_SCHED_H 1
@@ -44,6 +44,8 @@
# define CLONE_FS 0x00000200 /* Set if fs info shared between processes. */
# define CLONE_FILES 0x00000400 /* Set if open files shared between processes. */
# define CLONE_SIGHAND 0x00000800 /* Set if signal handlers shared. */
+# define CLONE_PIDFD 0x00001000 /* Set if a pidfd should be placed
+ in parent. */
# define CLONE_PTRACE 0x00002000 /* Set if tracing continues on the child. */
# define CLONE_VFORK 0x00004000 /* Set if the parent wants the child to
wake it up on mm_release. */
@@ -71,11 +73,7 @@
# define CLONE_IO 0x80000000 /* Clone I/O context. */
#endif
-/* Data structure to describe a process' schedulability. */
-struct sched_param
-{
- int sched_priority;
-};
+#include <bits/types/struct_sched_param.h>
__BEGIN_DECLS
@@ -90,6 +88,9 @@
/* Get index of currently used CPU. */
extern int sched_getcpu (void) __THROW;
+/* Get currently used CPU and NUMA node. */
+extern int getcpu (unsigned int *, unsigned int *) __THROW;
+
/* Switch process to namespace of type NSTYPE indicated by FD. */
extern int setns (int __fd, int __nstype) __THROW;
#endif
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/select.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/select.h
index 371c5c1..8204bbd 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/select.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/select.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997-2018 Free Software Foundation, Inc.
+/* Copyright (C) 1997-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -13,7 +13,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef _SYS_SELECT_H
# error "Never use <bits/select.h> directly; include <sys/select.h> instead."
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/select2.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/select2.h
index 7194148..a6dfe68 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/select2.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/select2.h
@@ -1,5 +1,5 @@
/* Checking macros for select functions.
- Copyright (C) 2011-2018 Free Software Foundation, Inc.
+ Copyright (C) 2011-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -14,7 +14,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef _SYS_SELECT_H
# error "Never include <bits/select2.h> directly; use <sys/select.h> instead."
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/sem.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/sem.h
index 3d65872..ad13287 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/sem.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/sem.h
@@ -1,6 +1,5 @@
-/* Copyright (C) 2011-2018 Free Software Foundation, Inc.
+/* Copyright (C) 1995-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
@@ -13,15 +12,16 @@
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
#ifndef _SYS_SEM_H
# error "Never include <bits/sem.h> directly; use <sys/sem.h> instead."
#endif
#include <sys/types.h>
-#include <bits/wordsize.h>
+#include <bits/timesize.h>
+#include <bits/types/struct_semid_ds.h>
/* Flags for `semop'. */
#define SEM_UNDO 0x1000 /* undo the operation on exit */
@@ -35,24 +35,6 @@
#define SETVAL 16 /* set semval */
#define SETALL 17 /* set all semval's */
-
-/* Data structure describing a set of semaphores. */
-struct semid_ds
-{
- struct ipc_perm sem_perm; /* operation permission struct */
- __time_t sem_otime; /* last semop() time */
-#if __WORDSIZE == 32
- unsigned long int __glibc_reserved1;
-#endif
- __time_t sem_ctime; /* last time changed by semctl() */
-#if __WORDSIZE == 32
- unsigned long int __glibc_reserved2;
-#endif
- unsigned long int sem_nsems; /* number of semaphores in set */
- unsigned long int __glibc_reserved3;
- unsigned long int __glibc_reserved4;
-};
-
/* The user should define a union like the following to use it for arguments
for `semctl'.
@@ -74,8 +56,9 @@
/* ipcs ctl cmds */
# define SEM_STAT 18
# define SEM_INFO 19
+# define SEM_STAT_ANY 20
-struct seminfo
+struct seminfo
{
int semmap;
int semmni;
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/semaphore.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/semaphore.h
index 18f8aae..d008e08 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/semaphore.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/semaphore.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002-2018 Free Software Foundation, Inc.
+/* Copyright (C) 2002-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
@@ -14,7 +14,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef _SEMAPHORE_H
# error "Never use <bits/semaphore.h> directly; include <semaphore.h> instead."
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/setjmp.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/setjmp.h
index 1685f10..008c61a 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/setjmp.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/setjmp.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997-2018 Free Software Foundation, Inc.
+/* Copyright (C) 1997-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
@@ -14,7 +14,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef _BITS_SETJMP_H
#define _BITS_SETJMP_H 1
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/setjmp2.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/setjmp2.h
index e6e9966..f883f35 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/setjmp2.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/setjmp2.h
@@ -1,5 +1,5 @@
/* Checking macros for setjmp functions.
- Copyright (C) 2009-2018 Free Software Foundation, Inc.
+ Copyright (C) 2009-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -14,7 +14,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef _SETJMP_H
# error "Never include <bits/setjmp2.h> directly; use <setjmp.h> instead."
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/shm.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/shm.h
index ba5174c..a50c79d 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/shm.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/shm.h
@@ -1,6 +1,5 @@
-/* Copyright (C) 2011-2018 Free Software Foundation, Inc.
+/* Copyright (C) 1995-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
@@ -13,8 +12,8 @@
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
#ifndef _SYS_SHM_H
# error "Never include <bits/shm.h> directly; use <sys/shm.h> instead."
@@ -22,6 +21,7 @@
#include <bits/types.h>
#include <bits/wordsize.h>
+#include <bits/shmlba.h>
/* Permission flag for shmget. */
#define SHM_R 0400 /* or S_IRUGO from <linux/stat.h> */
@@ -39,43 +39,17 @@
__BEGIN_DECLS
-/* Segment low boundary address multiple. */
-#define SHMLBA (__getpagesize ())
-extern int __getpagesize (void) __THROW __attribute__ ((__const__));
-
-
/* Type to count number of attaches. */
-typedef unsigned long int shmatt_t;
+typedef __syscall_ulong_t shmatt_t;
-/* Data structure describing a shared memory segment. */
-struct shmid_ds
- {
- struct ipc_perm shm_perm; /* operation permission struct */
- size_t shm_segsz; /* size of segment in bytes */
- __time_t shm_atime; /* time of last shmat() */
-#if __WORDSIZE == 32
- unsigned long int __glibc_reserved1;
-#endif
- __time_t shm_dtime; /* time of last shmdt() */
-#if __WORDSIZE == 32
- unsigned long int __glibc_reserved2;
-#endif
- __time_t shm_ctime; /* time of last change by shmctl() */
-#if __WORDSIZE == 32
- unsigned long int __glibc_reserved3;
-#endif
- __pid_t shm_cpid; /* pid of creator */
- __pid_t shm_lpid; /* pid of last shmop */
- shmatt_t shm_nattch; /* number of current attaches */
- unsigned long int __glibc_reserved4;
- unsigned long int __glibc_reserved5;
- };
+#include <bits/types/struct_shmid_ds.h>
#ifdef __USE_MISC
/* ipcs ctl commands */
# define SHM_STAT 13
# define SHM_INFO 14
+# define SHM_STAT_ANY 15
/* shm_mode upper byte flags */
# define SHM_DEST 01000 /* segment will be destroyed on last detach */
@@ -85,25 +59,25 @@
struct shminfo
{
- unsigned long int shmmax;
- unsigned long int shmmin;
- unsigned long int shmmni;
- unsigned long int shmseg;
- unsigned long int shmall;
- unsigned long int __glibc_reserved1;
- unsigned long int __glibc_reserved2;
- unsigned long int __glibc_reserved3;
- unsigned long int __glibc_reserved4;
+ __syscall_ulong_t shmmax;
+ __syscall_ulong_t shmmin;
+ __syscall_ulong_t shmmni;
+ __syscall_ulong_t shmseg;
+ __syscall_ulong_t shmall;
+ __syscall_ulong_t __glibc_reserved1;
+ __syscall_ulong_t __glibc_reserved2;
+ __syscall_ulong_t __glibc_reserved3;
+ __syscall_ulong_t __glibc_reserved4;
};
struct shm_info
{
int used_ids;
- unsigned long int shm_tot; /* total allocated shm */
- unsigned long int shm_rss; /* total resident shm */
- unsigned long int shm_swp; /* total swapped shm */
- unsigned long int swap_attempts;
- unsigned long int swap_successes;
+ __syscall_ulong_t shm_tot; /* total allocated shm */
+ __syscall_ulong_t shm_rss; /* total resident shm */
+ __syscall_ulong_t shm_swp; /* total swapped shm */
+ __syscall_ulong_t swap_attempts;
+ __syscall_ulong_t swap_successes;
};
#endif /* __USE_MISC */
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/shmlba.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/shmlba.h
new file mode 100644
index 0000000..1c682a4
--- /dev/null
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/shmlba.h
@@ -0,0 +1,29 @@
+/* Define SHMLBA. Generic version.
+ Copyright (C) 2018-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#ifndef _SYS_SHM_H
+# error "Never use <bits/shmlba.h> directly; include <sys/shm.h> instead."
+#endif
+
+__BEGIN_DECLS
+
+/* Segment low boundary address multiple. */
+#define SHMLBA (__getpagesize ())
+extern int __getpagesize (void) __THROW __attribute__ ((__const__));
+
+__END_DECLS
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/sigaction.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/sigaction.h
index fd29373..19c1d87 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/sigaction.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/sigaction.h
@@ -1,5 +1,5 @@
/* The proper definitions for Linux's sigaction.
- Copyright (C) 1993-2018 Free Software Foundation, Inc.
+ Copyright (C) 1993-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -14,7 +14,10 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
+
+#ifndef _BITS_SIGACTION_H
+#define _BITS_SIGACTION_H 1
#ifndef _SIGNAL_H
# error "Never include <bits/sigaction.h> directly; use <signal.h> instead."
@@ -76,3 +79,5 @@
#define SIG_BLOCK 0 /* Block signals. */
#define SIG_UNBLOCK 1 /* Unblock signals. */
#define SIG_SETMASK 2 /* Set the set of blocked signals. */
+
+#endif
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/sigcontext.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/sigcontext.h
index 4828d59..b153a3c 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/sigcontext.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/sigcontext.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996-2018 Free Software Foundation, Inc.
+/* Copyright (C) 1996-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -13,7 +13,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef _BITS_SIGCONTEXT_H
#define _BITS_SIGCONTEXT_H 1
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/sigevent-consts.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/sigevent-consts.h
index 897b7d2..28589fc 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/sigevent-consts.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/sigevent-consts.h
@@ -1,5 +1,5 @@
/* sigevent constants. Linux version.
- Copyright (C) 1997-2018 Free Software Foundation, Inc.
+ Copyright (C) 1997-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -14,7 +14,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef _BITS_SIGEVENT_CONSTS_H
#define _BITS_SIGEVENT_CONSTS_H 1
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/siginfo-consts.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/siginfo-consts.h
index 193bd9c..4803327 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/siginfo-consts.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/siginfo-consts.h
@@ -1,5 +1,5 @@
/* siginfo constants. Linux version.
- Copyright (C) 1997-2018 Free Software Foundation, Inc.
+ Copyright (C) 1997-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -14,7 +14,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef _BITS_SIGINFO_CONSTS_H
#define _BITS_SIGINFO_CONSTS_H 1
@@ -35,7 +35,9 @@
enum
{
SI_ASYNCNL = -60, /* Sent by asynch name lookup completion. */
- SI_TKILL = -6, /* Sent by tkill. */
+ SI_DETHREAD = -7, /* Sent by execve killing subsidiary
+ threads. */
+ SI_TKILL, /* Sent by tkill. */
SI_SIGIO, /* Sent by queued SIGIO. */
#if __SI_ASYNCIO_AFTER_SIGIO
SI_ASYNCIO, /* Sent by AIO completion. */
@@ -51,6 +53,7 @@
SI_KERNEL = 0x80 /* Send by kernel. */
#define SI_ASYNCNL SI_ASYNCNL
+#define SI_DETHREAD SI_DETHREAD
#define SI_TKILL SI_TKILL
#define SI_SIGIO SI_SIGIO
#define SI_ASYNCIO SI_ASYNCIO
@@ -81,8 +84,10 @@
# define ILL_PRVREG ILL_PRVREG
ILL_COPROC, /* Coprocessor error. */
# define ILL_COPROC ILL_COPROC
- ILL_BADSTK /* Internal stack error. */
+ ILL_BADSTK, /* Internal stack error. */
# define ILL_BADSTK ILL_BADSTK
+ ILL_BADIADDR /* Unimplemented instruction address. */
+# define ILL_BADIADDR ILL_BADIADDR
};
/* `si_code' values for SIGFPE signal. */
@@ -102,8 +107,12 @@
# define FPE_FLTRES FPE_FLTRES
FPE_FLTINV, /* Floating point invalid operation. */
# define FPE_FLTINV FPE_FLTINV
- FPE_FLTSUB /* Subscript out of range. */
+ FPE_FLTSUB, /* Subscript out of range. */
# define FPE_FLTSUB FPE_FLTSUB
+ FPE_FLTUNK = 14, /* Undiagnosed floating-point exception. */
+# define FPE_FLTUNK FPE_FLTUNK
+ FPE_CONDTRAP /* Trap on condition. */
+# define FPE_CONDTRAP FPE_CONDTRAP
};
/* `si_code' values for SIGSEGV signal. */
@@ -115,8 +124,18 @@
# define SEGV_ACCERR SEGV_ACCERR
SEGV_BNDERR, /* Bounds checking failure. */
# define SEGV_BNDERR SEGV_BNDERR
- SEGV_PKUERR /* Protection key checking failure. */
+ SEGV_PKUERR, /* Protection key checking failure. */
# define SEGV_PKUERR SEGV_PKUERR
+ SEGV_ACCADI, /* ADI not enabled for mapped object. */
+# define SEGV_ACCADI SEGV_ACCADI
+ SEGV_ADIDERR, /* Disrupting MCD error. */
+# define SEGV_ADIDERR SEGV_ADIDERR
+ SEGV_ADIPERR, /* Precise MCD exception. */
+# define SEGV_ADIPERR SEGV_ADIPERR
+ SEGV_MTEAERR, /* Asynchronous ARM MTE error. */
+# define SEGV_MTEAERR SEGV_MTEAERR
+ SEGV_MTESERR /* Synchronous ARM MTE exception. */
+# define SEGV_MTESERR SEGV_MTESERR
};
/* `si_code' values for SIGBUS signal. */
@@ -141,8 +160,14 @@
{
TRAP_BRKPT = 1, /* Process breakpoint. */
# define TRAP_BRKPT TRAP_BRKPT
- TRAP_TRACE /* Process trace trap. */
+ TRAP_TRACE, /* Process trace trap. */
# define TRAP_TRACE TRAP_TRACE
+ TRAP_BRANCH, /* Process taken branch trap. */
+# define TRAP_BRANCH TRAP_BRANCH
+ TRAP_HWBKPT, /* Hardware breakpoint/watchpoint. */
+# define TRAP_HWBKPT TRAP_HWBKPT
+ TRAP_UNK /* Undiagnosed trap. */
+# define TRAP_UNK TRAP_UNK
};
# endif
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/signal_ext.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/signal_ext.h
new file mode 100644
index 0000000..ca31214
--- /dev/null
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/signal_ext.h
@@ -0,0 +1,31 @@
+/* System-specific extensions of <signal.h>, Linux version.
+ Copyright (C) 2019-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#ifndef _SIGNAL_H
+# error "Never include <bits/signal_ext.h> directly; use <signal.h> instead."
+#endif
+
+#ifdef __USE_GNU
+
+/* Send SIGNAL to the thread TID in the thread group (process)
+ identified by TGID. This function behaves like kill, but also
+ fails with ESRCH if the specified TID does not belong to the
+ specified thread group. */
+extern int tgkill (__pid_t __tgid, __pid_t __tid, int __signal);
+
+#endif /* __USE_GNU */
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/signalfd.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/signalfd.h
index 9e5271e..0b81ea1 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/signalfd.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/signalfd.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2018 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -13,7 +13,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef _SYS_SIGNALFD_H
# error "Never use <bits/signalfd.h> directly; include <sys/signalfd.h> instead."
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/signum-arch.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/signum-arch.h
new file mode 100644
index 0000000..302294c
--- /dev/null
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/signum-arch.h
@@ -0,0 +1,64 @@
+/* Signal number definitions. Linux version.
+ Copyright (C) 1995-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#ifndef _BITS_SIGNUM_ARCH_H
+#define _BITS_SIGNUM_ARCH_H 1
+
+#ifndef _SIGNAL_H
+#error "Never include <bits/signum-arch.h> directly; use <signal.h> instead."
+#endif
+
+/* Adjustments and additions to the signal number constants for
+ most Linux systems. */
+
+#define SIGSTKFLT 16 /* Stack fault (obsolete). */
+#define SIGPWR 30 /* Power failure imminent. */
+
+/* Historical signals specified by POSIX. */
+#define SIGBUS 7 /* Bus error. */
+#define SIGSYS 31 /* Bad system call. */
+
+/* New(er) POSIX signals (1003.1-2008, 1003.1-2013). */
+#define SIGURG 23 /* Urgent data is available at a socket. */
+#define SIGSTOP 19 /* Stop, unblockable. */
+#define SIGTSTP 20 /* Keyboard stop. */
+#define SIGCONT 18 /* Continue. */
+#define SIGCHLD 17 /* Child terminated or stopped. */
+#define SIGTTIN 21 /* Background read from control terminal. */
+#define SIGTTOU 22 /* Background write to control terminal. */
+#define SIGPOLL 29 /* Pollable event occurred (System V). */
+#define SIGXFSZ 25 /* File size limit exceeded. */
+#define SIGXCPU 24 /* CPU time limit exceeded. */
+#define SIGVTALRM 26 /* Virtual timer expired. */
+#define SIGPROF 27 /* Profiling timer expired. */
+#define SIGUSR1 10 /* User-defined signal 1. */
+#define SIGUSR2 12 /* User-defined signal 2. */
+
+/* Nonstandard signals found in all modern POSIX systems
+ (including both BSD and Linux). */
+#define SIGWINCH 28 /* Window size change (4.3 BSD, Sun). */
+
+/* Archaic names for compatibility. */
+#define SIGIO SIGPOLL /* I/O now possible (4.2 BSD). */
+#define SIGIOT SIGABRT /* IOT instruction, abort() on a PDP-11. */
+#define SIGCLD SIGCHLD /* Old System V name */
+
+#define __SIGRTMIN 32
+#define __SIGRTMAX 64
+
+#endif /* <signal.h> included. */
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/signum-generic.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/signum-generic.h
index 8f1044a..4e481c1 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/signum-generic.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/signum-generic.h
@@ -1,5 +1,5 @@
/* Signal number constants. Generic template.
- Copyright (C) 1991-2018 Free Software Foundation, Inc.
+ Copyright (C) 1991-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -14,7 +14,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef _BITS_SIGNUM_GENERIC_H
#define _BITS_SIGNUM_GENERIC_H 1
@@ -57,31 +57,9 @@
#define SIGQUIT 3 /* Quit. */
#define SIGTRAP 5 /* Trace/breakpoint trap. */
#define SIGKILL 9 /* Killed. */
-#define SIGBUS 10 /* Bus error. */
-#define SIGSYS 12 /* Bad system call. */
#define SIGPIPE 13 /* Broken pipe. */
#define SIGALRM 14 /* Alarm clock. */
-/* New(er) POSIX signals (1003.1-2008, 1003.1-2013). */
-#define SIGURG 16 /* Urgent data is available at a socket. */
-#define SIGSTOP 17 /* Stop, unblockable. */
-#define SIGTSTP 18 /* Keyboard stop. */
-#define SIGCONT 19 /* Continue. */
-#define SIGCHLD 20 /* Child terminated or stopped. */
-#define SIGTTIN 21 /* Background read from control terminal. */
-#define SIGTTOU 22 /* Background write to control terminal. */
-#define SIGPOLL 23 /* Pollable event occurred (System V). */
-#define SIGXCPU 24 /* CPU time limit exceeded. */
-#define SIGXFSZ 25 /* File size limit exceeded. */
-#define SIGVTALRM 26 /* Virtual timer expired. */
-#define SIGPROF 27 /* Profiling timer expired. */
-#define SIGUSR1 30 /* User-defined signal 1. */
-#define SIGUSR2 31 /* User-defined signal 2. */
-
-/* Nonstandard signals found in all modern POSIX systems
- (including both BSD and Linux). */
-#define SIGWINCH 28 /* Window size change (4.3 BSD, Sun). */
-
/* Archaic names for compatibility. */
#define SIGIO SIGPOLL /* I/O now possible (4.2 BSD). */
#define SIGIOT SIGABRT /* IOT instruction, abort() on a PDP-11. */
@@ -93,8 +71,9 @@
but some real-time signals may be used internally by glibc. Do not
use these constants in application code; use SIGRTMIN and SIGRTMAX
(defined in signal.h) instead. */
-#define __SIGRTMIN 32
-#define __SIGRTMAX __SIGRTMIN
+
+/* Include system specific bits. */
+#include <bits/signum-arch.h>
/* Biggest signal number + 1 (including real-time signals). */
#define _NSIG (__SIGRTMAX + 1)
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/signum.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/signum.h
deleted file mode 100644
index 0f70ce5..0000000
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/signum.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/* Signal number definitions. Linux version.
- Copyright (C) 1995-2018 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _BITS_SIGNUM_H
-#define _BITS_SIGNUM_H 1
-
-#ifndef _SIGNAL_H
-#error "Never include <bits/signum.h> directly; use <signal.h> instead."
-#endif
-
-#include <bits/signum-generic.h>
-
-/* Adjustments and additions to the signal number constants for
- most Linux systems. */
-
-#define SIGSTKFLT 16 /* Stack fault (obsolete). */
-#define SIGPWR 30 /* Power failure imminent. */
-
-#undef SIGBUS
-#define SIGBUS 7
-#undef SIGUSR1
-#define SIGUSR1 10
-#undef SIGUSR2
-#define SIGUSR2 12
-#undef SIGCHLD
-#define SIGCHLD 17
-#undef SIGCONT
-#define SIGCONT 18
-#undef SIGSTOP
-#define SIGSTOP 19
-#undef SIGTSTP
-#define SIGTSTP 20
-#undef SIGURG
-#define SIGURG 23
-#undef SIGPOLL
-#define SIGPOLL 29
-#undef SIGSYS
-#define SIGSYS 31
-
-#undef __SIGRTMAX
-#define __SIGRTMAX 64
-
-#endif /* <signal.h> included. */
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/sigstack.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/sigstack.h
index 712f3da..f317cb6 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/sigstack.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/sigstack.h
@@ -1,5 +1,5 @@
/* sigstack, sigaltstack definitions.
- Copyright (C) 2015-2018 Free Software Foundation, Inc.
+ Copyright (C) 2015-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -14,7 +14,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef _BITS_SIGSTACK_H
#define _BITS_SIGSTACK_H 1
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/sigthread.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/sigthread.h
index b1fb615..8779a4b 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/sigthread.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/sigthread.h
@@ -1,5 +1,5 @@
/* Signal handling function for threaded programs.
- Copyright (C) 1998-2018 Free Software Foundation, Inc.
+ Copyright (C) 1998-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -14,7 +14,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; see the file COPYING.LIB. If
- not, see <http://www.gnu.org/licenses/>. */
+ not, see <https://www.gnu.org/licenses/>. */
#ifndef _BITS_SIGTHREAD_H
#define _BITS_SIGTHREAD_H 1
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/sockaddr.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/sockaddr.h
index edf36c2..90c5bfb 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/sockaddr.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/sockaddr.h
@@ -1,5 +1,5 @@
/* Definition of struct sockaddr_* common members and sizes, generic version.
- Copyright (C) 1995-2018 Free Software Foundation, Inc.
+ Copyright (C) 1995-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -14,7 +14,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
/*
* Never include this file directly; use <sys/socket.h> instead.
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/socket-constants.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/socket-constants.h
new file mode 100644
index 0000000..84f7a33
--- /dev/null
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/socket-constants.h
@@ -0,0 +1,50 @@
+/* Socket constants which vary among Linux architectures.
+ Copyright (C) 2019-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#ifndef _SYS_SOCKET_H
+# error "Never include <bits/socket-constants.h> directly; use <sys/socket.h> instead."
+#endif
+
+#include <bits/timesize.h>
+
+#define SOL_SOCKET 1
+#define SO_ACCEPTCONN 30
+#define SO_BROADCAST 6
+#define SO_DONTROUTE 5
+#define SO_ERROR 4
+#define SO_KEEPALIVE 9
+#define SO_LINGER 13
+#define SO_OOBINLINE 10
+#define SO_RCVBUF 8
+#define SO_RCVLOWAT 18
+#if (__TIMESIZE == 64 && __WORDSIZE == 32 \
+ && (!defined __SYSCALL_WORDSIZE || __SYSCALL_WORDSIZE == 32))
+# define SO_RCVTIMEO 66
+#else
+# define SO_RCVTIMEO 20
+#endif
+#define SO_REUSEADDR 2
+#define SO_SNDBUF 7
+#define SO_SNDLOWAT 19
+#if (__TIMESIZE == 64 && __WORDSIZE == 32 \
+ && (!defined __SYSCALL_WORDSIZE || __SYSCALL_WORDSIZE == 32))
+# define SO_SNDTIMEO 67
+#else
+# define SO_SNDTIMEO 21
+#endif
+#define SO_TYPE 3
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/socket.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/socket.h
index fa409f0..a011a8c 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/socket.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/socket.h
@@ -1,5 +1,5 @@
/* System-specific socket constants and types. Linux version.
- Copyright (C) 1991-2018 Free Software Foundation, Inc.
+ Copyright (C) 1991-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -14,7 +14,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef __BITS_SOCKET_H
#define __BITS_SOCKET_H
@@ -85,7 +85,8 @@
#define PF_KCM 41 /* Kernel Connection Multiplexor. */
#define PF_QIPCRTR 42 /* Qualcomm IPC Router. */
#define PF_SMC 43 /* SMC sockets. */
-#define PF_MAX 44 /* For now.. */
+#define PF_XDP 44 /* XDP sockets. */
+#define PF_MAX 45 /* For now.. */
/* Address families. */
#define AF_UNSPEC PF_UNSPEC
@@ -135,6 +136,7 @@
#define AF_KCM PF_KCM
#define AF_QIPCRTR PF_QIPCRTR
#define AF_SMC PF_SMC
+#define AF_XDP PF_XDP
#define AF_MAX PF_MAX
/* Socket level values. Others are defined in the appropriate headers.
@@ -164,9 +166,10 @@
#define SOL_NFC 280
#define SOL_KCM 281
#define SOL_TLS 282
+#define SOL_XDP 283
/* Maximum queue length specifiable by listen. */
-#define SOMAXCONN 128
+#define SOMAXCONN 4096
/* Get the definition of the macro to define the common sockaddr members. */
#include <bits/sockaddr.h>
@@ -346,98 +349,12 @@
};
#endif
-/* Ugly workaround for unclean kernel headers. */
-#ifndef __USE_MISC
-# ifndef FIOGETOWN
-# define __SYS_SOCKET_H_undef_FIOGETOWN
-# endif
-# ifndef FIOSETOWN
-# define __SYS_SOCKET_H_undef_FIOSETOWN
-# endif
-# ifndef SIOCATMARK
-# define __SYS_SOCKET_H_undef_SIOCATMARK
-# endif
-# ifndef SIOCGPGRP
-# define __SYS_SOCKET_H_undef_SIOCGPGRP
-# endif
-# ifndef SIOCGSTAMP
-# define __SYS_SOCKET_H_undef_SIOCGSTAMP
-# endif
-# ifndef SIOCGSTAMPNS
-# define __SYS_SOCKET_H_undef_SIOCGSTAMPNS
-# endif
-# ifndef SIOCSPGRP
-# define __SYS_SOCKET_H_undef_SIOCSPGRP
-# endif
-#endif
-#ifndef IOCSIZE_MASK
-# define __SYS_SOCKET_H_undef_IOCSIZE_MASK
-#endif
-#ifndef IOCSIZE_SHIFT
-# define __SYS_SOCKET_H_undef_IOCSIZE_SHIFT
-#endif
-#ifndef IOC_IN
-# define __SYS_SOCKET_H_undef_IOC_IN
-#endif
-#ifndef IOC_INOUT
-# define __SYS_SOCKET_H_undef_IOC_INOUT
-#endif
-#ifndef IOC_OUT
-# define __SYS_SOCKET_H_undef_IOC_OUT
-#endif
-
-/* Get socket manipulation related informations from kernel headers. */
-#include <asm/socket.h>
-
-#ifndef __USE_MISC
-# ifdef __SYS_SOCKET_H_undef_FIOGETOWN
-# undef __SYS_SOCKET_H_undef_FIOGETOWN
-# undef FIOGETOWN
-# endif
-# ifdef __SYS_SOCKET_H_undef_FIOSETOWN
-# undef __SYS_SOCKET_H_undef_FIOSETOWN
-# undef FIOSETOWN
-# endif
-# ifdef __SYS_SOCKET_H_undef_SIOCATMARK
-# undef __SYS_SOCKET_H_undef_SIOCATMARK
-# undef SIOCATMARK
-# endif
-# ifdef __SYS_SOCKET_H_undef_SIOCGPGRP
-# undef __SYS_SOCKET_H_undef_SIOCGPGRP
-# undef SIOCGPGRP
-# endif
-# ifdef __SYS_SOCKET_H_undef_SIOCGSTAMP
-# undef __SYS_SOCKET_H_undef_SIOCGSTAMP
-# undef SIOCGSTAMP
-# endif
-# ifdef __SYS_SOCKET_H_undef_SIOCGSTAMPNS
-# undef __SYS_SOCKET_H_undef_SIOCGSTAMPNS
-# undef SIOCGSTAMPNS
-# endif
-# ifdef __SYS_SOCKET_H_undef_SIOCSPGRP
-# undef __SYS_SOCKET_H_undef_SIOCSPGRP
-# undef SIOCSPGRP
-# endif
-#endif
-#ifdef __SYS_SOCKET_H_undef_IOCSIZE_MASK
-# undef __SYS_SOCKET_H_undef_IOCSIZE_MASK
-# undef IOCSIZE_MASK
-#endif
-#ifdef __SYS_SOCKET_H_undef_IOCSIZE_SHIFT
-# undef __SYS_SOCKET_H_undef_IOCSIZE_SHIFT
-# undef IOCSIZE_SHIFT
-#endif
-#ifdef __SYS_SOCKET_H_undef_IOC_IN
-# undef __SYS_SOCKET_H_undef_IOC_IN
-# undef IOC_IN
-#endif
-#ifdef __SYS_SOCKET_H_undef_IOC_INOUT
-# undef __SYS_SOCKET_H_undef_IOC_INOUT
-# undef IOC_INOUT
-#endif
-#ifdef __SYS_SOCKET_H_undef_IOC_OUT
-# undef __SYS_SOCKET_H_undef_IOC_OUT
-# undef IOC_OUT
+#ifdef __USE_MISC
+# include <bits/types/time_t.h>
+# include <asm/socket.h>
+#else
+# define SO_DEBUG 1
+# include <bits/socket-constants.h>
#endif
/* Structure used to manipulate the SO_LINGER option. */
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/socket2.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/socket2.h
index f2063dd..797449d 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/socket2.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/socket2.h
@@ -1,5 +1,5 @@
/* Checking macros for socket functions.
- Copyright (C) 2005-2018 Free Software Foundation, Inc.
+ Copyright (C) 2005-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -14,7 +14,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef _SYS_SOCKET_H
# error "Never include <bits/socket2.h> directly; use <sys/socket.h> instead."
@@ -33,8 +33,8 @@
"recv called with bigger length than "
"size of destination buffer")
{
- if (__FORTIFY_CALL_CHK && __bos0 (__buf) != (size_t) -1)
- return __recv_chk (__fd, __buf, __n, __bos0 (__buf), __flags);
+ if (__FORTIFY_CALL_CHK && __glibc_objsize0 (__buf) != (size_t) -1)
+ return __recv_chk (__fd, __buf, __n, __glibc_objsize0 (__buf), __flags);
return __recv_alias (__fd, __buf, __n, __flags);
}
__FORTIFY_FUNCTION_END
@@ -57,9 +57,9 @@
"recvfrom called with bigger length "
"than size of destination buffer")
{
- if (__FORTIFY_CALL_CHK && __bos0 (__buf) != (size_t) -1)
- return __recvfrom_chk (__fd, __buf, __n, __bos0 (__buf), __flags, __addr,
- __addr_len);
+ if (__FORTIFY_CALL_CHK && __glibc_objsize0 (__buf) != (size_t) -1)
+ return __recvfrom_chk (__fd, __buf, __n, __glibc_objsize0 (__buf), __flags,
+ __addr, __addr_len);
return __recvfrom_alias (__fd, __buf, __n, __flags, __addr, __addr_len);
}
__FORTIFY_FUNCTION_END
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/socket_type.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/socket_type.h
index 035394a..9cb243c 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/socket_type.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/socket_type.h
@@ -1,5 +1,5 @@
/* Define enum __socket_type for generic Linux.
- Copyright (C) 1991-2018 Free Software Foundation, Inc.
+ Copyright (C) 1991-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -14,7 +14,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef _SYS_SOCKET_H
# error "Never include <bits/socket_type.h> directly; use <sys/socket.h> instead."
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/ss_flags.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/ss_flags.h
index f7fb9d0..8dc676d 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/ss_flags.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/ss_flags.h
@@ -1,5 +1,5 @@
/* ss_flags values for stack_t. Linux version.
- Copyright (C) 1998-2018 Free Software Foundation, Inc.
+ Copyright (C) 1998-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -14,7 +14,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef _BITS_SS_FLAGS_H
#define _BITS_SS_FLAGS_H 1
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/stab.def b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/stab.def
index ab44580..5c72900 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/stab.def
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/stab.def
@@ -1,5 +1,5 @@
/* Table of DBX symbol codes for the GNU system.
- Copyright (C) 1988, 1997-2018 Free Software Foundation, Inc.
+ Copyright (C) 1988, 1997-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -14,7 +14,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
/* This contains contribution from Cygnus Support. */
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/stat.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/stat.h
index 08e86ef..31868c8 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/stat.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/stat.h
@@ -1,6 +1,5 @@
-/* Copyright (C) 2011-2018 Free Software Foundation, Inc.
+/* Copyright (C) 1992-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
@@ -13,8 +12,8 @@
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
#if !defined _SYS_STAT_H && !defined _FCNTL_H
# error "Never include <bits/stat.h> directly; use <sys/stat.h> instead."
@@ -23,117 +22,7 @@
#ifndef _BITS_STAT_H
#define _BITS_STAT_H 1
-#include <endian.h>
-#include <bits/wordsize.h>
-
-/* 64-bit libc uses the kernel's 'struct stat', accessed via the
- stat() syscall; 32-bit libc uses the kernel's 'struct stat64'
- and accesses it via the stat64() syscall. All the various
- APIs offered by libc use the kernel shape for their struct stat
- structure; the only difference is that 32-bit programs not
- using __USE_FILE_OFFSET64 only see the low 32 bits of some
- of the fields (specifically st_ino, st_size, and st_blocks). */
-#define _STAT_VER_KERNEL 0
-#define _STAT_VER_LINUX 0
-#define _STAT_VER _STAT_VER_KERNEL
-
-/* Versions of the `xmknod' interface. */
-#define _MKNOD_VER_LINUX 0
-
-#if defined __USE_FILE_OFFSET64
-# define __field64(type, type64, name) type64 name
-#elif __WORDSIZE == 64
-# define __field64(type, type64, name) type name
-#elif __BYTE_ORDER == __LITTLE_ENDIAN
-# define __field64(type, type64, name) \
- type name __attribute__((__aligned__ (__alignof__ (type64)))); int __##name##_pad
-#else
-# define __field64(type, type64, name) \
- int __##name##_pad __attribute__((__aligned__ (__alignof__ (type64)))); type name
-#endif
-
-struct stat
- {
- __dev_t st_dev; /* Device. */
- __field64(__ino_t, __ino64_t, st_ino); /* File serial number. */
- __mode_t st_mode; /* File mode. */
- __nlink_t st_nlink; /* Link count. */
- __uid_t st_uid; /* User ID of the file's owner. */
- __gid_t st_gid; /* Group ID of the file's group.*/
- __dev_t st_rdev; /* Device number, if device. */
- __dev_t __pad1;
- __field64(__off_t, __off64_t, st_size); /* Size of file, in bytes. */
- __blksize_t st_blksize; /* Optimal block size for I/O. */
- int __pad2;
- __field64(__blkcnt_t, __blkcnt64_t, st_blocks); /* 512-byte blocks */
-#ifdef __USE_XOPEN2K8
- /* Nanosecond resolution timestamps are stored in a format
- equivalent to 'struct timespec'. This is the type used
- whenever possible but the Unix namespace rules do not allow the
- identifier 'timespec' to appear in the <sys/stat.h> header.
- Therefore we have to handle the use of this header in strictly
- standard-compliant sources special. */
- struct timespec st_atim; /* Time of last access. */
- struct timespec st_mtim; /* Time of last modification. */
- struct timespec st_ctim; /* Time of last status change. */
-# define st_atime st_atim.tv_sec /* Backward compatibility. */
-# define st_mtime st_mtim.tv_sec
-# define st_ctime st_ctim.tv_sec
-#else
- __time_t st_atime; /* Time of last access. */
- unsigned long int st_atimensec; /* Nscecs of last access. */
- __time_t st_mtime; /* Time of last modification. */
- unsigned long int st_mtimensec; /* Nsecs of last modification. */
- __time_t st_ctime; /* Time of last status change. */
- unsigned long int st_ctimensec; /* Nsecs of last status change. */
-#endif
- int __glibc_reserved[2];
- };
-
-#undef __field64
-
-#ifdef __USE_LARGEFILE64
-struct stat64
- {
- __dev_t st_dev; /* Device. */
- __ino64_t st_ino; /* File serial number. */
- __mode_t st_mode; /* File mode. */
- __nlink_t st_nlink; /* Link count. */
- __uid_t st_uid; /* User ID of the file's owner. */
- __gid_t st_gid; /* Group ID of the file's group.*/
- __dev_t st_rdev; /* Device number, if device. */
- __dev_t __pad1;
- __off64_t st_size; /* Size of file, in bytes. */
- __blksize_t st_blksize; /* Optimal block size for I/O. */
- int __pad2;
- __blkcnt64_t st_blocks; /* Nr. 512-byte blocks allocated. */
-#ifdef __USE_XOPEN2K8
- /* Nanosecond resolution timestamps are stored in a format
- equivalent to 'struct timespec'. This is the type used
- whenever possible but the Unix namespace rules do not allow the
- identifier 'timespec' to appear in the <sys/stat.h> header.
- Therefore we have to handle the use of this header in strictly
- standard-compliant sources special. */
- struct timespec st_atim; /* Time of last access. */
- struct timespec st_mtim; /* Time of last modification. */
- struct timespec st_ctim; /* Time of last status change. */
-#else
- __time_t st_atime; /* Time of last access. */
- unsigned long int st_atimensec; /* Nscecs of last access. */
- __time_t st_mtime; /* Time of last modification. */
- unsigned long int st_mtimensec; /* Nsecs of last modification. */
- __time_t st_ctime; /* Time of last status change. */
- unsigned long int st_ctimensec; /* Nsecs of last status change. */
-#endif
- int __glibc_reserved[2];
- };
-#endif
-
-/* Tell code we have these members. */
-#define _STATBUF_ST_BLKSIZE
-#define _STATBUF_ST_RDEV
-/* Nanosecond resolution time values are supported. */
-#define _STATBUF_ST_NSEC
+#include <bits/struct_stat.h>
/* Encoding of the file mode. */
@@ -168,4 +57,4 @@
# define UTIME_OMIT ((1l << 30) - 2l)
#endif
-#endif /* bits/stat.h */
+#endif /* bits/stat.h */
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/statfs.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/statfs.h
index 846dd5f..bef18a3 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/statfs.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/statfs.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2011-2018 Free Software Foundation, Inc.
+/* Copyright (C) 2011-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
@@ -14,13 +14,13 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef _SYS_STATFS_H
# error "Never include <bits/statfs.h> directly; use <sys/statfs.h> instead."
#endif
-#include <endian.h>
+#include <bits/endian.h>
#include <bits/types.h>
#include <bits/wordsize.h>
@@ -34,7 +34,7 @@
#if defined __USE_FILE_OFFSET64
# define __field64(type, type64, name) type64 name
-#elif __WORDSIZE == 64
+#elif __WORDSIZE == 64 || __STATFS_MATCHES_STATFS64
# define __field64(type, type64, name) type name
#elif __BYTE_ORDER == __LITTLE_ENDIAN
# define __field64(type, type64, name) \
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/statvfs.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/statvfs.h
index 0d95901..8d5db12 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/statvfs.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/statvfs.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997-2018 Free Software Foundation, Inc.
+/* Copyright (C) 1997-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -13,7 +13,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef _SYS_STATVFS_H
# error "Never include <bits/statvfs.h> directly; use <sys/statvfs.h> instead."
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/statx-generic.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/statx-generic.h
new file mode 100644
index 0000000..f8b0f4d
--- /dev/null
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/statx-generic.h
@@ -0,0 +1,64 @@
+/* Generic statx-related definitions and declarations.
+ Copyright (C) 2018-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+/* This interface is based on <linux/stat.h> in Linux. */
+
+#ifndef _SYS_STAT_H
+# error Never include <bits/statx-generic.h> directly, include <sys/stat.h> instead.
+#endif
+
+#include <bits/types/struct_statx_timestamp.h>
+#include <bits/types/struct_statx.h>
+
+#ifndef STATX_TYPE
+# define STATX_TYPE 0x0001U
+# define STATX_MODE 0x0002U
+# define STATX_NLINK 0x0004U
+# define STATX_UID 0x0008U
+# define STATX_GID 0x0010U
+# define STATX_ATIME 0x0020U
+# define STATX_MTIME 0x0040U
+# define STATX_CTIME 0x0080U
+# define STATX_INO 0x0100U
+# define STATX_SIZE 0x0200U
+# define STATX_BLOCKS 0x0400U
+# define STATX_BASIC_STATS 0x07ffU
+# define STATX_ALL 0x0fffU
+# define STATX_BTIME 0x0800U
+# define STATX_MNT_ID 0x1000U
+# define STATX__RESERVED 0x80000000U
+
+# define STATX_ATTR_COMPRESSED 0x0004
+# define STATX_ATTR_IMMUTABLE 0x0010
+# define STATX_ATTR_APPEND 0x0020
+# define STATX_ATTR_NODUMP 0x0040
+# define STATX_ATTR_ENCRYPTED 0x0800
+# define STATX_ATTR_AUTOMOUNT 0x1000
+# define STATX_ATTR_MOUNT_ROOT 0x2000
+# define STATX_ATTR_VERITY 0x100000
+# define STATX_ATTR_DAX 0x200000
+#endif /* !STATX_TYPE */
+
+__BEGIN_DECLS
+
+/* Fill *BUF with information about PATH in DIRFD. */
+int statx (int __dirfd, const char *__restrict __path, int __flags,
+ unsigned int __mask, struct statx *__restrict __buf)
+ __THROW __nonnull ((2, 5));
+
+__END_DECLS
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/statx.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/statx.h
new file mode 100644
index 0000000..baa37d1
--- /dev/null
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/statx.h
@@ -0,0 +1,39 @@
+/* statx-related definitions and declarations. Linux version.
+ Copyright (C) 2018-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+/* This interface is based on <linux/stat.h> in Linux. */
+
+#ifndef _SYS_STAT_H
+# error Never include <bits/statx.h> directly, include <sys/stat.h> instead.
+#endif
+
+/* Use the Linux kernel header if available. */
+
+/* Use "" to work around incorrect macro expansion of the
+ __has_include argument (GCC PR 80005). */
+#ifdef __has_include
+# if __has_include ("linux/stat.h")
+# include "linux/stat.h"
+# ifdef STATX_TYPE
+# define __statx_timestamp_defined 1
+# define __statx_defined 1
+# endif
+# endif
+#endif
+
+#include <bits/statx-generic.h>
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/stdint-intn.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/stdint-intn.h
index de1ffcc..8a1cf5d 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/stdint-intn.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/stdint-intn.h
@@ -1,5 +1,5 @@
/* Define intN_t types.
- Copyright (C) 2017-2018 Free Software Foundation, Inc.
+ Copyright (C) 2017-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -14,7 +14,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef _BITS_STDINT_INTN_H
#define _BITS_STDINT_INTN_H 1
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/stdint-uintn.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/stdint-uintn.h
index 350b65b..a4fca46 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/stdint-uintn.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/stdint-uintn.h
@@ -1,5 +1,5 @@
/* Define uintN_t types.
- Copyright (C) 2017-2018 Free Software Foundation, Inc.
+ Copyright (C) 2017-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -14,7 +14,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef _BITS_STDINT_UINTN_H
#define _BITS_STDINT_UINTN_H 1
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/stdio-ldbl.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/stdio-ldbl.h
index 99d9bcc..067a2fb 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/stdio-ldbl.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/stdio-ldbl.h
@@ -1,5 +1,5 @@
/* -mlong-double-64 compatibility mode for stdio functions.
- Copyright (C) 2006-2018 Free Software Foundation, Inc.
+ Copyright (C) 2006-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -14,7 +14,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef _STDIO_H
# error "Never include <bits/stdio-ldbl.h> directly; use <stdio.h> instead."
@@ -26,12 +26,18 @@
__LDBL_REDIR_DECL (vfprintf)
__LDBL_REDIR_DECL (vprintf)
__LDBL_REDIR_DECL (vsprintf)
-#if defined __USE_ISOC99 && !defined __USE_GNU \
- && !defined __REDIRECT \
- && (defined __STRICT_ANSI__ || defined __USE_XOPEN2K)
+#if !__GLIBC_USE (DEPRECATED_SCANF)
+# if defined __LDBL_COMPAT
__LDBL_REDIR1_DECL (fscanf, __nldbl___isoc99_fscanf)
__LDBL_REDIR1_DECL (scanf, __nldbl___isoc99_scanf)
__LDBL_REDIR1_DECL (sscanf, __nldbl___isoc99_sscanf)
+# elif __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
+__LDBL_REDIR1_DECL (fscanf, __isoc99_fscanfieee128)
+__LDBL_REDIR1_DECL (scanf, __isoc99_scanfieee128)
+__LDBL_REDIR1_DECL (sscanf, __isoc99_sscanfieee128)
+# else
+# error bits/stdlib-ldbl.h included when no ldbl redirections are required.
+# endif
#else
__LDBL_REDIR_DECL (fscanf)
__LDBL_REDIR_DECL (scanf)
@@ -44,11 +50,18 @@
#endif
#ifdef __USE_ISOC99
-# if !defined __USE_GNU && !defined __REDIRECT \
- && (defined __STRICT_ANSI__ || defined __USE_XOPEN2K)
+# if !__GLIBC_USE (DEPRECATED_SCANF)
+# if defined __LDBL_COMPAT
__LDBL_REDIR1_DECL (vfscanf, __nldbl___isoc99_vfscanf)
__LDBL_REDIR1_DECL (vscanf, __nldbl___isoc99_vscanf)
__LDBL_REDIR1_DECL (vsscanf, __nldbl___isoc99_vsscanf)
+# elif __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
+__LDBL_REDIR1_DECL (vfscanf, __isoc99_vfscanfieee128)
+__LDBL_REDIR1_DECL (vscanf, __isoc99_vscanfieee128)
+__LDBL_REDIR1_DECL (vsscanf, __isoc99_vsscanfieee128)
+# else
+# error bits/stdlib-ldbl.h included when no ldbl redirections are required.
+# endif
# else
__LDBL_REDIR_DECL (vfscanf)
__LDBL_REDIR_DECL (vsscanf)
@@ -63,33 +76,33 @@
#ifdef __USE_GNU
__LDBL_REDIR_DECL (vasprintf)
-__LDBL_REDIR_DECL (__asprintf)
+__LDBL_REDIR2_DECL (asprintf)
__LDBL_REDIR_DECL (asprintf)
__LDBL_REDIR_DECL (obstack_printf)
__LDBL_REDIR_DECL (obstack_vprintf)
#endif
#if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function
-__LDBL_REDIR_DECL (__sprintf_chk)
-__LDBL_REDIR_DECL (__vsprintf_chk)
+__LDBL_REDIR2_DECL (sprintf_chk)
+__LDBL_REDIR2_DECL (vsprintf_chk)
# if defined __USE_ISOC99 || defined __USE_UNIX98
-__LDBL_REDIR_DECL (__snprintf_chk)
-__LDBL_REDIR_DECL (__vsnprintf_chk)
+__LDBL_REDIR2_DECL (snprintf_chk)
+__LDBL_REDIR2_DECL (vsnprintf_chk)
# endif
# if __USE_FORTIFY_LEVEL > 1
-__LDBL_REDIR_DECL (__fprintf_chk)
-__LDBL_REDIR_DECL (__printf_chk)
-__LDBL_REDIR_DECL (__vfprintf_chk)
-__LDBL_REDIR_DECL (__vprintf_chk)
+__LDBL_REDIR2_DECL (fprintf_chk)
+__LDBL_REDIR2_DECL (printf_chk)
+__LDBL_REDIR2_DECL (vfprintf_chk)
+__LDBL_REDIR2_DECL (vprintf_chk)
# ifdef __USE_XOPEN2K8
-__LDBL_REDIR_DECL (__dprintf_chk)
-__LDBL_REDIR_DECL (__vdprintf_chk)
+__LDBL_REDIR2_DECL (dprintf_chk)
+__LDBL_REDIR2_DECL (vdprintf_chk)
# endif
# ifdef __USE_GNU
-__LDBL_REDIR_DECL (__asprintf_chk)
-__LDBL_REDIR_DECL (__vasprintf_chk)
-__LDBL_REDIR_DECL (__obstack_printf_chk)
-__LDBL_REDIR_DECL (__obstack_vprintf_chk)
+__LDBL_REDIR2_DECL (asprintf_chk)
+__LDBL_REDIR2_DECL (vasprintf_chk)
+__LDBL_REDIR2_DECL (obstack_printf_chk)
+__LDBL_REDIR2_DECL (obstack_vprintf_chk)
# endif
# endif
#endif
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/stdio.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/stdio.h
index d287083..b56fcb0 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/stdio.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/stdio.h
@@ -1,5 +1,5 @@
/* Optimizing macros and inline functions for stdio functions.
- Copyright (C) 1998-2018 Free Software Foundation, Inc.
+ Copyright (C) 1998-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -14,7 +14,10 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
+
+#ifndef _BITS_STDIO_H
+#define _BITS_STDIO_H 1
#ifndef _STDIO_H
# error "Never include <bits/stdio.h> directly; use <stdio.h> instead."
@@ -28,12 +31,12 @@
#ifdef __USE_EXTERN_INLINES
-/* For -D_FORTIFY_SOURCE{,=2} bits/stdio2.h will define a different
+/* For -D_FORTIFY_SOURCE{,=2,=3} bits/stdio2.h will define a different
inline. */
# if !(__USE_FORTIFY_LEVEL > 0 && defined __fortify_function)
/* Write formatted output to stdout from argument list ARG. */
__STDIO_INLINE int
-vprintf (const char *__restrict __fmt, _G_va_list __arg)
+vprintf (const char *__restrict __fmt, __gnuc_va_list __arg)
{
return vfprintf (stdout, __fmt, __arg);
}
@@ -43,7 +46,7 @@
__STDIO_INLINE int
getchar (void)
{
- return _IO_getc (stdin);
+ return getc (stdin);
}
@@ -52,24 +55,24 @@
__STDIO_INLINE int
fgetc_unlocked (FILE *__fp)
{
- return _IO_getc_unlocked (__fp);
+ return __getc_unlocked_body (__fp);
}
# endif /* misc */
-# ifdef __USE_POSIX
+# ifdef __USE_POSIX199506
/* This is defined in POSIX.1:1996. */
__STDIO_INLINE int
getc_unlocked (FILE *__fp)
{
- return _IO_getc_unlocked (__fp);
+ return __getc_unlocked_body (__fp);
}
/* This is defined in POSIX.1:1996. */
__STDIO_INLINE int
getchar_unlocked (void)
{
- return _IO_getc_unlocked (stdin);
+ return __getc_unlocked_body (stdin);
}
# endif /* POSIX */
@@ -78,7 +81,7 @@
__STDIO_INLINE int
putchar (int __c)
{
- return _IO_putc (__c, stdout);
+ return putc (__c, stdout);
}
@@ -87,31 +90,31 @@
__STDIO_INLINE int
fputc_unlocked (int __c, FILE *__stream)
{
- return _IO_putc_unlocked (__c, __stream);
+ return __putc_unlocked_body (__c, __stream);
}
# endif /* misc */
-# ifdef __USE_POSIX
+# ifdef __USE_POSIX199506
/* This is defined in POSIX.1:1996. */
__STDIO_INLINE int
putc_unlocked (int __c, FILE *__stream)
{
- return _IO_putc_unlocked (__c, __stream);
+ return __putc_unlocked_body (__c, __stream);
}
/* This is defined in POSIX.1:1996. */
__STDIO_INLINE int
putchar_unlocked (int __c)
{
- return _IO_putc_unlocked (__c, stdout);
+ return __putc_unlocked_body (__c, stdout);
}
# endif /* POSIX */
# ifdef __USE_GNU
/* Like `getdelim', but reads up to a newline. */
-__STDIO_INLINE _IO_ssize_t
+__STDIO_INLINE __ssize_t
getline (char **__lineptr, size_t *__n, FILE *__stream)
{
return __getdelim (__lineptr, __n, '\n', __stream);
@@ -124,14 +127,14 @@
__STDIO_INLINE int
__NTH (feof_unlocked (FILE *__stream))
{
- return _IO_feof_unlocked (__stream);
+ return __feof_unlocked_body (__stream);
}
/* Faster versions when locking is not required. */
__STDIO_INLINE int
__NTH (ferror_unlocked (FILE *__stream))
{
- return _IO_ferror_unlocked (__stream);
+ return __ferror_unlocked_body (__stream);
}
# endif /* misc */
@@ -151,7 +154,7 @@
for (__cnt = (size_t) (size) * (size_t) (n); \
__cnt > 0; --__cnt) \
{ \
- int __c = _IO_getc_unlocked (__stream); \
+ int __c = getc_unlocked (__stream); \
if (__c == EOF) \
break; \
*__ptr++ = __c; \
@@ -174,7 +177,7 @@
size_t __cnt; \
for (__cnt = (size_t) (size) * (size_t) (n); \
__cnt > 0; --__cnt) \
- if (_IO_putc_unlocked (*__ptr++, __stream) == EOF) \
+ if (putc_unlocked (*__ptr++, __stream) == EOF) \
break; \
((size_t) (size) * (size_t) (n) - __cnt) \
/ (size_t) (size); }) \
@@ -188,3 +191,5 @@
/* Define helper macro. */
#undef __STDIO_INLINE
+
+#endif /* bits/stdio.h. */
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/stdio2.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/stdio2.h
index 6dd04fc..d5d3570 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/stdio2.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/stdio2.h
@@ -1,5 +1,5 @@
/* Checking macros for stdio functions.
- Copyright (C) 2004-2018 Free Software Foundation, Inc.
+ Copyright (C) 2004-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -14,17 +14,22 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
+
+#ifndef _BITS_STDIO2_H
+#define _BITS_STDIO2_H 1
#ifndef _STDIO_H
# error "Never include <bits/stdio2.h> directly; use <stdio.h> instead."
#endif
extern int __sprintf_chk (char *__restrict __s, int __flag, size_t __slen,
- const char *__restrict __format, ...) __THROW;
+ const char *__restrict __format, ...) __THROW
+ __attr_access ((__write_only__, 1, 3));
extern int __vsprintf_chk (char *__restrict __s, int __flag, size_t __slen,
const char *__restrict __format,
- _G_va_list __ap) __THROW;
+ __gnuc_va_list __ap) __THROW
+ __attr_access ((__write_only__, 1, 3));
#define __mul_may_overflow(size, n) \
((size | n) >= (((size_t)1) << (8 * sizeof (size_t) / 2)))
@@ -39,33 +44,34 @@
__FORTIFY_INIT_ARG_PACK(__fmt);
int __result = __FORTIFY_CALL_VA_BUILTIN (sprintf, __s,
__USE_FORTIFY_LEVEL - 1,
- __bos (__s), __fmt,
+ __glibc_objsize (__s), __fmt,
__FORTIFY_ARG_PACK);
__FORTIFY_FREE_ARG_PACK();
return __result;
}
#elif !defined __cplusplus
# define sprintf(str, ...) \
- __builtin___sprintf_chk (str, __USE_FORTIFY_LEVEL - 1, __bos (str), \
- __VA_ARGS__)
+ __builtin___sprintf_chk (str, __USE_FORTIFY_LEVEL - 1, \
+ __glibc_objsize (str), __VA_ARGS__)
#endif
__fortify_potential_overload int
__NTH (vsprintf (char *__restrict const __clang_pass_object_size __s,
- const char *__restrict __fmt, _G_va_list __ap))
+ const char *__restrict __fmt, __gnuc_va_list __ap))
{
return __builtin___vsprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
- __bos (__s), __fmt, __ap);
+ __glibc_objsize (__s), __fmt, __ap);
}
#if defined __USE_ISOC99 || defined __USE_UNIX98
extern int __snprintf_chk (char *__restrict __s, size_t __n, int __flag,
size_t __slen, const char *__restrict __format,
- ...) __THROW;
+ ...) __THROW
+ __attr_access ((__write_only__, 1, 2));
extern int __vsnprintf_chk (char *__restrict __s, size_t __n, int __flag,
size_t __slen, const char *__restrict __format,
- _G_va_list __ap) __THROW;
+ __gnuc_va_list __ap) __THROW;
# ifdef __FORTIFY_ARG_PACK_OK
__fortify_potential_overload __attribute__ ((__format__ (__printf__, 3, 4))) int
@@ -78,26 +84,26 @@
__FORTIFY_INIT_ARG_PACK(__fmt);
int __result = __FORTIFY_CALL_VA_BUILTIN (snprintf, __s, __n,
__USE_FORTIFY_LEVEL - 1,
- __bos (__s), __fmt,
+ __glibc_objsize (__s), __fmt,
__FORTIFY_ARG_PACK);
__FORTIFY_FREE_ARG_PACK();
return __result;
}
# elif !defined __cplusplus
# define snprintf(str, len, ...) \
- __builtin___snprintf_chk (str, len, __USE_FORTIFY_LEVEL - 1, __bos (str), \
- __VA_ARGS__)
+ __builtin___snprintf_chk (str, len, __USE_FORTIFY_LEVEL - 1, \
+ __glibc_objsize (str), __VA_ARGS__)
# endif
__fortify_potential_overload __attribute__ ((__format__ (__printf__, 3, 0))) int
__NTH (vsnprintf (char *__restrict const __clang_pass_object_size __s,
- size_t __n, const char *__restrict __fmt, _G_va_list __ap))
+ size_t __n, const char *__restrict __fmt, __gnuc_va_list __ap))
__clang_warning_if (__bos_static_lt (__n, __s),
"call to vsnprintf may overflow the destination "
"buffer")
{
return __builtin___vsnprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
- __bos (__s), __fmt, __ap);
+ __glibc_objsize (__s), __fmt, __ap);
}
#endif
@@ -108,9 +114,9 @@
const char *__restrict __format, ...);
extern int __printf_chk (int __flag, const char *__restrict __format, ...);
extern int __vfprintf_chk (FILE *__restrict __stream, int __flag,
- const char *__restrict __format, _G_va_list __ap);
+ const char *__restrict __format, __gnuc_va_list __ap);
extern int __vprintf_chk (int __flag, const char *__restrict __format,
- _G_va_list __ap);
+ __gnuc_va_list __ap);
# ifdef __FORTIFY_ARG_PACK_OK
__fortify_potential_overload __attribute__ ((__format__ (__printf__, 2, 3))) int
@@ -143,7 +149,7 @@
__fortify_potential_overload __attribute__ ((__format__ (__printf__, 1, 0))) int
vprintf (const char *__restrict const __clang_pass_object_size __fmt,
- _G_va_list __ap)
+ __gnuc_va_list __ap)
{
# ifdef __USE_EXTERN_INLINES
return __vfprintf_chk (stdout, __USE_FORTIFY_LEVEL - 1, __fmt, __ap);
@@ -154,7 +160,7 @@
__fortify_potential_overload __attribute__ ((__format__ (__printf__, 2, 0))) int
vfprintf (FILE *__restrict const __clang_pass_object_size __stream,
- const char *__restrict __fmt, _G_va_list __ap)
+ const char *__restrict __fmt, __gnuc_va_list __ap)
{
return __vfprintf_chk (__stream, __USE_FORTIFY_LEVEL - 1, __fmt, __ap);
}
@@ -163,7 +169,7 @@
extern int __dprintf_chk (int __fd, int __flag, const char *__restrict __fmt,
...) __attribute__ ((__format__ (__printf__, 3, 4)));
extern int __vdprintf_chk (int __fd, int __flag,
- const char *__restrict __fmt, _G_va_list __arg)
+ const char *__restrict __fmt, __gnuc_va_list __arg)
__attribute__ ((__format__ (__printf__, 3, 0)));
# ifdef __FORTIFY_ARG_PACK_OK
@@ -185,7 +191,7 @@
__fortify_potential_overload __attribute__ ((__format__ (__printf__, 2, 0))) int
vdprintf (int __fd,
const char *__restrict const __clang_pass_object_size __fmt,
- _G_va_list __ap)
+ __gnuc_va_list __ap)
{
return __vdprintf_chk (__fd, __USE_FORTIFY_LEVEL - 1, __fmt, __ap);
}
@@ -197,7 +203,7 @@
const char *__restrict __fmt, ...)
__THROW __attribute__ ((__format__ (__printf__, 3, 4))) __wur;
extern int __vasprintf_chk (char **__restrict __ptr, int __flag,
- const char *__restrict __fmt, _G_va_list __arg)
+ const char *__restrict __fmt, __gnuc_va_list __arg)
__THROW __attribute__ ((__format__ (__printf__, 3, 0))) __wur;
extern int __obstack_printf_chk (struct obstack *__restrict __obstack,
int __flag, const char *__restrict __format,
@@ -206,7 +212,7 @@
extern int __obstack_vprintf_chk (struct obstack *__restrict __obstack,
int __flag,
const char *__restrict __format,
- _G_va_list __args)
+ __gnuc_va_list __args)
__THROW __attribute__ ((__format__ (__printf__, 3, 0)));
# ifdef __FORTIFY_ARG_PACK_OK
@@ -265,15 +271,15 @@
__fortify_potential_overload __attribute__ ((__format__ (__printf__, 2, 0)))
__wur int
__NTH (vasprintf (char **__restrict const __clang_pass_object_size __ptr,
- const char *__restrict __fmt, _G_va_list __ap))
+ const char *__restrict __fmt, __gnuc_va_list __ap))
{
return __vasprintf_chk (__ptr, __USE_FORTIFY_LEVEL - 1, __fmt, __ap);
}
__fortify_potential_overload __attribute__ ((__format__ (__printf__, 2, 0))) int
__NTH (obstack_vprintf (struct obstack *
- __restrict const __clang_pass_object_size __obstack,
- const char *__restrict __fmt, _G_va_list __ap))
+ __restrict const __clang_pass_object_size __obstack,
+ const char *__restrict __fmt, __gnuc_va_list __ap))
{
return __obstack_vprintf_chk (__obstack, __USE_FORTIFY_LEVEL - 1, __fmt,
__ap);
@@ -290,24 +296,26 @@
__fortify_potential_overload __wur char *
gets (char *const __clang_pass_object_size __str)
__FORTIFY_PRECONDITIONS
- __FORTIFY_WARNING_IF (__gets_warn, __bos (__str) == (size_t) -1,
+ __FORTIFY_WARNING_IF (__gets_warn, __glibc_objsize (__str) == (size_t) -1,
"please use fgets or getline instead, gets can't "
"specify buffer size")
{
- if (__bos (__str) != (size_t) -1)
- return __gets_chk (__str, __bos (__str));
+ if (__glibc_objsize (__str) != (size_t) -1)
+ return __gets_chk (__str, __glibc_objsize (__str));
return __gets_alias (__str);
}
__FORTIFY_FUNCTION_END
#endif
extern char *__fgets_chk (char *__restrict __s, size_t __size, int __n,
- FILE *__restrict __stream) __wur;
+ FILE *__restrict __stream)
+ __wur __attr_access ((__write_only__, 1, 3));
extern char *__REDIRECT (__fgets_alias,
(char *__restrict __s, int __n,
- FILE *__restrict __stream), fgets) __wur;
+ FILE *__restrict __stream), fgets)
+ __wur __attr_access ((__write_only__, 1, 2));
-__fortify_potential_overload __wur char *
+__fortify_potential_overload __wur __attr_access ((__write_only__, 1, 2)) char *
fgets (char *__restrict const __clang_pass_object_size __s, int __n,
FILE *__restrict __stream)
__FORTIFY_PRECONDITIONS
@@ -315,8 +323,8 @@
"fgets called with bigger size than length of "
"destination buffer")
{
- if (__bos (__s) != (size_t) -1)
- return __fgets_chk (__s, __bos (__s), __n, __stream);
+ if (__glibc_objsize (__s) != (size_t) -1)
+ return __fgets_chk (__s, __glibc_objsize (__s), __n, __stream);
return __fgets_alias (__s, __n, __stream);
}
__FORTIFY_FUNCTION_END
@@ -338,20 +346,22 @@
"fread called with bigger size * nmemb than length "
"of destination buffer")
{
- if (__bos0 (__ptr) != (size_t) -1)
- return __fread_chk (__ptr, __bos0 (__ptr), __size, __n, __stream);
+ if (__glibc_objsize0 (__ptr) != (size_t) -1)
+ return __fread_chk (__ptr, __glibc_objsize0 (__ptr), __size, __n, __stream);
return __fread_alias (__ptr, __size, __n, __stream);
}
__FORTIFY_FUNCTION_END
#ifdef __USE_GNU
extern char *__fgets_unlocked_chk (char *__restrict __s, size_t __size,
- int __n, FILE *__restrict __stream) __wur;
+ int __n, FILE *__restrict __stream)
+ __wur __attr_access ((__write_only__, 1, 3));
extern char *__REDIRECT (__fgets_unlocked_alias,
(char *__restrict __s, int __n,
- FILE *__restrict __stream), fgets_unlocked) __wur;
+ FILE *__restrict __stream), fgets_unlocked)
+ __wur __attr_access ((__write_only__, 1, 2));
-__fortify_potential_overload __wur char *
+__fortify_potential_overload __wur __attr_access ((__write_only__, 1, 2)) char *
fgets_unlocked (char *__restrict const __clang_pass_object_size __s, int __n,
FILE *__restrict __stream)
__FORTIFY_PRECONDITIONS
@@ -360,8 +370,8 @@
"fgets_unlocked called with bigger size than length "
"of destination buffer")
{
- if (__bos (__s) != (size_t) -1)
- return __fgets_unlocked_chk (__s, __bos (__s), __n, __stream);
+ if (__glibc_objsize (__s) != (size_t) -1)
+ return __fgets_unlocked_chk (__s, __glibc_objsize (__s), __n, __stream);
return __fgets_unlocked_alias (__s, __n, __stream);
}
__FORTIFY_FUNCTION_END
@@ -387,8 +397,8 @@
"fread_unlocked called with bigger size * n than "
"length of destination buffer")
{
- if (__bos0 (__ptr) != (size_t) -1)
- return __fread_unlocked_chk (__ptr, __bos0 (__ptr), __size, __n, __stream);
+ if (__glibc_objsize0 (__ptr) != (size_t) -1)
+ return __fread_unlocked_chk (__ptr, __glibc_objsize0 (__ptr), __size, __n, __stream);
# ifdef __USE_EXTERN_INLINES
if (__builtin_constant_p (__size)
@@ -403,7 +413,7 @@
for (; __cnt > 0; --__cnt)
{
- int __c = _IO_getc_unlocked (__stream);
+ int __c = getc_unlocked (__stream);
if (__c == EOF)
break;
*__cptr++ = __c;
@@ -415,4 +425,6 @@
}
__FORTIFY_FUNCTION_END
#endif
+
#undef __mul_may_overflow
+#endif /* bits/stdio2.h. */
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/stdio_lim.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/stdio_lim.h
index 1be90e6..ff1a2c3 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/stdio_lim.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/stdio_lim.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1994-2018 Free Software Foundation, Inc.
+/* Copyright (C) 1994-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -13,7 +13,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef _BITS_STDIO_LIM_H
#define _BITS_STDIO_LIM_H 1
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/stdlib-bsearch.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/stdlib-bsearch.h
index d83239a..4132dc6 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/stdlib-bsearch.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/stdlib-bsearch.h
@@ -1,5 +1,5 @@
/* Perform binary search - inline version.
- Copyright (C) 1991-2018 Free Software Foundation, Inc.
+ Copyright (C) 1991-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -14,7 +14,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
__extern_inline void *
bsearch (const void *__key, const void *__base, size_t __nmemb, size_t __size,
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/stdlib-float.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/stdlib-float.h
index cb0c35b..3373c5b 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/stdlib-float.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/stdlib-float.h
@@ -1,5 +1,5 @@
/* Floating-point inline functions for stdlib.h.
- Copyright (C) 2012-2018 Free Software Foundation, Inc.
+ Copyright (C) 2012-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -14,7 +14,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef _STDLIB_H
# error "Never use <bits/stdlib-float.h> directly; include <stdlib.h> instead."
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/stdlib-ldbl.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/stdlib-ldbl.h
index f7ae101..775b6e5 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/stdlib-ldbl.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/stdlib-ldbl.h
@@ -1,5 +1,5 @@
/* -mlong-double-64 compatibility mode for <stdlib.h> functions.
- Copyright (C) 2006-2018 Free Software Foundation, Inc.
+ Copyright (C) 2006-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -14,28 +14,50 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef _STDLIB_H
# error "Never include <bits/stdlib-ldbl.h> directly; use <stdlib.h> instead."
#endif
#ifdef __USE_ISOC99
+# ifdef __LDBL_COMPAT
__LDBL_REDIR1_DECL (strtold, strtod)
+# else
+__LDBL_REDIR1_DECL (strtold, __strtoieee128)
+# endif
#endif
#ifdef __USE_GNU
+# ifdef __LDBL_COMPAT
__LDBL_REDIR1_DECL (strtold_l, strtod_l)
+# else
+__LDBL_REDIR1_DECL (strtold_l, __strtoieee128_l)
+# endif
#endif
-#if __GLIBC_USE (IEC_60559_BFP_EXT)
+#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)
+# ifdef __LDBL_COMPAT
__LDBL_REDIR1_DECL (strfroml, strfromd)
+# else
+__LDBL_REDIR1_DECL (strfroml, __strfromieee128)
+# endif
#endif
#ifdef __USE_MISC
+# if defined __LDBL_COMPAT
__LDBL_REDIR1_DECL (qecvt, ecvt)
__LDBL_REDIR1_DECL (qfcvt, fcvt)
__LDBL_REDIR1_DECL (qgcvt, gcvt)
__LDBL_REDIR1_DECL (qecvt_r, ecvt_r)
__LDBL_REDIR1_DECL (qfcvt_r, fcvt_r)
+# elif __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
+__LDBL_REDIR1_DECL (qecvt, __qecvtieee128)
+__LDBL_REDIR1_DECL (qfcvt, __qfcvtieee128)
+__LDBL_REDIR1_DECL (qgcvt, __qgcvtieee128)
+__LDBL_REDIR1_DECL (qecvt_r, __qecvtieee128_r)
+__LDBL_REDIR1_DECL (qfcvt_r, __qfcvtieee128_r)
+# else
+# error bits/stdlib-ldbl.h included when no ldbl redirections are required.
+# endif
#endif
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/stdlib.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/stdlib.h
index 3c54273..79babec 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/stdlib.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/stdlib.h
@@ -1,5 +1,5 @@
/* Checking macros for stdlib functions.
- Copyright (C) 2005-2018 Free Software Foundation, Inc.
+ Copyright (C) 2005-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -14,7 +14,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef _STDLIB_H
# error "Never include <bits/stdlib.h> directly; use <stdlib.h> instead."
@@ -42,18 +42,19 @@
#if defined _LIBC_LIMITS_H_ && defined PATH_MAX
__FORTIFY_CALL_CHK &&
#endif
- __bos (__resolved) != (size_t) -1)
- return __realpath_chk (__name, __resolved, __bos (__resolved));
+ __glibc_objsize (__resolved) != (size_t) -1)
+ return __realpath_chk (__name, __resolved, __glibc_objsize (__resolved));
return __realpath_alias (__name, __resolved);
}
__FORTIFY_FUNCTION_END
extern int __ptsname_r_chk (int __fd, char *__buf, size_t __buflen,
- size_t __nreal) __THROW __nonnull ((2));
+ size_t __nreal) __THROW __nonnull ((2))
+ __attr_access ((__write_only__, 2, 3));
extern int __REDIRECT_NTH (__ptsname_r_alias, (int __fd, char *__buf,
size_t __buflen), ptsname_r)
- __nonnull ((2));
+ __nonnull ((2)) __attr_access ((__write_only__, 2, 3));
__fortify_potential_overload int
__NTH (ptsname_r (int __fd, char *const __clang_pass_object_size __buf,
@@ -63,8 +64,8 @@
"ptsname_r called with buflen "
"bigger than size of buf")
{
- if (__FORTIFY_CALL_CHK && __bos (__buf) != (size_t) -1)
- return __ptsname_r_chk (__fd, __buf, __buflen, __bos (__buf));
+ if (__FORTIFY_CALL_CHK && __glibc_objsize (__buf) != (size_t) -1)
+ return __ptsname_r_chk (__fd, __buf, __buflen, __glibc_objsize (__buf));
return __ptsname_r_alias (__fd, __buf, __buflen);
}
__FORTIFY_FUNCTION_END
@@ -84,19 +85,22 @@
#if defined MB_LEN_MAX && MB_LEN_MAX != __STDLIB_MB_LEN_MAX
# error "Assumed value of MB_LEN_MAX wrong"
#endif
- if (__bos (__s) != (size_t) -1 && __STDLIB_MB_LEN_MAX > __bos (__s))
- return __wctomb_chk (__s, __wchar, __bos (__s));
+ if (__glibc_objsize (__s) != (size_t) -1
+ && __STDLIB_MB_LEN_MAX > __glibc_objsize (__s))
+ return __wctomb_chk (__s, __wchar, __glibc_objsize (__s));
return __wctomb_alias (__s, __wchar);
}
extern size_t __mbstowcs_chk (wchar_t *__restrict __dst,
const char *__restrict __src,
- size_t __len, size_t __dstlen) __THROW;
+ size_t __len, size_t __dstlen) __THROW
+ __attr_access ((__write_only__, 1, 3)) __attr_access ((__read_only__, 2));
extern size_t __REDIRECT_NTH (__mbstowcs_alias,
(wchar_t *__restrict __dst,
const char *__restrict __src,
- size_t __len), mbstowcs);
+ size_t __len), mbstowcs)
+ __attr_access ((__write_only__, 1, 3)) __attr_access ((__read_only__, 2));
__fortify_potential_overload size_t
__NTH (mbstowcs (wchar_t *__restrict const __clang_pass_object_size __dst,
@@ -107,9 +111,9 @@
"mbstowcs called with dst buffer "
"smaller than len * sizeof (wchar_t)")
{
- if (__FORTIFY_CALL_CHK && __bos (__dst) != (size_t) -1)
+ if (__FORTIFY_CALL_CHK && __glibc_objsize (__dst) != (size_t) -1)
return __mbstowcs_chk (__dst, __src, __len,
- __bos (__dst) / sizeof (wchar_t));
+ __glibc_objsize (__dst) / sizeof (wchar_t));
return __mbstowcs_alias (__dst, __src, __len);
}
__FORTIFY_FUNCTION_END
@@ -117,11 +121,13 @@
extern size_t __wcstombs_chk (char *__restrict __dst,
const wchar_t *__restrict __src,
- size_t __len, size_t __dstlen) __THROW;
+ size_t __len, size_t __dstlen) __THROW
+ __attr_access ((__write_only__, 1, 3)) __attr_access ((__read_only__, 2));
extern size_t __REDIRECT_NTH (__wcstombs_alias,
(char *__restrict __dst,
const wchar_t *__restrict __src,
- size_t __len), wcstombs);
+ size_t __len), wcstombs)
+ __attr_access ((__write_only__, 1, 3)) __attr_access ((__read_only__, 2));
__fortify_potential_overload size_t
__NTH (wcstombs (char *__restrict const __clang_pass_object_size __dst,
@@ -131,8 +137,8 @@
"wcstombs called with dst buffer "
"smaller than len")
{
- if (__FORTIFY_CALL_CHK && __bos (__dst) != (size_t) -1)
- return __wcstombs_chk (__dst, __src, __len, __bos (__dst));
+ if (__FORTIFY_CALL_CHK && __glibc_objsize (__dst) != (size_t) -1)
+ return __wcstombs_chk (__dst, __src, __len, __glibc_objsize (__dst));
return __wcstombs_alias (__dst, __src, __len);
}
__FORTIFY_FUNCTION_END
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/string_fortified.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/string_fortified.h
index 7b16afa..6a8d207 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/string_fortified.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/string_fortified.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2004-2018 Free Software Foundation, Inc.
+/* Copyright (C) 2004-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -13,7 +13,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef _BITS_STRING_FORTIFIED_H
#define _BITS_STRING_FORTIFIED_H 1
@@ -28,16 +28,16 @@
#define __size_too_small(bos, dest, len) \
(bos (dest) != (size_t) -1 && bos (dest) < len)
#define __warn_if_dest_too_small(dest, len) \
- __clang_warning_if (__size_too_small (__bos, dest, len), \
+ __clang_warning_if (__size_too_small (__glibc_objsize, dest, len), \
__warn_len_too_large)
#define __warn_if_dest_too_small0(dest, len) \
- __clang_warning_if (__size_too_small (__bos0, dest, len), \
+ __clang_warning_if (__size_too_small (__glibc_objsize0, dest, len), \
__warn_len_too_large)
#define __warn_input_str_too_large \
"destination buffer will always be overflown by source"
#define __warn_if_src_too_large(dest, src) \
- __clang_warning_if (__size_too_small (__bos, dest, __builtin_strlen (src) + 1), \
+ __clang_warning_if (__size_too_small (__glibc_objsize, dest, __builtin_strlen (src) + 1), \
__warn_input_str_too_large)
__fortify_potential_overload void *
@@ -45,11 +45,11 @@
const void *__restrict __src, size_t __len))
__warn_if_dest_too_small0 (__dest, __len)
{
- size_t __bos_dst = __bos0 (__dest);
- if (__bos_dst == (size_t) -1 || (__builtin_constant_p (__len)
- && __bos_dst >= __len))
+ size_t __glibc_objsize_dst = __glibc_objsize0 (__dest);
+ if (__glibc_objsize_dst == (size_t) -1 || (__builtin_constant_p (__len)
+ && __glibc_objsize_dst >= __len))
return __builtin_memcpy (__dest, __src, __len);
- return __builtin___memcpy_chk (__dest, __src, __len, __bos_dst);
+ return __builtin___memcpy_chk (__dest, __src, __len, __glibc_objsize_dst);
}
__fortify_potential_overload void *
@@ -57,11 +57,11 @@
const void *__src, size_t __len))
__warn_if_dest_too_small0 (__dest, __len)
{
- size_t __bos_dst = __bos0 (__dest);
- if (__bos_dst == (size_t) -1 || (__builtin_constant_p (__len)
- && __bos_dst >= __len))
+ size_t __glibc_objsize_dst = __glibc_objsize0 (__dest);
+ if (__glibc_objsize_dst == (size_t) -1 || (__builtin_constant_p (__len)
+ && __glibc_objsize_dst >= __len))
return __builtin_memmove (__dest, __src, __len);
- return __builtin___memmove_chk (__dest, __src, __len, __bos_dst);
+ return __builtin___memmove_chk (__dest, __src, __len, __glibc_objsize_dst);
}
#ifdef __USE_GNU
@@ -70,11 +70,11 @@
const void *__restrict __src, size_t __len))
__warn_if_dest_too_small0 (__dest, __len)
{
- size_t __bos_dst = __bos0 (__dest);
- if (__bos_dst == (size_t) -1 || (__builtin_constant_p (__len)
- && __bos_dst >= __len))
+ size_t __glibc_objsize_dst = __glibc_objsize0 (__dest);
+ if (__glibc_objsize_dst == (size_t) -1 || (__builtin_constant_p (__len)
+ && __glibc_objsize_dst >= __len))
return __builtin_mempcpy (__dest, __src, __len);
- return __builtin___mempcpy_chk (__dest, __src, __len, __bos_dst);
+ return __builtin___mempcpy_chk (__dest, __src, __len, __glibc_objsize_dst);
}
#endif
@@ -86,30 +86,17 @@
#define __warn_memset_zero_len_msg \
"memset used with constant zero length parameter; this could be due to " \
"transposed parameters"
-#if !__GNUC_PREREQ (5,0)
-__warndecl (__warn_memset_zero_len, __warn_memset_zero_len_msg);
-#endif
__fortify_potential_overload void *
__NTH (memset (void *const __clang_pass_object_size0 __dest, int __ch,
size_t __len))
__warn_if_dest_too_small0 (__dest, __len)
__clang_warning_if (__len == 0 && __ch != 0, __warn_memset_zero_len_msg)
{
- /* GCC-5.0 and newer implements these checks in the compiler, so we don't
- need them here. */
-#if !__GNUC_PREREQ (5,0) && !defined __use_clang_fortify
- if (__builtin_constant_p (__len) && __len == 0
- && (!__builtin_constant_p (__ch) || __ch != 0))
- {
- __warn_memset_zero_len ();
- return __dest;
- }
-#endif
- size_t __bos_dst = __bos0 (__dest);
- if (__bos_dst == (size_t) -1 || (__builtin_constant_p (__len)
- && __bos_dst >= __len))
+ size_t __glibc_objsize_dst = __glibc_objsize0 (__dest);
+ if (__glibc_objsize_dst == (size_t) -1 || (__builtin_constant_p (__len)
+ && __glibc_objsize_dst >= __len))
return __builtin_memset (__dest, __ch, __len);
- return __builtin___memset_chk (__dest, __ch, __len, __bos_dst);
+ return __builtin___memset_chk (__dest, __ch, __len, __glibc_objsize_dst);
}
#undef __warn_memset_zero_len_msg
@@ -117,12 +104,12 @@
# include <bits/strings_fortified.h>
void __explicit_bzero_chk (void *__dest, size_t __len, size_t __destlen)
- __THROW __nonnull ((1));
+ __THROW __nonnull ((1)) __attr_access ((__write_only__, 1, 2));
__fortify_function void
__NTH (explicit_bzero (void *__dest, size_t __len))
{
- __explicit_bzero_chk (__dest, __len, __bos0 (__dest));
+ __explicit_bzero_chk (__dest, __len, __glibc_objsize0 (__dest));
}
#endif
@@ -131,7 +118,7 @@
const char *__restrict __src))
__warn_if_src_too_large (__dest, __src)
{
- return __builtin___strcpy_chk (__dest, __src, __bos (__dest));
+ return __builtin___strcpy_chk (__dest, __src, __glibc_objsize (__dest));
}
#ifdef __USE_GNU
@@ -140,23 +127,24 @@
const char *__restrict __src))
__warn_if_src_too_large (__dest, __src)
{
- return __builtin___stpcpy_chk (__dest, __src, __bos (__dest));
+ return __builtin___stpcpy_chk (__dest, __src, __glibc_objsize (__dest));
}
#endif
__fortify_potential_overload char *
__NTH (strncpy (char *__restrict const __clang_pass_object_size __dest,
const char *__restrict __src, size_t __len))
-/* clang: Don't warn when __builtin_strlen (__src) < __bos (__dest),
- but __len > __bos (__dest). The user should fix their code instead. */
+/* clang: Don't warn when __builtin_strlen (__src) < __glibc_objsize (__dest),
+ but __len > __glibc_objsize (__dest). The user should fix their code instead. */
__warn_if_dest_too_small (__dest, __len)
{
- return __builtin___strncpy_chk (__dest, __src, __len, __bos (__dest));
+ return __builtin___strncpy_chk (__dest, __src, __len,
+ __glibc_objsize (__dest));
}
-/* XXX We have no corresponding builtin yet. */
extern char *__stpncpy_chk (char *__dest, const char *__src, size_t __n,
- size_t __destlen) __THROW;
+ size_t __destlen) __THROW
+ __attr_access ((__write_only__, 1, 3)) __attr_access ((__read_only__, 2));
extern char *__REDIRECT_NTH (__stpncpy_alias, (char *__dest, const char *__src,
size_t __n), stpncpy);
@@ -165,8 +153,8 @@
size_t __n))
__warn_if_dest_too_small (__dest, __n)
{
- if (__bos (__dest) != (size_t) -1)
- return __stpncpy_chk (__dest, __src, __n, __bos (__dest));
+ if (__glibc_objsize (__dest) != (size_t) -1)
+ return __stpncpy_chk (__dest, __src, __n, __glibc_objsize (__dest));
return __stpncpy_alias (__dest, __src, __n);
}
@@ -175,7 +163,7 @@
const char *__restrict __src))
__warn_if_src_too_large (__dest, __src)
{
- return __builtin___strcat_chk (__dest, __src, __bos (__dest));
+ return __builtin___strcat_chk (__dest, __src, __glibc_objsize (__dest));
}
__fortify_potential_overload char *
@@ -183,7 +171,8 @@
const char *__restrict __src, size_t __len))
__warn_if_src_too_large (__dest, __src)
{
- return __builtin___strncat_chk (__dest, __src, __len, __bos (__dest));
+ return __builtin___strncat_chk (__dest, __src, __len,
+ __glibc_objsize (__dest));
}
#undef __warn_len_too_large
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/strings_fortified.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/strings_fortified.h
index e910d28..4c610f4 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/strings_fortified.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/strings_fortified.h
@@ -1,5 +1,5 @@
/* Fortify macros for strings.h functions.
- Copyright (C) 2017-2018 Free Software Foundation, Inc.
+ Copyright (C) 2017-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -14,7 +14,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef __STRINGS_FORTIFIED
# define __STRINGS_FORTIFIED 1
@@ -31,12 +31,12 @@
__clang_warning_if (__strings_size_too_small (__dest, __len),
__strings_warn_len_too_large)
{
- size_t __bos_dst = __bos0 (__dest);
- if (__bos_dst == (size_t) -1 || (__builtin_constant_p (__len)
- && __bos_dst >= __len))
+ size_t __glibc_objsize_dst = __glibc_objsize0 (__dest);
+ if (__glibc_objsize_dst == (size_t) -1 || (__builtin_constant_p (__len)
+ && __glibc_objsize_dst >= __len))
(void) __builtin_memmove (__dest, __src, __len);
else
- (void) __builtin___memmove_chk (__dest, __src, __len, __bos_dst);
+ (void) __builtin___memmove_chk (__dest, __src, __len, __glibc_objsize_dst);
}
__fortify_potential_overload void
@@ -44,12 +44,12 @@
__clang_warning_if (__strings_size_too_small (__dest, __len),
__strings_warn_len_too_large)
{
- size_t __bos_dst = __bos0 (__dest);
- if (__bos_dst == (size_t) -1 || (__builtin_constant_p (__len)
- && __bos_dst >= __len))
+ size_t __glibc_objsize_dst = __glibc_objsize0 (__dest);
+ if (__glibc_objsize_dst == (size_t) -1 || (__builtin_constant_p (__len)
+ && __glibc_objsize_dst >= __len))
(void) __builtin_memset (__dest, '\0', __len);
else
- (void) __builtin___memset_chk (__dest, '\0', __len, __bos_dst);
+ (void) __builtin___memset_chk (__dest, '\0', __len, __glibc_objsize_dst);
}
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/stropts.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/stropts.h
deleted file mode 100644
index 8410b6c..0000000
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/stropts.h
+++ /dev/null
@@ -1,230 +0,0 @@
-/* Copyright (C) 1998-2018 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _STROPTS_H
-# error "Never include <bits/stropts.h> directly; use <stropts.h> instead."
-#endif
-
-#ifndef _BITS_STROPTS_H
-#define _BITS_STROPTS_H 1
-
-#include <bits/types.h>
-
-/* Macros used as `request' argument to `ioctl'. */
-#define __SID ('S' << 8)
-
-#define I_NREAD (__SID | 1) /* Counts the number of data bytes in the data
- block in the first message. */
-#define I_PUSH (__SID | 2) /* Push STREAMS module onto top of the current
- STREAM, just below the STREAM head. */
-#define I_POP (__SID | 3) /* Remove STREAMS module from just below the
- STREAM head. */
-#define I_LOOK (__SID | 4) /* Retrieve the name of the module just below
- the STREAM head and place it in a character
- string. */
-#define I_FLUSH (__SID | 5) /* Flush all input and/or output. */
-#define I_SRDOPT (__SID | 6) /* Sets the read mode. */
-#define I_GRDOPT (__SID | 7) /* Returns the current read mode setting. */
-#define I_STR (__SID | 8) /* Construct an internal STREAMS `ioctl'
- message and send that message downstream. */
-#define I_SETSIG (__SID | 9) /* Inform the STREAM head that the process
- wants the SIGPOLL signal issued. */
-#define I_GETSIG (__SID |10) /* Return the events for which the calling
- process is currently registered to be sent
- a SIGPOLL signal. */
-#define I_FIND (__SID |11) /* Compares the names of all modules currently
- present in the STREAM to the name pointed to
- by `arg'. */
-#define I_LINK (__SID |12) /* Connect two STREAMs. */
-#define I_UNLINK (__SID |13) /* Disconnects the two STREAMs. */
-#define I_PEEK (__SID |15) /* Allows a process to retrieve the information
- in the first message on the STREAM head read
- queue without taking the message off the
- queue. */
-#define I_FDINSERT (__SID |16) /* Create a message from the specified
- buffer(s), adds information about another
- STREAM, and send the message downstream. */
-#define I_SENDFD (__SID |17) /* Requests the STREAM associated with `fildes'
- to send a message, containing a file
- pointer, to the STREAM head at the other end
- of a STREAMS pipe. */
-#define I_RECVFD (__SID |14) /* Non-EFT definition. */
-#define I_SWROPT (__SID |19) /* Set the write mode. */
-#define I_GWROPT (__SID |20) /* Return the current write mode setting. */
-#define I_LIST (__SID |21) /* List all the module names on the STREAM, up
- to and including the topmost driver name. */
-#define I_PLINK (__SID |22) /* Connect two STREAMs with a persistent
- link. */
-#define I_PUNLINK (__SID |23) /* Disconnect the two STREAMs that were
- connected with a persistent link. */
-#define I_FLUSHBAND (__SID |28) /* Flush only band specified. */
-#define I_CKBAND (__SID |29) /* Check if the message of a given priority
- band exists on the STREAM head read
- queue. */
-#define I_GETBAND (__SID |30) /* Return the priority band of the first
- message on the STREAM head read queue. */
-#define I_ATMARK (__SID |31) /* See if the current message on the STREAM
- head read queue is "marked" by some module
- downstream. */
-#define I_SETCLTIME (__SID |32) /* Set the time the STREAM head will delay when
- a STREAM is closing and there is data on
- the write queues. */
-#define I_GETCLTIME (__SID |33) /* Get current value for closing timeout. */
-#define I_CANPUT (__SID |34) /* Check if a certain band is writable. */
-
-
-/* Used in `I_LOOK' request. */
-#define FMNAMESZ 8 /* compatibility w/UnixWare/Solaris. */
-
-/* Flush options. */
-#define FLUSHR 0x01 /* Flush read queues. */
-#define FLUSHW 0x02 /* Flush write queues. */
-#define FLUSHRW 0x03 /* Flush read and write queues. */
-#ifdef __USE_GNU
-# define FLUSHBAND 0x04 /* Flush only specified band. */
-#endif
-
-/* Possible arguments for `I_SETSIG'. */
-#define S_INPUT 0x0001 /* A message, other than a high-priority
- message, has arrived. */
-#define S_HIPRI 0x0002 /* A high-priority message is present. */
-#define S_OUTPUT 0x0004 /* The write queue for normal data is no longer
- full. */
-#define S_MSG 0x0008 /* A STREAMS signal message that contains the
- SIGPOLL signal reaches the front of the
- STREAM head read queue. */
-#define S_ERROR 0x0010 /* Notification of an error condition. */
-#define S_HANGUP 0x0020 /* Notification of a hangup. */
-#define S_RDNORM 0x0040 /* A normal message has arrived. */
-#define S_WRNORM S_OUTPUT
-#define S_RDBAND 0x0080 /* A message with a non-zero priority has
- arrived. */
-#define S_WRBAND 0x0100 /* The write queue for a non-zero priority
- band is no longer full. */
-#define S_BANDURG 0x0200 /* When used in conjunction with S_RDBAND,
- SIGURG is generated instead of SIGPOLL when
- a priority message reaches the front of the
- STREAM head read queue. */
-
-/* Option for `I_PEEK'. */
-#define RS_HIPRI 0x01 /* Only look for high-priority messages. */
-
-/* Options for `I_SRDOPT'. */
-#define RNORM 0x0000 /* Byte-STREAM mode, the default. */
-#define RMSGD 0x0001 /* Message-discard mode. */
-#define RMSGN 0x0002 /* Message-nondiscard mode. */
-#define RPROTDAT 0x0004 /* Deliver the control part of a message as
- data. */
-#define RPROTDIS 0x0008 /* Discard the control part of a message,
- delivering any data part. */
-#define RPROTNORM 0x0010 /* Fail `read' with EBADMSG if a message
- containing a control part is at the front
- of the STREAM head read queue. */
-#ifdef __USE_GNU
-# define RPROTMASK 0x001C /* The RPROT bits */
-#endif
-
-/* Possible mode for `I_SWROPT'. */
-#define SNDZERO 0x001 /* Send a zero-length message downstream when a
- `write' of 0 bytes occurs. */
-#ifdef __USE_GNU
-# define SNDPIPE 0x002 /* Send SIGPIPE on write and putmsg if
- sd_werror is set. */
-#endif
-
-/* Arguments for `I_ATMARK'. */
-#define ANYMARK 0x01 /* Check if the message is marked. */
-#define LASTMARK 0x02 /* Check if the message is the last one marked
- on the queue. */
-
-/* Argument for `I_UNLINK'. */
-#ifdef __USE_GNU
-# define MUXID_ALL (-1) /* Unlink all STREAMs linked to the STREAM
- associated with `fildes'. */
-#endif
-
-
-/* Macros for `getmsg', `getpmsg', `putmsg' and `putpmsg'. */
-#define MSG_HIPRI 0x01 /* Send/receive high priority message. */
-#define MSG_ANY 0x02 /* Receive any message. */
-#define MSG_BAND 0x04 /* Receive message from specified band. */
-
-/* Values returned by getmsg and getpmsg */
-#define MORECTL 1 /* More control information is left in
- message. */
-#define MOREDATA 2 /* More data is left in message. */
-
-
-/* Structure used for the I_FLUSHBAND ioctl on streams. */
-struct bandinfo
- {
- unsigned char bi_pri;
- int bi_flag;
- };
-
-struct strbuf
- {
- int maxlen; /* Maximum buffer length. */
- int len; /* Length of data. */
- char *buf; /* Pointer to buffer. */
- };
-
-struct strpeek
- {
- struct strbuf ctlbuf;
- struct strbuf databuf;
- t_uscalar_t flags; /* UnixWare/Solaris compatibility. */
- };
-
-struct strfdinsert
- {
- struct strbuf ctlbuf;
- struct strbuf databuf;
- t_uscalar_t flags; /* UnixWare/Solaris compatibility. */
- int fildes;
- int offset;
- };
-
-struct strioctl
- {
- int ic_cmd;
- int ic_timout;
- int ic_len;
- char *ic_dp;
- };
-
-struct strrecvfd
- {
- int fd;
- uid_t uid;
- gid_t gid;
- char __fill[8]; /* UnixWare/Solaris compatibility */
- };
-
-
-struct str_mlist
- {
- char l_name[FMNAMESZ + 1];
- };
-
-struct str_list
- {
- int sl_nmods;
- struct str_mlist *sl_modlist;
- };
-
-#endif /* bits/stropts.h */
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/struct_mutex.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/struct_mutex.h
new file mode 100644
index 0000000..16c17a1
--- /dev/null
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/struct_mutex.h
@@ -0,0 +1,84 @@
+/* Default mutex implementation struct definitions.
+ Copyright (C) 2019-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
+
+#ifndef _THREAD_MUTEX_INTERNAL_H
+#define _THREAD_MUTEX_INTERNAL_H 1
+
+/* Generic struct for both POSIX and C11 mutexes. New ports are expected
+ to use the default layout, however architecture can redefine it to
+ add arch-specific extension (such as lock-elision). The struct have
+ a size of 32 bytes on LP32 and 40 bytes on LP64 architectures. */
+
+struct __pthread_mutex_s
+{
+ int __lock __LOCK_ALIGNMENT;
+ unsigned int __count;
+ int __owner;
+#if __WORDSIZE == 64
+ unsigned int __nusers;
+#endif
+ /* KIND must stay at this position in the structure to maintain
+ binary compatibility with static initializers.
+
+ Concurrency notes:
+ The __kind of a mutex is initialized either by the static
+ PTHREAD_MUTEX_INITIALIZER or by a call to pthread_mutex_init.
+
+ After a mutex has been initialized, the __kind of a mutex is usually not
+ changed. BUT it can be set to -1 in pthread_mutex_destroy or elision can
+ be enabled. This is done concurrently in the pthread_mutex_*lock
+ functions by using the macro FORCE_ELISION. This macro is only defined
+ for architectures which supports lock elision.
+
+ For elision, there are the flags PTHREAD_MUTEX_ELISION_NP and
+ PTHREAD_MUTEX_NO_ELISION_NP which can be set in addition to the already
+ set type of a mutex. Before a mutex is initialized, only
+ PTHREAD_MUTEX_NO_ELISION_NP can be set with pthread_mutexattr_settype.
+
+ After a mutex has been initialized, the functions pthread_mutex_*lock can
+ enable elision - if the mutex-type and the machine supports it - by
+ setting the flag PTHREAD_MUTEX_ELISION_NP. This is done concurrently.
+ Afterwards the lock / unlock functions are using specific elision
+ code-paths. */
+ int __kind;
+#if __WORDSIZE != 64
+ unsigned int __nusers;
+#endif
+#if __WORDSIZE == 64
+ int __spins;
+ __pthread_list_t __list;
+# define __PTHREAD_MUTEX_HAVE_PREV 1
+#else
+ __extension__ union
+ {
+ int __spins;
+ __pthread_slist_t __list;
+ };
+# define __PTHREAD_MUTEX_HAVE_PREV 0
+#endif
+};
+
+#if __PTHREAD_MUTEX_HAVE_PREV == 1
+# define __PTHREAD_MUTEX_INITIALIZER(__kind) \
+ 0, 0, 0, 0, __kind, 0, { 0, 0 }
+#else
+# define __PTHREAD_MUTEX_INITIALIZER(__kind) \
+ 0, 0, 0, __kind, 0, { 0 }
+#endif
+
+#endif
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/struct_rwlock.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/struct_rwlock.h
new file mode 100644
index 0000000..bf28a94
--- /dev/null
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/struct_rwlock.h
@@ -0,0 +1,41 @@
+/* AArch64 internal rwlock struct definitions.
+ Copyright (C) 2019-2021 Free Software Foundation, Inc.
+
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
+
+#ifndef _RWLOCK_INTERNAL_H
+#define _RWLOCK_INTERNAL_H
+
+struct __pthread_rwlock_arch_t
+{
+ unsigned int __readers;
+ unsigned int __writers;
+ unsigned int __wrphase_futex;
+ unsigned int __writers_futex;
+ unsigned int __pad3;
+ unsigned int __pad4;
+ int __cur_writer;
+ int __shared;
+ unsigned long int __pad1;
+ unsigned long int __pad2;
+ unsigned int __flags;
+};
+
+#define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags
+
+#endif
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/struct_stat.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/struct_stat.h
new file mode 100644
index 0000000..32ef511
--- /dev/null
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/struct_stat.h
@@ -0,0 +1,127 @@
+/* Definition for struct stat.
+ Copyright (C) 2020-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library. If not, see
+ <https://www.gnu.org/licenses/>. */
+
+#if !defined _SYS_STAT_H && !defined _FCNTL_H
+# error "Never include <bits/struct_stat.h> directly; use <sys/stat.h> instead."
+#endif
+
+#ifndef _BITS_STRUCT_STAT_H
+#define _BITS_STRUCT_STAT_H 1
+
+#include <bits/endian.h>
+#include <bits/wordsize.h>
+
+#if defined __USE_FILE_OFFSET64
+# define __field64(type, type64, name) type64 name
+#elif __WORDSIZE == 64 || defined __INO_T_MATCHES_INO64_T
+# if defined __INO_T_MATCHES_INO64_T && !defined __OFF_T_MATCHES_OFF64_T
+# error "ino_t and off_t must both be the same type"
+# endif
+# define __field64(type, type64, name) type name
+#elif __BYTE_ORDER == __LITTLE_ENDIAN
+# define __field64(type, type64, name) \
+ type name __attribute__((__aligned__ (__alignof__ (type64)))); int __##name##_pad
+#else
+# define __field64(type, type64, name) \
+ int __##name##_pad __attribute__((__aligned__ (__alignof__ (type64)))); type name
+#endif
+
+struct stat
+ {
+ __dev_t st_dev; /* Device. */
+ __field64(__ino_t, __ino64_t, st_ino); /* File serial number. */
+ __mode_t st_mode; /* File mode. */
+ __nlink_t st_nlink; /* Link count. */
+ __uid_t st_uid; /* User ID of the file's owner. */
+ __gid_t st_gid; /* Group ID of the file's group.*/
+ __dev_t st_rdev; /* Device number, if device. */
+ __dev_t __pad1;
+ __field64(__off_t, __off64_t, st_size); /* Size of file, in bytes. */
+ __blksize_t st_blksize; /* Optimal block size for I/O. */
+ int __pad2;
+ __field64(__blkcnt_t, __blkcnt64_t, st_blocks); /* 512-byte blocks */
+#ifdef __USE_XOPEN2K8
+ /* Nanosecond resolution timestamps are stored in a format
+ equivalent to 'struct timespec'. This is the type used
+ whenever possible but the Unix namespace rules do not allow the
+ identifier 'timespec' to appear in the <sys/stat.h> header.
+ Therefore we have to handle the use of this header in strictly
+ standard-compliant sources special. */
+ struct timespec st_atim; /* Time of last access. */
+ struct timespec st_mtim; /* Time of last modification. */
+ struct timespec st_ctim; /* Time of last status change. */
+# define st_atime st_atim.tv_sec /* Backward compatibility. */
+# define st_mtime st_mtim.tv_sec
+# define st_ctime st_ctim.tv_sec
+#else
+ __time_t st_atime; /* Time of last access. */
+ unsigned long int st_atimensec; /* Nscecs of last access. */
+ __time_t st_mtime; /* Time of last modification. */
+ unsigned long int st_mtimensec; /* Nsecs of last modification. */
+ __time_t st_ctime; /* Time of last status change. */
+ unsigned long int st_ctimensec; /* Nsecs of last status change. */
+#endif
+ int __glibc_reserved[2];
+ };
+
+#undef __field64
+
+#ifdef __USE_LARGEFILE64
+struct stat64
+ {
+ __dev_t st_dev; /* Device. */
+ __ino64_t st_ino; /* File serial number. */
+ __mode_t st_mode; /* File mode. */
+ __nlink_t st_nlink; /* Link count. */
+ __uid_t st_uid; /* User ID of the file's owner. */
+ __gid_t st_gid; /* Group ID of the file's group.*/
+ __dev_t st_rdev; /* Device number, if device. */
+ __dev_t __pad1;
+ __off64_t st_size; /* Size of file, in bytes. */
+ __blksize_t st_blksize; /* Optimal block size for I/O. */
+ int __pad2;
+ __blkcnt64_t st_blocks; /* Nr. 512-byte blocks allocated. */
+#ifdef __USE_XOPEN2K8
+ /* Nanosecond resolution timestamps are stored in a format
+ equivalent to 'struct timespec'. This is the type used
+ whenever possible but the Unix namespace rules do not allow the
+ identifier 'timespec' to appear in the <sys/stat.h> header.
+ Therefore we have to handle the use of this header in strictly
+ standard-compliant sources special. */
+ struct timespec st_atim; /* Time of last access. */
+ struct timespec st_mtim; /* Time of last modification. */
+ struct timespec st_ctim; /* Time of last status change. */
+#else
+ __time_t st_atime; /* Time of last access. */
+ unsigned long int st_atimensec; /* Nscecs of last access. */
+ __time_t st_mtime; /* Time of last modification. */
+ unsigned long int st_mtimensec; /* Nsecs of last modification. */
+ __time_t st_ctime; /* Time of last status change. */
+ unsigned long int st_ctimensec; /* Nsecs of last status change. */
+#endif
+ int __glibc_reserved[2];
+ };
+#endif
+
+/* Tell code we have these members. */
+#define _STATBUF_ST_BLKSIZE
+#define _STATBUF_ST_RDEV
+/* Nanosecond resolution time values are supported. */
+#define _STATBUF_ST_NSEC
+
+#endif /* _BITS_STRUCT_STAT_H */
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/sys_errlist.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/sys_errlist.h
deleted file mode 100644
index 4f725e9..0000000
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/sys_errlist.h
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Declare sys_errlist and sys_nerr, or don't. Compatibility (do) version.
- Copyright (C) 2002-2018 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _STDIO_H
-# error "Never include <bits/sys_errlist.h> directly; use <stdio.h> instead."
-#endif
-
-/* sys_errlist and sys_nerr are deprecated. Use strerror instead. */
-
-#ifdef __USE_MISC
-extern int sys_nerr;
-extern const char *const sys_errlist[];
-#endif
-#ifdef __USE_GNU
-extern int _sys_nerr;
-extern const char *const _sys_errlist[];
-#endif
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/syscall.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/syscall.h
index 65a64d0..98c9ea7 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/syscall.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/syscall.h
@@ -1,11 +1,11 @@
/* Generated at libc build time from syscall list. */
-/* The system call list corresponds to kernel 4.14. */
+/* The system call list corresponds to kernel 5.10. */
#ifndef _SYSCALL_H
# error "Never use <bits/syscall.h> directly; include <sys/syscall.h> instead."
#endif
-#define __GLIBC_LINUX_VERSION_CODE 265728
+#define __GLIBC_LINUX_VERSION_CODE 330240
#ifdef __NR_FAST_atomic_update
# define SYS_FAST_atomic_update __NR_FAST_atomic_update
@@ -75,6 +75,18 @@
# define SYS_alloc_hugepages __NR_alloc_hugepages
#endif
+#ifdef __NR_arc_gettls
+# define SYS_arc_gettls __NR_arc_gettls
+#endif
+
+#ifdef __NR_arc_settls
+# define SYS_arc_settls __NR_arc_settls
+#endif
+
+#ifdef __NR_arc_usr_cmpxchg
+# define SYS_arc_usr_cmpxchg __NR_arc_usr_cmpxchg
+#endif
+
#ifdef __NR_arch_prctl
# define SYS_arch_prctl __NR_arch_prctl
#endif
@@ -115,6 +127,10 @@
# define SYS_break __NR_break
#endif
+#ifdef __NR_breakpoint
+# define SYS_breakpoint __NR_breakpoint
+#endif
+
#ifdef __NR_brk
# define SYS_brk __NR_brk
#endif
@@ -159,22 +175,42 @@
# define SYS_clock_adjtime __NR_clock_adjtime
#endif
+#ifdef __NR_clock_adjtime64
+# define SYS_clock_adjtime64 __NR_clock_adjtime64
+#endif
+
#ifdef __NR_clock_getres
# define SYS_clock_getres __NR_clock_getres
#endif
+#ifdef __NR_clock_getres_time64
+# define SYS_clock_getres_time64 __NR_clock_getres_time64
+#endif
+
#ifdef __NR_clock_gettime
# define SYS_clock_gettime __NR_clock_gettime
#endif
+#ifdef __NR_clock_gettime64
+# define SYS_clock_gettime64 __NR_clock_gettime64
+#endif
+
#ifdef __NR_clock_nanosleep
# define SYS_clock_nanosleep __NR_clock_nanosleep
#endif
+#ifdef __NR_clock_nanosleep_time64
+# define SYS_clock_nanosleep_time64 __NR_clock_nanosleep_time64
+#endif
+
#ifdef __NR_clock_settime
# define SYS_clock_settime __NR_clock_settime
#endif
+#ifdef __NR_clock_settime64
+# define SYS_clock_settime64 __NR_clock_settime64
+#endif
+
#ifdef __NR_clone
# define SYS_clone __NR_clone
#endif
@@ -183,10 +219,18 @@
# define SYS_clone2 __NR_clone2
#endif
+#ifdef __NR_clone3
+# define SYS_clone3 __NR_clone3
+#endif
+
#ifdef __NR_close
# define SYS_close __NR_close
#endif
+#ifdef __NR_close_range
+# define SYS_close_range __NR_close_range
+#endif
+
#ifdef __NR_cmpxchg_badaddr
# define SYS_cmpxchg_badaddr __NR_cmpxchg_badaddr
#endif
@@ -291,6 +335,10 @@
# define SYS_faccessat __NR_faccessat
#endif
+#ifdef __NR_faccessat2
+# define SYS_faccessat2 __NR_faccessat2
+#endif
+
#ifdef __NR_fadvise64
# define SYS_fadvise64 __NR_fadvise64
#endif
@@ -367,6 +415,10 @@
# define SYS_fork __NR_fork
#endif
+#ifdef __NR_fp_udfiex_crtl
+# define SYS_fp_udfiex_crtl __NR_fp_udfiex_crtl
+#endif
+
#ifdef __NR_free_hugepages
# define SYS_free_hugepages __NR_free_hugepages
#endif
@@ -375,10 +427,26 @@
# define SYS_fremovexattr __NR_fremovexattr
#endif
+#ifdef __NR_fsconfig
+# define SYS_fsconfig __NR_fsconfig
+#endif
+
#ifdef __NR_fsetxattr
# define SYS_fsetxattr __NR_fsetxattr
#endif
+#ifdef __NR_fsmount
+# define SYS_fsmount __NR_fsmount
+#endif
+
+#ifdef __NR_fsopen
+# define SYS_fsopen __NR_fsopen
+#endif
+
+#ifdef __NR_fspick
+# define SYS_fspick __NR_fspick
+#endif
+
#ifdef __NR_fstat
# define SYS_fstat __NR_fstat
#endif
@@ -419,6 +487,10 @@
# define SYS_futex __NR_futex
#endif
+#ifdef __NR_futex_time64
+# define SYS_futex_time64 __NR_futex_time64
+#endif
+
#ifdef __NR_futimesat
# define SYS_futimesat __NR_futimesat
#endif
@@ -439,6 +511,10 @@
# define SYS_get_thread_area __NR_get_thread_area
#endif
+#ifdef __NR_get_tls
+# define SYS_get_tls __NR_get_tls
+#endif
+
#ifdef __NR_getcpu
# define SYS_getcpu __NR_getcpu
#endif
@@ -651,6 +727,14 @@
# define SYS_io_getevents __NR_io_getevents
#endif
+#ifdef __NR_io_pgetevents
+# define SYS_io_pgetevents __NR_io_pgetevents
+#endif
+
+#ifdef __NR_io_pgetevents_time64
+# define SYS_io_pgetevents_time64 __NR_io_pgetevents_time64
+#endif
+
#ifdef __NR_io_setup
# define SYS_io_setup __NR_io_setup
#endif
@@ -659,6 +743,18 @@
# define SYS_io_submit __NR_io_submit
#endif
+#ifdef __NR_io_uring_enter
+# define SYS_io_uring_enter __NR_io_uring_enter
+#endif
+
+#ifdef __NR_io_uring_register
+# define SYS_io_uring_register __NR_io_uring_register
+#endif
+
+#ifdef __NR_io_uring_setup
+# define SYS_io_uring_setup __NR_io_uring_setup
+#endif
+
#ifdef __NR_ioctl
# define SYS_ioctl __NR_ioctl
#endif
@@ -843,6 +939,10 @@
# define SYS_mount __NR_mount
#endif
+#ifdef __NR_move_mount
+# define SYS_move_mount __NR_move_mount
+#endif
+
#ifdef __NR_move_pages
# define SYS_move_pages __NR_move_pages
#endif
@@ -871,10 +971,18 @@
# define SYS_mq_timedreceive __NR_mq_timedreceive
#endif
+#ifdef __NR_mq_timedreceive_time64
+# define SYS_mq_timedreceive_time64 __NR_mq_timedreceive_time64
+#endif
+
#ifdef __NR_mq_timedsend
# define SYS_mq_timedsend __NR_mq_timedsend
#endif
+#ifdef __NR_mq_timedsend_time64
+# define SYS_mq_timedsend_time64 __NR_mq_timedsend_time64
+#endif
+
#ifdef __NR_mq_unlink
# define SYS_mq_unlink __NR_mq_unlink
#endif
@@ -947,6 +1055,10 @@
# define SYS_old_adjtimex __NR_old_adjtimex
#endif
+#ifdef __NR_old_getpagesize
+# define SYS_old_getpagesize __NR_old_getpagesize
+#endif
+
#ifdef __NR_oldfstat
# define SYS_oldfstat __NR_oldfstat
#endif
@@ -979,10 +1091,18 @@
# define SYS_open_by_handle_at __NR_open_by_handle_at
#endif
+#ifdef __NR_open_tree
+# define SYS_open_tree __NR_open_tree
+#endif
+
#ifdef __NR_openat
# define SYS_openat __NR_openat
#endif
+#ifdef __NR_openat2
+# define SYS_openat2 __NR_openat2
+#endif
+
#ifdef __NR_osf_adjtime
# define SYS_osf_adjtime __NR_osf_adjtime
#endif
@@ -1455,6 +1575,18 @@
# define SYS_personality __NR_personality
#endif
+#ifdef __NR_pidfd_getfd
+# define SYS_pidfd_getfd __NR_pidfd_getfd
+#endif
+
+#ifdef __NR_pidfd_open
+# define SYS_pidfd_open __NR_pidfd_open
+#endif
+
+#ifdef __NR_pidfd_send_signal
+# define SYS_pidfd_send_signal __NR_pidfd_send_signal
+#endif
+
#ifdef __NR_pipe
# define SYS_pipe __NR_pipe
#endif
@@ -1487,6 +1619,10 @@
# define SYS_ppoll __NR_ppoll
#endif
+#ifdef __NR_ppoll_time64
+# define SYS_ppoll_time64 __NR_ppoll_time64
+#endif
+
#ifdef __NR_prctl
# define SYS_prctl __NR_prctl
#endif
@@ -1507,6 +1643,10 @@
# define SYS_prlimit64 __NR_prlimit64
#endif
+#ifdef __NR_process_madvise
+# define SYS_process_madvise __NR_process_madvise
+#endif
+
#ifdef __NR_process_vm_readv
# define SYS_process_vm_readv __NR_process_vm_readv
#endif
@@ -1527,6 +1667,10 @@
# define SYS_pselect6 __NR_pselect6
#endif
+#ifdef __NR_pselect6_time64
+# define SYS_pselect6_time64 __NR_pselect6_time64
+#endif
+
#ifdef __NR_ptrace
# define SYS_ptrace __NR_ptrace
#endif
@@ -1595,6 +1739,10 @@
# define SYS_recvmmsg __NR_recvmmsg
#endif
+#ifdef __NR_recvmmsg_time64
+# define SYS_recvmmsg_time64 __NR_recvmmsg_time64
+#endif
+
#ifdef __NR_recvmsg
# define SYS_recvmsg __NR_recvmsg
#endif
@@ -1627,10 +1775,18 @@
# define SYS_restart_syscall __NR_restart_syscall
#endif
+#ifdef __NR_riscv_flush_icache
+# define SYS_riscv_flush_icache __NR_riscv_flush_icache
+#endif
+
#ifdef __NR_rmdir
# define SYS_rmdir __NR_rmdir
#endif
+#ifdef __NR_rseq
+# define SYS_rseq __NR_rseq
+#endif
+
#ifdef __NR_rt_sigaction
# define SYS_rt_sigaction __NR_rt_sigaction
#endif
@@ -1659,6 +1815,10 @@
# define SYS_rt_sigtimedwait __NR_rt_sigtimedwait
#endif
+#ifdef __NR_rt_sigtimedwait_time64
+# define SYS_rt_sigtimedwait_time64 __NR_rt_sigtimedwait_time64
+#endif
+
#ifdef __NR_rt_tgsigqueueinfo
# define SYS_rt_tgsigqueueinfo __NR_rt_tgsigqueueinfo
#endif
@@ -1683,6 +1843,10 @@
# define SYS_s390_runtime_instr __NR_s390_runtime_instr
#endif
+#ifdef __NR_s390_sthyi
+# define SYS_s390_sthyi __NR_s390_sthyi
+#endif
+
#ifdef __NR_sched_get_affinity
# define SYS_sched_get_affinity __NR_sched_get_affinity
#endif
@@ -1715,6 +1879,10 @@
# define SYS_sched_rr_get_interval __NR_sched_rr_get_interval
#endif
+#ifdef __NR_sched_rr_get_interval_time64
+# define SYS_sched_rr_get_interval_time64 __NR_sched_rr_get_interval_time64
+#endif
+
#ifdef __NR_sched_set_affinity
# define SYS_sched_set_affinity __NR_sched_set_affinity
#endif
@@ -1767,6 +1935,10 @@
# define SYS_semtimedop __NR_semtimedop
#endif
+#ifdef __NR_semtimedop_time64
+# define SYS_semtimedop_time64 __NR_semtimedop_time64
+#endif
+
#ifdef __NR_send
# define SYS_send __NR_send
#endif
@@ -1807,6 +1979,10 @@
# define SYS_set_tid_address __NR_set_tid_address
#endif
+#ifdef __NR_set_tls
+# define SYS_set_tls __NR_set_tls
+#endif
+
#ifdef __NR_setdomainname
# define SYS_setdomainname __NR_setdomainname
#endif
@@ -2155,10 +2331,18 @@
# define SYS_timer_gettime __NR_timer_gettime
#endif
+#ifdef __NR_timer_gettime64
+# define SYS_timer_gettime64 __NR_timer_gettime64
+#endif
+
#ifdef __NR_timer_settime
# define SYS_timer_settime __NR_timer_settime
#endif
+#ifdef __NR_timer_settime64
+# define SYS_timer_settime64 __NR_timer_settime64
+#endif
+
#ifdef __NR_timerfd
# define SYS_timerfd __NR_timerfd
#endif
@@ -2171,10 +2355,18 @@
# define SYS_timerfd_gettime __NR_timerfd_gettime
#endif
+#ifdef __NR_timerfd_gettime64
+# define SYS_timerfd_gettime64 __NR_timerfd_gettime64
+#endif
+
#ifdef __NR_timerfd_settime
# define SYS_timerfd_settime __NR_timerfd_settime
#endif
+#ifdef __NR_timerfd_settime64
+# define SYS_timerfd_settime64 __NR_timerfd_settime64
+#endif
+
#ifdef __NR_times
# define SYS_times __NR_times
#endif
@@ -2195,6 +2387,10 @@
# define SYS_tuxcall __NR_tuxcall
#endif
+#ifdef __NR_udftrap
+# define SYS_udftrap __NR_udftrap
+#endif
+
#ifdef __NR_ugetrlimit
# define SYS_ugetrlimit __NR_ugetrlimit
#endif
@@ -2239,6 +2435,14 @@
# define SYS_userfaultfd __NR_userfaultfd
#endif
+#ifdef __NR_usr26
+# define SYS_usr26 __NR_usr26
+#endif
+
+#ifdef __NR_usr32
+# define SYS_usr32 __NR_usr32
+#endif
+
#ifdef __NR_ustat
# define SYS_ustat __NR_ustat
#endif
@@ -2251,6 +2455,10 @@
# define SYS_utimensat __NR_utimensat
#endif
+#ifdef __NR_utimensat_time64
+# define SYS_utimensat_time64 __NR_utimensat_time64
+#endif
+
#ifdef __NR_utimes
# define SYS_utimes __NR_utimes
#endif
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/sysctl.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/sysctl.h
deleted file mode 100644
index 81447b2..0000000
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/sysctl.h
+++ /dev/null
@@ -1 +0,0 @@
-/* Empty file. */
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/syslog-ldbl.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/syslog-ldbl.h
index 977f90a..b6fbb08 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/syslog-ldbl.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/syslog-ldbl.h
@@ -1,5 +1,5 @@
/* -mlong-double-64 compatibility mode for syslog functions.
- Copyright (C) 2006-2018 Free Software Foundation, Inc.
+ Copyright (C) 2006-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -14,7 +14,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef _SYS_SYSLOG_H
# error "Never include <bits/syslog-ldbl.h> directly; use <sys/syslog.h> instead."
@@ -27,9 +27,9 @@
#endif
#if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function
-__LDBL_REDIR_DECL (__syslog_chk)
+__LDBL_REDIR2_DECL (syslog_chk)
# ifdef __USE_MISC
-__LDBL_REDIR_DECL (__vsyslog_chk)
+__LDBL_REDIR2_DECL (vsyslog_chk)
# endif
#endif
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/syslog-path.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/syslog-path.h
index b569190..1449062 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/syslog-path.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/syslog-path.h
@@ -1,5 +1,5 @@
/* <bits/syslog-path.h> -- _PATH_LOG definition
- Copyright (C) 2006-2018 Free Software Foundation, Inc.
+ Copyright (C) 2006-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -14,7 +14,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef _SYS_SYSLOG_H
# error "Never include this file directly. Use <sys/syslog.h> instead"
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/syslog.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/syslog.h
index ef58020..5825f13 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/syslog.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/syslog.h
@@ -1,5 +1,5 @@
/* Checking macros for syslog functions.
- Copyright (C) 2005-2018 Free Software Foundation, Inc.
+ Copyright (C) 2005-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -14,7 +14,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef _SYS_SYSLOG_H
# error "Never include <bits/syslog.h> directly; use <sys/syslog.h> instead."
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/sysmacros.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/sysmacros.h
index ea8d562..55913b1 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/sysmacros.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/sysmacros.h
@@ -1,5 +1,5 @@
/* Definitions of macros to access `dev_t' values.
- Copyright (C) 1996-2018 Free Software Foundation, Inc.
+ Copyright (C) 1996-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -14,7 +14,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef _BITS_SYSMACROS_H
#define _BITS_SYSMACROS_H 1
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/termios-baud.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/termios-baud.h
new file mode 100644
index 0000000..0ec0484
--- /dev/null
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/termios-baud.h
@@ -0,0 +1,48 @@
+/* termios baud rate selection definitions. Linux/generic version.
+ Copyright (C) 2019-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library. If not, see
+ <https://www.gnu.org/licenses/>. */
+
+#ifndef _TERMIOS_H
+# error "Never include <bits/termios-baud.h> directly; use <termios.h> instead."
+#endif
+
+#ifdef __USE_MISC
+# define CBAUD 000000010017 /* Baud speed mask (not in POSIX). */
+# define CBAUDEX 000000010000 /* Extra baud speed mask, included in CBAUD.
+ (not in POSIX). */
+# define CIBAUD 002003600000 /* Input baud rate (not used). */
+# define CMSPAR 010000000000 /* Mark or space (stick) parity. */
+# define CRTSCTS 020000000000 /* Flow control. */
+#endif
+
+/* Extra output baud rates (not in POSIX). */
+#define B57600 0010001
+#define B115200 0010002
+#define B230400 0010003
+#define B460800 0010004
+#define B500000 0010005
+#define B576000 0010006
+#define B921600 0010007
+#define B1000000 0010010
+#define B1152000 0010011
+#define B1500000 0010012
+#define B2000000 0010013
+#define B2500000 0010014
+#define B3000000 0010015
+#define B3500000 0010016
+#define B4000000 0010017
+#define __MAX_BAUD B4000000
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/termios-c_cc.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/termios-c_cc.h
new file mode 100644
index 0000000..a44813c
--- /dev/null
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/termios-c_cc.h
@@ -0,0 +1,40 @@
+/* termios c_cc symbolic constant definitions. Linux/generic version.
+ Copyright (C) 2019-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library. If not, see
+ <https://www.gnu.org/licenses/>. */
+
+#ifndef _TERMIOS_H
+# error "Never include <bits/termios_c_cc.h> directly; use <termios.h> instead."
+#endif
+
+/* c_cc characters */
+#define VINTR 0
+#define VQUIT 1
+#define VERASE 2
+#define VKILL 3
+#define VEOF 4
+#define VTIME 5
+#define VMIN 6
+#define VSWTC 7
+#define VSTART 8
+#define VSTOP 9
+#define VSUSP 10
+#define VEOL 11
+#define VREPRINT 12
+#define VDISCARD 13
+#define VWERASE 14
+#define VLNEXT 15
+#define VEOL2 16
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/termios-c_cflag.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/termios-c_cflag.h
new file mode 100644
index 0000000..d1b45e6
--- /dev/null
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/termios-c_cflag.h
@@ -0,0 +1,34 @@
+/* termios control mode definitions. Linux/generic version.
+ Copyright (C) 2019-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library. If not, see
+ <https://www.gnu.org/licenses/>. */
+
+#ifndef _TERMIOS_H
+# error "Never include <bits/termios-c_cflag.h> directly; use <termios.h> instead."
+#endif
+
+/* c_cflag bits. */
+#define CSIZE 0000060
+#define CS5 0000000
+#define CS6 0000020
+#define CS7 0000040
+#define CS8 0000060
+#define CSTOPB 0000100
+#define CREAD 0000200
+#define PARENB 0000400
+#define PARODD 0001000
+#define HUPCL 0002000
+#define CLOCAL 0004000
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/termios-c_iflag.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/termios-c_iflag.h
new file mode 100644
index 0000000..c74511c
--- /dev/null
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/termios-c_iflag.h
@@ -0,0 +1,40 @@
+/* termios input mode definitions. Linux/generic version.
+ Copyright (C) 2019-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library. If not, see
+ <https://www.gnu.org/licenses/>. */
+
+#ifndef _TERMIOS_H
+# error "Never include <bits/termios-ciflags.h> directly; use <termios.h> instead."
+#endif
+
+/* c_iflag bits */
+#define IGNBRK 0000001 /* Ignore break condition. */
+#define BRKINT 0000002 /* Signal interrupt on break. */
+#define IGNPAR 0000004 /* Ignore characters with parity errors. */
+#define PARMRK 0000010 /* Mark parity and framing errors. */
+#define INPCK 0000020 /* Enable input parity check. */
+#define ISTRIP 0000040 /* Strip 8th bit off characters. */
+#define INLCR 0000100 /* Map NL to CR on input. */
+#define IGNCR 0000200 /* Ignore CR. */
+#define ICRNL 0000400 /* Map CR to NL on input. */
+#define IUCLC 0001000 /* Map uppercase characters to lowercase on input
+ (not in POSIX). */
+#define IXON 0002000 /* Enable start/stop output control. */
+#define IXANY 0004000 /* Enable any character to restart output. */
+#define IXOFF 0010000 /* Enable start/stop input control. */
+#define IMAXBEL 0020000 /* Ring bell when input queue is full
+ (not in POSIX). */
+#define IUTF8 0040000 /* Input is UTF8 (not in POSIX). */
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/termios-c_lflag.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/termios-c_lflag.h
new file mode 100644
index 0000000..0b2b5db
--- /dev/null
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/termios-c_lflag.h
@@ -0,0 +1,58 @@
+/* termios local mode definitions. Linux/generic version.
+ Copyright (C) 2019-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library. If not, see
+ <https://www.gnu.org/licenses/>. */
+
+#ifndef _TERMIOS_H
+# error "Never include <bits/termios-c_lflag.h> directly; use <termios.h> instead."
+#endif
+
+/* c_lflag bits */
+#define ISIG 0000001 /* Enable signals. */
+#define ICANON 0000002 /* Canonical input (erase and kill processing). */
+#if defined __USE_MISC || (defined __USE_XOPEN && !defined __USE_XOPEN2K)
+# define XCASE 0000004
+#endif
+#define ECHO 0000010 /* Enable echo. */
+#define ECHOE 0000020 /* Echo erase character as error-correcting
+ backspace. */
+#define ECHOK 0000040 /* Echo KILL. */
+#define ECHONL 0000100 /* Echo NL. */
+#define NOFLSH 0000200 /* Disable flush after interrupt or quit. */
+#define TOSTOP 0000400 /* Send SIGTTOU for background output. */
+#ifdef __USE_MISC
+# define ECHOCTL 0001000 /* If ECHO is also set, terminal special characters
+ other than TAB, NL, START, and STOP are echoed as
+ ^X, where X is the character with ASCII code 0x40
+ greater than the special character
+ (not in POSIX). */
+# define ECHOPRT 0002000 /* If ICANON and ECHO are also set, characters are
+ printed as they are being erased
+ (not in POSIX). */
+# define ECHOKE 0004000 /* If ICANON is also set, KILL is echoed by erasing
+ each character on the line, as specified by ECHOE
+ and ECHOPRT (not in POSIX). */
+# define FLUSHO 0010000 /* Output is being flushed. This flag is toggled by
+ typing the DISCARD character (not in POSIX). */
+# define PENDIN 0040000 /* All characters in the input queue are reprinted
+ when the next character is read
+ (not in POSIX). */
+#endif
+#define IEXTEN 0100000 /* Enable implementation-defined input
+ processing. */
+#ifdef __USE_MISC
+# define EXTPROC 0200000
+#endif
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/termios-c_oflag.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/termios-c_oflag.h
new file mode 100644
index 0000000..6bf7a29
--- /dev/null
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/termios-c_oflag.h
@@ -0,0 +1,61 @@
+/* termios output mode definitions. Linux/generic version.
+ Copyright (C) 2019-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library. If not, see
+ <https://www.gnu.org/licenses/>. */
+
+#ifndef _TERMIOS_H
+# error "Never include <bits/termios-c_oflag.h> directly; use <termios.h> instead."
+#endif
+
+/* c_oflag bits */
+#define OPOST 0000001 /* Post-process output. */
+#define OLCUC 0000002 /* Map lowercase characters to uppercase on output.
+ (not in POSIX). */
+#define ONLCR 0000004 /* Map NL to CR-NL on output. */
+#define OCRNL 0000010 /* Map CR to NL on output. */
+#define ONOCR 0000020 /* No CR output at column 0. */
+#define ONLRET 0000040 /* NL performs CR function. */
+#define OFILL 0000100 /* Use fill characters for delay. */
+#define OFDEL 0000200 /* Fill is DEL. */
+#if defined __USE_MISC || defined __USE_XOPEN
+# define NLDLY 0000400 /* Select newline delays: */
+# define NL0 0000000 /* Newline type 0. */
+# define NL1 0000400 /* Newline type 1. */
+# define CRDLY 0003000 /* Select carriage-return delays: */
+# define CR0 0000000 /* Carriage-return delay type 0. */
+# define CR1 0001000 /* Carriage-return delay type 1. */
+# define CR2 0002000 /* Carriage-return delay type 2. */
+# define CR3 0003000 /* Carriage-return delay type 3. */
+# define TABDLY 0014000 /* Select horizontal-tab delays: */
+# define TAB0 0000000 /* Horizontal-tab delay type 0. */
+# define TAB1 0004000 /* Horizontal-tab delay type 1. */
+# define TAB2 0010000 /* Horizontal-tab delay type 2. */
+# define TAB3 0014000 /* Expand tabs to spaces. */
+# define BSDLY 0020000 /* Select backspace delays: */
+# define BS0 0000000 /* Backspace-delay type 0. */
+# define BS1 0020000 /* Backspace-delay type 1. */
+# define FFDLY 0100000 /* Select form-feed delays: */
+# define FF0 0000000 /* Form-feed delay type 0. */
+# define FF1 0100000 /* Form-feed delay type 1. */
+#endif
+
+#define VTDLY 0040000 /* Select vertical-tab delays: */
+#define VT0 0000000 /* Vertical-tab delay type 0. */
+#define VT1 0040000 /* Vertical-tab delay type 1. */
+
+#ifdef __USE_MISC
+# define XTABS 0014000
+#endif
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/termios-misc.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/termios-misc.h
new file mode 100644
index 0000000..690b601
--- /dev/null
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/termios-misc.h
@@ -0,0 +1,21 @@
+/* termios baud platform specific definitions. Linux/generic version.
+ Copyright (C) 2019-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library. If not, see
+ <https://www.gnu.org/licenses/>. */
+
+#ifndef _TERMIOS_H
+# error "Never include <bits/termios-misc.h> directly; use <termios.h> instead."
+#endif
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/termios-struct.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/termios-struct.h
new file mode 100644
index 0000000..f227f5b
--- /dev/null
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/termios-struct.h
@@ -0,0 +1,36 @@
+/* struct termios definition. Linux/generic version.
+ Copyright (C) 2019-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library. If not, see
+ <https://www.gnu.org/licenses/>. */
+
+#ifndef _TERMIOS_H
+# error "Never include <bits/termios-struct.h> directly; use <termios.h> instead."
+#endif
+
+#define NCCS 32
+struct termios
+ {
+ tcflag_t c_iflag; /* input mode flags */
+ tcflag_t c_oflag; /* output mode flags */
+ tcflag_t c_cflag; /* control mode flags */
+ tcflag_t c_lflag; /* local mode flags */
+ cc_t c_line; /* line discipline */
+ cc_t c_cc[NCCS]; /* control characters */
+ speed_t c_ispeed; /* input speed */
+ speed_t c_ospeed; /* output speed */
+#define _HAVE_STRUCT_TERMIOS_C_ISPEED 1
+#define _HAVE_STRUCT_TERMIOS_C_OSPEED 1
+ };
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/termios-tcflow.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/termios-tcflow.h
new file mode 100644
index 0000000..3ee5631
--- /dev/null
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/termios-tcflow.h
@@ -0,0 +1,26 @@
+/* termios tcflag symbolic contants definitions. Linux/generic version.
+ Copyright (C) 2019-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library. If not, see
+ <https://www.gnu.org/licenses/>. */
+
+#ifndef _TERMIOS_H
+# error "Never include <bits/termios-tcflow.h> directly; use <termios.h> instead."
+#endif
+
+/* tcsetattr uses these. */
+#define TCSANOW 0
+#define TCSADRAIN 1
+#define TCSAFLUSH 2
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/termios.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/termios.h
index 35efa97..67c847f 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/termios.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/termios.h
@@ -1,5 +1,5 @@
/* termios type and macro definitions. Linux version.
- Copyright (C) 1993-2018 Free Software Foundation, Inc.
+ Copyright (C) 1993-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -14,7 +14,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef _TERMIOS_H
# error "Never include <bits/termios.h> directly; use <termios.h> instead."
@@ -24,100 +24,12 @@
typedef unsigned int speed_t;
typedef unsigned int tcflag_t;
-#define NCCS 32
-struct termios
- {
- tcflag_t c_iflag; /* input mode flags */
- tcflag_t c_oflag; /* output mode flags */
- tcflag_t c_cflag; /* control mode flags */
- tcflag_t c_lflag; /* local mode flags */
- cc_t c_line; /* line discipline */
- cc_t c_cc[NCCS]; /* control characters */
- speed_t c_ispeed; /* input speed */
- speed_t c_ospeed; /* output speed */
-#define _HAVE_STRUCT_TERMIOS_C_ISPEED 1
-#define _HAVE_STRUCT_TERMIOS_C_OSPEED 1
- };
-
-/* c_cc characters */
-#define VINTR 0
-#define VQUIT 1
-#define VERASE 2
-#define VKILL 3
-#define VEOF 4
-#define VTIME 5
-#define VMIN 6
-#define VSWTC 7
-#define VSTART 8
-#define VSTOP 9
-#define VSUSP 10
-#define VEOL 11
-#define VREPRINT 12
-#define VDISCARD 13
-#define VWERASE 14
-#define VLNEXT 15
-#define VEOL2 16
-
-/* c_iflag bits */
-#define IGNBRK 0000001
-#define BRKINT 0000002
-#define IGNPAR 0000004
-#define PARMRK 0000010
-#define INPCK 0000020
-#define ISTRIP 0000040
-#define INLCR 0000100
-#define IGNCR 0000200
-#define ICRNL 0000400
-#define IUCLC 0001000
-#define IXON 0002000
-#define IXANY 0004000
-#define IXOFF 0010000
-#define IMAXBEL 0020000
-#define IUTF8 0040000
-
-/* c_oflag bits */
-#define OPOST 0000001
-#define OLCUC 0000002
-#define ONLCR 0000004
-#define OCRNL 0000010
-#define ONOCR 0000020
-#define ONLRET 0000040
-#define OFILL 0000100
-#define OFDEL 0000200
-#if defined __USE_MISC || defined __USE_XOPEN
-# define NLDLY 0000400
-# define NL0 0000000
-# define NL1 0000400
-# define CRDLY 0003000
-# define CR0 0000000
-# define CR1 0001000
-# define CR2 0002000
-# define CR3 0003000
-# define TABDLY 0014000
-# define TAB0 0000000
-# define TAB1 0004000
-# define TAB2 0010000
-# define TAB3 0014000
-# define BSDLY 0020000
-# define BS0 0000000
-# define BS1 0020000
-# define FFDLY 0100000
-# define FF0 0000000
-# define FF1 0100000
-#endif
-
-#define VTDLY 0040000
-#define VT0 0000000
-#define VT1 0040000
-
-#ifdef __USE_MISC
-# define XTABS 0014000
-#endif
+#include <bits/termios-struct.h>
+#include <bits/termios-c_cc.h>
+#include <bits/termios-c_iflag.h>
+#include <bits/termios-c_oflag.h>
/* c_cflag bit meaning */
-#ifdef __USE_MISC
-# define CBAUD 0010017
-#endif
#define B0 0000000 /* hang up */
#define B50 0000001
#define B75 0000002
@@ -138,64 +50,14 @@
# define EXTA B19200
# define EXTB B38400
#endif
-#define CSIZE 0000060
-#define CS5 0000000
-#define CS6 0000020
-#define CS7 0000040
-#define CS8 0000060
-#define CSTOPB 0000100
-#define CREAD 0000200
-#define PARENB 0000400
-#define PARODD 0001000
-#define HUPCL 0002000
-#define CLOCAL 0004000
-#ifdef __USE_MISC
-# define CBAUDEX 0010000
-#endif
-#define B57600 0010001
-#define B115200 0010002
-#define B230400 0010003
-#define B460800 0010004
-#define B500000 0010005
-#define B576000 0010006
-#define B921600 0010007
-#define B1000000 0010010
-#define B1152000 0010011
-#define B1500000 0010012
-#define B2000000 0010013
-#define B2500000 0010014
-#define B3000000 0010015
-#define B3500000 0010016
-#define B4000000 0010017
-#define __MAX_BAUD B4000000
-#ifdef __USE_MISC
-# define CIBAUD 002003600000 /* input baud rate (not used) */
-# define CMSPAR 010000000000 /* mark or space (stick) parity */
-# define CRTSCTS 020000000000 /* flow control */
-#endif
+#include <bits/termios-baud.h>
-/* c_lflag bits */
-#define ISIG 0000001
-#define ICANON 0000002
-#if defined __USE_MISC || (defined __USE_XOPEN && !defined __USE_XOPEN2K)
-# define XCASE 0000004
-#endif
-#define ECHO 0000010
-#define ECHOE 0000020
-#define ECHOK 0000040
-#define ECHONL 0000100
-#define NOFLSH 0000200
-#define TOSTOP 0000400
+#include <bits/termios-c_cflag.h>
+#include <bits/termios-c_lflag.h>
+
#ifdef __USE_MISC
-# define ECHOCTL 0001000
-# define ECHOPRT 0002000
-# define ECHOKE 0004000
-# define FLUSHO 0010000
-# define PENDIN 0040000
-#endif
-#define IEXTEN 0100000
-#ifdef __USE_MISC
-# define EXTPROC 0200000
+/* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */
+# define TIOCSER_TEMT 0x01 /* Transmitter physically empty */
#endif
/* tcflow() and TCXONC use these */
@@ -209,11 +71,6 @@
#define TCOFLUSH 1
#define TCIOFLUSH 2
-/* tcsetattr uses these */
-#define TCSANOW 0
-#define TCSADRAIN 1
-#define TCSAFLUSH 2
+#include <bits/termios-tcflow.h>
-
-#define _IOT_termios /* Hurd ioctl type field. */ \
- _IOT (_IOTS (cflag_t), 4, _IOTS (cc_t), NCCS, _IOTS (speed_t), 2)
+#include <bits/termios-misc.h>
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/thread-shared-types.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/thread-shared-types.h
index 1e2092a..44bf1e3 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/thread-shared-types.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/thread-shared-types.h
@@ -1,5 +1,5 @@
/* Common threading primitives definitions for both POSIX and C11.
- Copyright (C) 2017-2018 Free Software Foundation, Inc.
+ Copyright (C) 2017-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -14,7 +14,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef _THREAD_SHARED_TYPES_H
#define _THREAD_SHARED_TYPES_H 1
@@ -32,36 +32,6 @@
__SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
__SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
- Also, the following macros must be define for internal pthread_mutex_t
- struct definitions (struct __pthread_mutex_s):
-
- __PTHREAD_COMPAT_PADDING_MID - any additional members after 'kind'
- and before '__spin' (for 64 bits) or
- '__nusers' (for 32 bits).
- __PTHREAD_COMPAT_PADDING_END - any additional members at the end of
- the internal structure.
- __PTHREAD_MUTEX_LOCK_ELISION - 1 if the architecture supports lock
- elision or 0 otherwise.
- __PTHREAD_MUTEX_NUSERS_AFTER_KIND - control where to put __nusers. The
- preferred value for new architectures
- is 0.
- __PTHREAD_MUTEX_USE_UNION - control whether internal __spins and
- __list will be place inside a union for
- linuxthreads compatibility.
- The preferred value for new architectures
- is 0.
-
- For a new port the preferred values for the required defines are:
-
- #define __PTHREAD_COMPAT_PADDING_MID
- #define __PTHREAD_COMPAT_PADDING_END
- #define __PTHREAD_MUTEX_LOCK_ELISION 0
- #define __PTHREAD_MUTEX_NUSERS_AFTER_KIND 0
- #define __PTHREAD_MUTEX_USE_UNION 0
-
- __PTHREAD_MUTEX_LOCK_ELISION can be set to 1 if the hardware plans to
- eventually support lock elision using transactional memory.
-
The additional macro defines any constraint for the lock alignment
inside the thread structures:
@@ -69,81 +39,52 @@
Same idea but for the once locking primitive:
- __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
+ __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition. */
- And finally the internal pthread_rwlock_t (struct __pthread_rwlock_arch_t)
- must be defined.
- */
#include <bits/pthreadtypes-arch.h>
+
/* Common definition of pthread_mutex_t. */
-#if !__PTHREAD_MUTEX_USE_UNION
typedef struct __pthread_internal_list
{
struct __pthread_internal_list *__prev;
struct __pthread_internal_list *__next;
} __pthread_list_t;
-#else
+
typedef struct __pthread_internal_slist
{
struct __pthread_internal_slist *__next;
} __pthread_slist_t;
-#endif
-/* Lock elision support. */
-#if __PTHREAD_MUTEX_LOCK_ELISION
-# if !__PTHREAD_MUTEX_USE_UNION
-# define __PTHREAD_SPINS_DATA \
- short __spins; \
- short __elision
-# define __PTHREAD_SPINS 0, 0
-# else
-# define __PTHREAD_SPINS_DATA \
- struct \
- { \
- short __espins; \
- short __eelision; \
- } __elision_data
-# define __PTHREAD_SPINS { 0, 0 }
-# define __spins __elision_data.__espins
-# define __elision __elision_data.__eelision
-# endif
-#else
-# define __PTHREAD_SPINS_DATA int __spins
-/* Mutex __spins initializer used by PTHREAD_MUTEX_INITIALIZER. */
-# define __PTHREAD_SPINS 0
-#endif
+/* Arch-specific mutex definitions. A generic implementation is provided
+ by sysdeps/nptl/bits/struct_mutex.h. If required, an architecture
+ can override it by defining:
-struct __pthread_mutex_s
-{
- int __lock __LOCK_ALIGNMENT;
- unsigned int __count;
- int __owner;
-#if !__PTHREAD_MUTEX_NUSERS_AFTER_KIND
- unsigned int __nusers;
-#endif
- /* KIND must stay at this position in the structure to maintain
- binary compatibility with static initializers. */
- int __kind;
- __PTHREAD_COMPAT_PADDING_MID
-#if __PTHREAD_MUTEX_NUSERS_AFTER_KIND
- unsigned int __nusers;
-#endif
-#if !__PTHREAD_MUTEX_USE_UNION
- __PTHREAD_SPINS_DATA;
- __pthread_list_t __list;
-# define __PTHREAD_MUTEX_HAVE_PREV 1
-#else
- __extension__ union
- {
- __PTHREAD_SPINS_DATA;
- __pthread_slist_t __list;
- };
-# define __PTHREAD_MUTEX_HAVE_PREV 0
-#endif
- __PTHREAD_COMPAT_PADDING_END
-};
+ 1. struct __pthread_mutex_s (used on both pthread_mutex_t and mtx_t
+ definition). It should contains at least the internal members
+ defined in the generic version.
+
+ 2. __LOCK_ALIGNMENT for any extra attribute for internal lock used with
+ atomic operations.
+
+ 3. The macro __PTHREAD_MUTEX_INITIALIZER used for static initialization.
+ It should initialize the mutex internal flag. */
+
+#include <bits/struct_mutex.h>
+
+/* Arch-sepecific read-write lock definitions. A generic implementation is
+ provided by struct_rwlock.h. If required, an architecture can override it
+ by defining:
+
+ 1. struct __pthread_rwlock_arch_t (used on pthread_rwlock_t definition).
+ It should contain at least the internal members defined in the
+ generic version.
+
+ 2. The macro __PTHREAD_RWLOCK_INITIALIZER used for static initialization.
+ It should initialize the rwlock internal type. */
+
+#include <bits/struct_rwlock.h>
/* Common definition of pthread_cond_t. */
@@ -175,4 +116,14 @@
unsigned int __g_signals[2];
};
+typedef unsigned int __tss_t;
+typedef unsigned long int __thrd_t;
+
+typedef struct
+{
+ int __data __ONCE_ALIGNMENT;
+} __once_flag;
+
+#define __ONCE_FLAG_INIT { 0 }
+
#endif /* _THREAD_SHARED_TYPES_H */
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/time.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/time.h
index 3df0dfd..ee5a8b3 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/time.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/time.h
@@ -1,5 +1,5 @@
/* System-dependent timing definitions. Linux version.
- Copyright (C) 1996-2018 Free Software Foundation, Inc.
+ Copyright (C) 1996-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -14,7 +14,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
/*
* Never include this file directly; use <time.h> instead.
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/time64.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/time64.h
new file mode 100644
index 0000000..af3e731
--- /dev/null
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/time64.h
@@ -0,0 +1,36 @@
+/* bits/time64.h -- underlying types for __time64_t. Generic version.
+ Copyright (C) 2018-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#ifndef _BITS_TYPES_H
+# error "Never include <bits/time64.h> directly; use <sys/types.h> instead."
+#endif
+
+#ifndef _BITS_TIME64_H
+#define _BITS_TIME64_H 1
+
+/* Define __TIME64_T_TYPE so that it is always a 64-bit type. */
+
+#if __TIMESIZE == 64
+/* If we already have 64-bit time type then use it. */
+# define __TIME64_T_TYPE __TIME_T_TYPE
+#else
+/* Define a 64-bit time type alongsize the 32-bit one. */
+# define __TIME64_T_TYPE __SQUAD_TYPE
+#endif
+
+#endif /* bits/time64.h */
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/timerfd.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/timerfd.h
index 305f1e4..6444915 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/timerfd.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/timerfd.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2018 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -13,7 +13,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef _SYS_TIMERFD_H
# error "Never use <bits/timerfd.h> directly; include <sys/timerfd.h> instead."
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/timesize.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/timesize.h
new file mode 100644
index 0000000..11a9c9a
--- /dev/null
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/timesize.h
@@ -0,0 +1,22 @@
+/* Bit size of the time_t type at glibc build time, general case.
+ Copyright (C) 2018-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#include <bits/wordsize.h>
+
+/* Size in bits of the 'time_t' type of the default ABI. */
+#define __TIMESIZE __WORDSIZE
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/timex.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/timex.h
index 1dbcc0b..9b2e30f 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/timex.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/timex.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995-2018 Free Software Foundation, Inc.
+/* Copyright (C) 1995-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -13,7 +13,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef _BITS_TIMEX_H
#define _BITS_TIMEX_H 1
@@ -104,7 +104,7 @@
#define STA_CLK 0x8000 /* clock source (0 = A, 1 = B) (ro) */
/* Read-only bits */
-#define STA_RONLY (STA_PPSSIGNAL | STA_PPSJITTER | STA_PPSWANDER | \
- STA_PPSERROR | STA_CLOCKERR | STA_NANO | STA_MODE | STA_CLK)
+#define STA_RONLY (STA_PPSSIGNAL | STA_PPSJITTER | STA_PPSWANDER \
+ | STA_PPSERROR | STA_CLOCKERR | STA_NANO | STA_MODE | STA_CLK)
#endif /* bits/timex.h */
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/types.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/types.h
index bd06e2d..2dc63de 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/types.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/types.h
@@ -1,5 +1,5 @@
/* bits/types.h -- definitions of __*_t types underlying *_t types.
- Copyright (C) 2002-2018 Free Software Foundation, Inc.
+ Copyright (C) 2002-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -14,7 +14,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
/*
* Never include this file directly; use <sys/types.h> instead.
@@ -25,6 +25,7 @@
#include <features.h>
#include <bits/wordsize.h>
+#include <bits/timesize.h>
/* Convenience types. */
typedef unsigned char __u_char;
@@ -47,6 +48,16 @@
__extension__ typedef unsigned long long int __uint64_t;
#endif
+/* Smallest types with at least a given width. */
+typedef __int8_t __int_least8_t;
+typedef __uint8_t __uint_least8_t;
+typedef __int16_t __int_least16_t;
+typedef __uint16_t __uint_least16_t;
+typedef __int32_t __int_least32_t;
+typedef __uint32_t __uint_least32_t;
+typedef __int64_t __int_least64_t;
+typedef __uint64_t __uint_least64_t;
+
/* quad_t is also 64 bits. */
#if __WORDSIZE == 64
typedef long int __quad_t;
@@ -76,7 +87,7 @@
32 -- "natural" 32-bit type (always int)
64 -- "natural" 64-bit type (long or long long)
LONG32 -- 32-bit type, traditionally long
- QUAD -- 64-bit type, always long long
+ QUAD -- 64-bit type, traditionally long long
WORD -- natural type of __WORDSIZE bits (int or long)
LONGWORD -- type of __WORDSIZE bits, traditionally long
@@ -102,14 +113,14 @@
#define __SLONGWORD_TYPE long int
#define __ULONGWORD_TYPE unsigned long int
#if __WORDSIZE == 32
-# define __SQUAD_TYPE __quad_t
-# define __UQUAD_TYPE __u_quad_t
+# define __SQUAD_TYPE __int64_t
+# define __UQUAD_TYPE __uint64_t
# define __SWORD_TYPE int
# define __UWORD_TYPE unsigned int
# define __SLONG32_TYPE long int
# define __ULONG32_TYPE unsigned long int
-# define __S64_TYPE __quad_t
-# define __U64_TYPE __u_quad_t
+# define __S64_TYPE __int64_t
+# define __U64_TYPE __uint64_t
/* We want __extension__ before typedef's that use nonstandard base types
such as `long long' in C89 mode. */
# define __STD_TYPE __extension__ typedef
@@ -128,6 +139,7 @@
# error
#endif
#include <bits/typesizes.h> /* Defines __*_T_TYPE macros. */
+#include <bits/time64.h> /* Defines __TIME*_T_TYPE macros. */
__STD_TYPE __DEV_T_TYPE __dev_t; /* Type of device numbers. */
@@ -148,6 +160,7 @@
__STD_TYPE __TIME_T_TYPE __time_t; /* Seconds since the Epoch. */
__STD_TYPE __USECONDS_T_TYPE __useconds_t; /* Count of microseconds. */
__STD_TYPE __SUSECONDS_T_TYPE __suseconds_t; /* Signed count of microseconds. */
+__STD_TYPE __SUSECONDS64_T_TYPE __suseconds64_t;
__STD_TYPE __DADDR_T_TYPE __daddr_t; /* The type of a disk address. */
__STD_TYPE __KEY_T_TYPE __key_t; /* Type of an IPC key. */
@@ -201,6 +214,15 @@
It is not currently necessary for this to be machine-specific. */
typedef int __sig_atomic_t;
+/* Seconds since the Epoch, visible to user code when time_t is too
+ narrow only for consistency with the old way of widening too-narrow
+ types. User code should never use __time64_t. */
+#if __TIMESIZE == 64 && defined __LIBC
+# define __time64_t __time_t
+#elif __TIMESIZE != 64
+__STD_TYPE __TIME64_T_TYPE __time64_t;
+#endif
+
#undef __STD_TYPE
#endif /* bits/types.h */
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/types/__fpos64_t.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/types/__fpos64_t.h
new file mode 100644
index 0000000..06a6891
--- /dev/null
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/types/__fpos64_t.h
@@ -0,0 +1,16 @@
+#ifndef _____fpos64_t_defined
+#define _____fpos64_t_defined 1
+
+#include <bits/types.h>
+#include <bits/types/__mbstate_t.h>
+
+/* The tag name of this struct is _G_fpos64_t to preserve historic
+ C++ mangled names for functions taking fpos_t and/or fpos64_t
+ arguments. That name should not be used in new code. */
+typedef struct _G_fpos64_t
+{
+ __off64_t __pos;
+ __mbstate_t __state;
+} __fpos64_t;
+
+#endif
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/types/__fpos_t.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/types/__fpos_t.h
new file mode 100644
index 0000000..bb04576
--- /dev/null
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/types/__fpos_t.h
@@ -0,0 +1,16 @@
+#ifndef _____fpos_t_defined
+#define _____fpos_t_defined 1
+
+#include <bits/types.h>
+#include <bits/types/__mbstate_t.h>
+
+/* The tag name of this struct is _G_fpos_t to preserve historic
+ C++ mangled names for functions taking fpos_t arguments.
+ That name should not be used in new code. */
+typedef struct _G_fpos_t
+{
+ __off_t __pos;
+ __mbstate_t __state;
+} __fpos_t;
+
+#endif
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/types/__locale_t.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/types/__locale_t.h
index a6cccf6..b0742bf 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/types/__locale_t.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/types/__locale_t.h
@@ -1,5 +1,5 @@
/* Definition of struct __locale_struct and __locale_t.
- Copyright (C) 1997-2018 Free Software Foundation, Inc.
+ Copyright (C) 1997-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
@@ -15,7 +15,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef _BITS_TYPES___LOCALE_T_H
#define _BITS_TYPES___LOCALE_T_H 1
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/types/__sigval_t.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/types/__sigval_t.h
index 395ce50..0737bf9 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/types/__sigval_t.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/types/__sigval_t.h
@@ -1,5 +1,5 @@
/* Define __sigval_t.
- Copyright (C) 1997-2018 Free Software Foundation, Inc.
+ Copyright (C) 1997-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -14,7 +14,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef ____sigval_t_defined
#define ____sigval_t_defined
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/types/cookie_io_functions_t.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/types/cookie_io_functions_t.h
new file mode 100644
index 0000000..097b056
--- /dev/null
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/types/cookie_io_functions_t.h
@@ -0,0 +1,63 @@
+/* Copyright (C) 1991-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#ifndef __cookie_io_functions_t_defined
+#define __cookie_io_functions_t_defined 1
+
+#include <bits/types.h>
+
+/* Functions to do I/O and file management for a stream. */
+
+/* Read NBYTES bytes from COOKIE into a buffer pointed to by BUF.
+ Return number of bytes read. */
+typedef __ssize_t cookie_read_function_t (void *__cookie, char *__buf,
+ size_t __nbytes);
+
+/* Write NBYTES bytes pointed to by BUF to COOKIE. Write all NBYTES bytes
+ unless there is an error. Return number of bytes written. If
+ there is an error, return 0 and do not write anything. If the file
+ has been opened for append (__mode.__append set), then set the file
+ pointer to the end of the file and then do the write; if not, just
+ write at the current file pointer. */
+typedef __ssize_t cookie_write_function_t (void *__cookie, const char *__buf,
+ size_t __nbytes);
+
+/* Move COOKIE's file position to *POS bytes from the
+ beginning of the file (if W is SEEK_SET),
+ the current position (if W is SEEK_CUR),
+ or the end of the file (if W is SEEK_END).
+ Set *POS to the new file position.
+ Returns zero if successful, nonzero if not. */
+typedef int cookie_seek_function_t (void *__cookie, __off64_t *__pos, int __w);
+
+/* Close COOKIE. */
+typedef int cookie_close_function_t (void *__cookie);
+
+/* The structure with the cookie function pointers.
+ The tag name of this struct is _IO_cookie_io_functions_t to
+ preserve historic C++ mangled names for functions taking
+ cookie_io_functions_t arguments. That name should not be used in
+ new code. */
+typedef struct _IO_cookie_io_functions_t
+{
+ cookie_read_function_t *read; /* Read bytes. */
+ cookie_write_function_t *write; /* Write bytes. */
+ cookie_seek_function_t *seek; /* Seek/tell file position. */
+ cookie_close_function_t *close; /* Close file. */
+} cookie_io_functions_t;
+
+#endif
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/types/error_t.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/types/error_t.h
new file mode 100644
index 0000000..f8e26a9
--- /dev/null
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/types/error_t.h
@@ -0,0 +1,24 @@
+/* Define error_t.
+ Copyright (C) 1991-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#ifndef __error_t_defined
+# define __error_t_defined 1
+
+typedef int error_t;
+
+#endif
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/types/locale_t.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/types/locale_t.h
index 6a7aad2..f46e9b0 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/types/locale_t.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/types/locale_t.h
@@ -1,5 +1,5 @@
/* Definition of locale_t.
- Copyright (C) 2017-2018 Free Software Foundation, Inc.
+ Copyright (C) 2017-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -14,7 +14,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef _BITS_TYPES_LOCALE_T_H
#define _BITS_TYPES_LOCALE_T_H 1
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/types/siginfo_t.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/types/siginfo_t.h
index 33766d1..43c4e00 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/types/siginfo_t.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/types/siginfo_t.h
@@ -107,7 +107,7 @@
/* SIGPOLL. */
struct
{
- long int si_band; /* Band event for SIGPOLL. */
+ __SI_BAND_TYPE si_band; /* Band event for SIGPOLL. */
int si_fd;
} _sigpoll;
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/types/stack_t.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/types/stack_t.h
index ce809ad..b544027 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/types/stack_t.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/types/stack_t.h
@@ -1,5 +1,5 @@
/* Define stack_t. Linux version.
- Copyright (C) 1998-2018 Free Software Foundation, Inc.
+ Copyright (C) 1998-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -14,7 +14,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef __stack_t_defined
#define __stack_t_defined 1
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/types/struct_FILE.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/types/struct_FILE.h
new file mode 100644
index 0000000..ff8aef5
--- /dev/null
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/types/struct_FILE.h
@@ -0,0 +1,120 @@
+/* Copyright (C) 1991-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#ifndef __struct_FILE_defined
+#define __struct_FILE_defined 1
+
+/* Caution: The contents of this file are not part of the official
+ stdio.h API. However, much of it is part of the official *binary*
+ interface, and therefore cannot be changed. */
+
+#if defined _IO_USE_OLD_IO_FILE && !defined _LIBC
+# error "_IO_USE_OLD_IO_FILE should only be defined when building libc itself"
+#endif
+
+#if defined _IO_lock_t_defined && !defined _LIBC
+# error "_IO_lock_t_defined should only be defined when building libc itself"
+#endif
+
+#include <bits/types.h>
+
+struct _IO_FILE;
+struct _IO_marker;
+struct _IO_codecvt;
+struct _IO_wide_data;
+
+/* During the build of glibc itself, _IO_lock_t will already have been
+ defined by internal headers. */
+#ifndef _IO_lock_t_defined
+typedef void _IO_lock_t;
+#endif
+
+/* The tag name of this struct is _IO_FILE to preserve historic
+ C++ mangled names for functions taking FILE* arguments.
+ That name should not be used in new code. */
+struct _IO_FILE
+{
+ int _flags; /* High-order word is _IO_MAGIC; rest is flags. */
+
+ /* The following pointers correspond to the C++ streambuf protocol. */
+ char *_IO_read_ptr; /* Current read pointer */
+ char *_IO_read_end; /* End of get area. */
+ char *_IO_read_base; /* Start of putback+get area. */
+ char *_IO_write_base; /* Start of put area. */
+ char *_IO_write_ptr; /* Current put pointer. */
+ char *_IO_write_end; /* End of put area. */
+ char *_IO_buf_base; /* Start of reserve area. */
+ char *_IO_buf_end; /* End of reserve area. */
+
+ /* The following fields are used to support backing up and undo. */
+ char *_IO_save_base; /* Pointer to start of non-current get area. */
+ char *_IO_backup_base; /* Pointer to first valid character of backup area */
+ char *_IO_save_end; /* Pointer to end of non-current get area. */
+
+ struct _IO_marker *_markers;
+
+ struct _IO_FILE *_chain;
+
+ int _fileno;
+ int _flags2;
+ __off_t _old_offset; /* This used to be _offset but it's too small. */
+
+ /* 1+column number of pbase(); 0 is unknown. */
+ unsigned short _cur_column;
+ signed char _vtable_offset;
+ char _shortbuf[1];
+
+ _IO_lock_t *_lock;
+#ifdef _IO_USE_OLD_IO_FILE
+};
+
+struct _IO_FILE_complete
+{
+ struct _IO_FILE _file;
+#endif
+ __off64_t _offset;
+ /* Wide character stream stuff. */
+ struct _IO_codecvt *_codecvt;
+ struct _IO_wide_data *_wide_data;
+ struct _IO_FILE *_freeres_list;
+ void *_freeres_buf;
+ size_t __pad5;
+ int _mode;
+ /* Make sure we don't get into trouble again. */
+ char _unused2[15 * sizeof (int) - 4 * sizeof (void *) - sizeof (size_t)];
+};
+
+/* These macros are used by bits/stdio.h and internal headers. */
+#define __getc_unlocked_body(_fp) \
+ (__glibc_unlikely ((_fp)->_IO_read_ptr >= (_fp)->_IO_read_end) \
+ ? __uflow (_fp) : *(unsigned char *) (_fp)->_IO_read_ptr++)
+
+#define __putc_unlocked_body(_ch, _fp) \
+ (__glibc_unlikely ((_fp)->_IO_write_ptr >= (_fp)->_IO_write_end) \
+ ? __overflow (_fp, (unsigned char) (_ch)) \
+ : (unsigned char) (*(_fp)->_IO_write_ptr++ = (_ch)))
+
+#define _IO_EOF_SEEN 0x0010
+#define __feof_unlocked_body(_fp) (((_fp)->_flags & _IO_EOF_SEEN) != 0)
+
+#define _IO_ERR_SEEN 0x0020
+#define __ferror_unlocked_body(_fp) (((_fp)->_flags & _IO_ERR_SEEN) != 0)
+
+#define _IO_USER_LOCK 0x8000
+/* Many more flag bits are defined internally. */
+
+#endif
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/types/struct___jmp_buf_tag.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/types/struct___jmp_buf_tag.h
new file mode 100644
index 0000000..c7e0911
--- /dev/null
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/types/struct___jmp_buf_tag.h
@@ -0,0 +1,37 @@
+/* Define struct __jmp_buf_tag.
+ Copyright (C) 1991-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#ifndef __jmp_buf_tag_defined
+#define __jmp_buf_tag_defined 1
+
+#include <bits/setjmp.h> /* Get `__jmp_buf'. */
+#include <bits/types/__sigset_t.h>
+
+/* Calling environment, plus possibly a saved signal mask. */
+struct __jmp_buf_tag
+ {
+ /* NOTE: The machine-dependent definitions of `__sigsetjmp'
+ assume that a `jmp_buf' begins with a `__jmp_buf' and that
+ `__mask_was_saved' follows it. Do not move these members
+ or add others before it. */
+ __jmp_buf __jmpbuf; /* Calling environment. */
+ int __mask_was_saved; /* Saved the signal mask? */
+ __sigset_t __saved_mask; /* Saved signal mask. */
+ };
+
+#endif
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/types/struct_iovec.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/types/struct_iovec.h
index 490b06b..89a87b7 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/types/struct_iovec.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/types/struct_iovec.h
@@ -1,5 +1,5 @@
/* Define struct iovec.
- Copyright (C) 1996-2018 Free Software Foundation, Inc.
+ Copyright (C) 1996-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -14,7 +14,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef __iovec_defined
#define __iovec_defined 1
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/types/struct_msqid_ds.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/types/struct_msqid_ds.h
new file mode 100644
index 0000000..1ed041a
--- /dev/null
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/types/struct_msqid_ds.h
@@ -0,0 +1,47 @@
+/* Generic implementation of the SysV message struct msqid_ds.
+ Copyright (C) 2020-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#ifndef _SYS_MSG_H
+# error "Never use <bits/msq.h> directly; include <sys/msg.h> instead."
+#endif
+
+/* Structure of record for one message inside the kernel.
+ The type `struct msg' is opaque. */
+struct msqid_ds
+{
+ struct ipc_perm msg_perm; /* structure describing operation permission */
+#if __TIMESIZE == 32
+ __time_t msg_stime; /* time of last msgsnd command */
+ unsigned long int __msg_stime_high;
+ __time_t msg_rtime; /* time of last msgsnd command */
+ unsigned long int __msg_rtime_high;
+ __time_t msg_ctime; /* time of last change */
+ unsigned long int __msg_ctime_high;
+#else
+ __time_t msg_stime; /* time of last msgsnd command */
+ __time_t msg_rtime; /* time of last msgsnd command */
+ __time_t msg_ctime; /* time of last change */
+#endif
+ __syscall_ulong_t __msg_cbytes; /* current number of bytes on queue */
+ msgqnum_t msg_qnum; /* number of messages currently on queue */
+ msglen_t msg_qbytes; /* max number of bytes allowed on queue */
+ __pid_t msg_lspid; /* pid of last msgsnd() */
+ __pid_t msg_lrpid; /* pid of last msgrcv() */
+ __syscall_ulong_t __glibc_reserved4;
+ __syscall_ulong_t __glibc_reserved5;
+};
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/types/struct_rusage.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/types/struct_rusage.h
index 5dc0916..7edd761 100644
--- a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/types/struct_rusage.h
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/types/struct_rusage.h
@@ -1,5 +1,5 @@
/* Define struct rusage.
- Copyright (C) 1994-2018 Free Software Foundation, Inc.
+ Copyright (C) 1994-2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -14,7 +14,7 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#ifndef __rusage_defined
#define __rusage_defined 1
@@ -22,7 +22,9 @@
#include <bits/types.h>
#include <bits/types/struct_timeval.h>
-/* Structure which says how much of each resource has been used. */
+/* Structure which says how much of each resource has been used. If
+ the system does not keep track of a particular value, the struct
+ field is always zero. */
/* The purpose of all the unions is to have the kernel-compatible layout
while keeping the API type as 'long int', and among machines where
@@ -42,7 +44,6 @@
};
/* Amount of sharing of text segment memory
with other processes (kilobyte-seconds). */
- /* Maximum resident set size (in kilobytes). */
__extension__ union
{
long int ru_ixrss;
diff --git a/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/types/struct_sched_param.h b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/types/struct_sched_param.h
new file mode 100644
index 0000000..78f3d0b
--- /dev/null
+++ b/aarch64/usr/aarch64-cros-linux-gnu/usr/include/bits/types/struct_sched_param.h
@@ -0,0 +1,28 @@
+/* Sched parameter structure. Generic version.
+ Copyright (C) 1996-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either