summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYuki Okushi <jtitor@2k36.org>2022-09-24 22:17:42 +0900
committerYuki Okushi <jtitor@2k36.org>2022-09-25 21:56:39 +0900
commita1d75786b70f949360d826aec51a608919510776 (patch)
tree397d3aa7e8e05f9ab7bbf7d4adb901d387ef33b3
parent1f1527e580b1fc6c1d6114968b217680eb1d087b (diff)
downloadrust-libc-a1d75786b70f949360d826aec51a608919510776.tar.gz
Try to update emsdk version
Signed-off-by: Yuki Okushi <jtitor@2k36.org>
-rw-r--r--ci/docker/asmjs-unknown-emscripten/Dockerfile3
-rw-r--r--ci/docker/wasm32-unknown-emscripten/Dockerfile3
-rw-r--r--ci/emscripten.sh25
-rw-r--r--libc-test/build.rs10
4 files changed, 18 insertions, 23 deletions
diff --git a/ci/docker/asmjs-unknown-emscripten/Dockerfile b/ci/docker/asmjs-unknown-emscripten/Dockerfile
index 72a47f2902..65d1a949ec 100644
--- a/ci/docker/asmjs-unknown-emscripten/Dockerfile
+++ b/ci/docker/asmjs-unknown-emscripten/Dockerfile
@@ -15,7 +15,8 @@ RUN apt-get install -y --no-install-recommends \
libxml2 \
python3 \
python3-distutils \
- xz-utils
+ xz-utils \
+ bzip2
COPY emscripten.sh /
RUN bash /emscripten.sh
diff --git a/ci/docker/wasm32-unknown-emscripten/Dockerfile b/ci/docker/wasm32-unknown-emscripten/Dockerfile
index 0722aa1bea..5a10efe16e 100644
--- a/ci/docker/wasm32-unknown-emscripten/Dockerfile
+++ b/ci/docker/wasm32-unknown-emscripten/Dockerfile
@@ -21,7 +21,8 @@ RUN apt-get install -y --no-install-recommends \
cmake \
sudo \
gdb \
- xz-utils
+ xz-utils \
+ bzip2
RUN ln -s /usr/bin/python3 /usr/bin/python & \
ln -s /usr/bin/pip3 /usr/bin/pip
diff --git a/ci/emscripten.sh b/ci/emscripten.sh
index c16e793bb4..967b586b5f 100644
--- a/ci/emscripten.sh
+++ b/ci/emscripten.sh
@@ -2,34 +2,19 @@
set -ex
-EMSDK_VERSION=1.39.20
-
-hide_output() {
- set +x
- on_err="
-echo ERROR: An error was encountered with the build.
-cat /tmp/build.log
-exit 1
-"
- trap '$on_err' ERR
- bash -c "while true; do sleep 30; echo \$(date) - building ...; done" &
- PING_LOOP_PID=$!
- "${@}" &> /tmp/build.log
- trap - ERR
- kill $PING_LOOP_PID
- rm -f /tmp/build.log
- set -x
-}
+# FIXME: 3.1.21 removed a lot of header files (https://github.com/emscripten-core/emscripten/pull/17704).
+# We have to tweak libc-test (and deprecate unsupported items, maybe) when updating emsdk.
+EMSDK_VERSION=3.1.20
git clone https://github.com/emscripten-core/emsdk.git /emsdk-portable
cd /emsdk-portable
-hide_output ./emsdk install "${EMSDK_VERSION}"
+./emsdk install "${EMSDK_VERSION}"
./emsdk activate "${EMSDK_VERSION}"
# Compile and cache libc
# shellcheck disable=SC1091
source ./emsdk_env.sh
-echo "main(){}" > a.c
+echo "int main() {return 0;}" > a.c
HOME=/emsdk-portable/ emcc a.c
rm -f a.*
diff --git a/libc-test/build.rs b/libc-test/build.rs
index 6e676e9657..651bb09e1d 100644
--- a/libc-test/build.rs
+++ b/libc-test/build.rs
@@ -2557,7 +2557,15 @@ fn test_emscripten(target: &str) {
field == "_pad2" ||
field == "ssi_syscall" ||
field == "ssi_call_addr" ||
- field == "ssi_arch"))
+ field == "ssi_arch")) ||
+ // FIXME: After musl 1.1.24, it have only one field `sched_priority`,
+ // while other fields become reserved.
+ (struct_ == "sched_param" && [
+ "sched_ss_low_priority",
+ "sched_ss_repl_period",
+ "sched_ss_init_budget",
+ "sched_ss_max_repl",
+ ].contains(&field))
});
// FIXME: test linux like