Skip to content

Commit

Permalink
Work around segmentation fault on some big-endian targets on ubuntu 2…
Browse files Browse the repository at this point in the history
…0.04
  • Loading branch information
taiki-e committed Jul 10, 2022
1 parent 209b6d5 commit 9ab683a
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 15 deletions.
8 changes: 0 additions & 8 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -76,14 +76,6 @@ jobs:
- ubuntu-20.04
- ubuntu-18.04
exclude:
# Segmentation fault on ubuntu 20.04
- { target: aarch64_be-unknown-linux-gnu, os: ubuntu-20.04 }
- { target: mips-unknown-linux-gnu, os: ubuntu-20.04 }
- { target: mips64-unknown-linux-gnuabi64, os: ubuntu-20.04 }
- { target: mipsisa32r6-unknown-linux-gnu, os: ubuntu-20.04 }
- { target: mipsisa64r6-unknown-linux-gnuabi64, os: ubuntu-20.04 }
- { target: powerpc64-unknown-linux-gnu, os: ubuntu-20.04 }
- { target: sparc64-unknown-linux-gnu, os: ubuntu-20.04 }
# Hang on ubuntu 18.04
- { target: riscv64gc-unknown-linux-gnu, os: ubuntu-18.04 }
# Toolchains not available on ubuntu 18.04
Expand Down
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ Note: In this file, do not use the hard wrap in the middle of a sentence for com

## [Unreleased]

- Work around segmentation fault on some big-endian targets on ubuntu 20.04.

## [1.3.0] - 2022-07-10

- Support aarch64_be-unknown-linux-gnu, riscv32gc-unknown-linux-gnu, mipsisa32r6-unknown-linux-gnu, and mipsisa64r6-unknown-linux-gnuabi64.
Expand Down
14 changes: 7 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -129,28 +129,28 @@ jobs:
| target | host | runner |
| ---------------------------------------------- | -------------------------------------------------------------------------- | --------------------------- |
| `aarch64-unknown-linux-gnu` | ubuntu-latest/ubuntu-20.04 [1], ubuntu-18.04 [2], ubuntu-22.04 [3] | qemu-user (default) |
| `aarch64_be-unknown-linux-gnu` (tier3) | <!-- ubuntu-latest/ubuntu-20.04 [1],--> ubuntu-18.04/ubuntu-22.04 [4] | qemu-user (default) |
| `aarch64_be-unknown-linux-gnu` (tier3) | ubuntu-latest/ubuntu-20.04/ubuntu-18.04/ubuntu-22.04 [4] | qemu-user (default) |
| `arm-unknown-linux-gnueabi` | ubuntu-latest/ubuntu-20.04 [1], ubuntu-18.04 [2], ubuntu-22.04 [3] | qemu-user (default) |
| `armv5te-unknown-linux-gnueabi` | ubuntu-latest/ubuntu-20.04 [1], ubuntu-18.04 [2], ubuntu-22.04 [3] | qemu-user (default) |
| `armv7-unknown-linux-gnueabi` | ubuntu-latest/ubuntu-20.04 [1], ubuntu-18.04 [2], ubuntu-22.04 [3] | qemu-user (default) |
| `armv7-unknown-linux-gnueabihf` | ubuntu-latest/ubuntu-20.04 [1], ubuntu-18.04 [2], ubuntu-22.04 [3] | qemu-user (default) |
| `i586-unknown-linux-gnu` | ubuntu-latest/ubuntu-20.04 [1], ubuntu-18.04 [2], ubuntu-22.04 [3] | qemu-user (default), native |
| `i686-unknown-linux-gnu` | ubuntu-latest/ubuntu-20.04 [1], ubuntu-18.04 [2], ubuntu-22.04 [3] | native (default), qemu-user |
| `mips-unknown-linux-gnu` | <!-- ubuntu-latest/ubuntu-20.04 [1],--> ubuntu-18.04 [2], ubuntu-22.04 [3] | qemu-user (default) |
| `mips64-unknown-linux-gnuabi64` | <!-- ubuntu-latest/ubuntu-20.04 [1],--> ubuntu-18.04 [2], ubuntu-22.04 [3] | qemu-user (default) |
| `mips-unknown-linux-gnu` | ubuntu-latest/ubuntu-20.04 [1], ubuntu-18.04 [2], ubuntu-22.04 [3] | qemu-user (default) |
| `mips64-unknown-linux-gnuabi64` | ubuntu-latest/ubuntu-20.04 [1], ubuntu-18.04 [2], ubuntu-22.04 [3] | qemu-user (default) |
| `mips64el-unknown-linux-gnuabi64` | ubuntu-latest/ubuntu-20.04 [1], ubuntu-18.04 [2], ubuntu-22.04 [3] | qemu-user (default) |
| `mipsel-unknown-linux-gnu` | ubuntu-latest/ubuntu-20.04 [1], ubuntu-18.04 [2], ubuntu-22.04 [3] | qemu-user (default) |
| `mipsisa32r6-unknown-linux-gnu` (tier3) | <!-- ubuntu-latest/ubuntu-20.04 [1],--> ubuntu-22.04 [3] | qemu-user (default) [6] |
| `mipsisa32r6-unknown-linux-gnu` (tier3) | ubuntu-latest/ubuntu-20.04 [1], ubuntu-22.04 [3] | qemu-user (default) [6] |
| `mipsisa32r6el-unknown-linux-gnu` (tier3) | ubuntu-latest/ubuntu-20.04 [1], ubuntu-22.04 [3] | qemu-user (default) [6] |
| `mipsisa64r6-unknown-linux-gnuabi64` (tier3) | <!-- ubuntu-latest/ubuntu-20.04 [1],--> ubuntu-22.04 [3] | qemu-user (default) |
| `mipsisa64r6-unknown-linux-gnuabi64` (tier3) | ubuntu-latest/ubuntu-20.04 [1], ubuntu-22.04 [3] | qemu-user (default) |
| `mipsisa64r6el-unknown-linux-gnuabi64` (tier3) | ubuntu-latest/ubuntu-20.04 [1], ubuntu-22.04 [3] | qemu-user (default) |
| `powerpc-unknown-linux-gnu` | ubuntu-latest/ubuntu-20.04 [1], ubuntu-18.04 [2], ubuntu-22.04 [3] | qemu-user (default) |
| `powerpc64-unknown-linux-gnu` | <!-- ubuntu-latest/ubuntu-20.04 [1],--> ubuntu-18.04 [2], ubuntu-22.04 [3] | qemu-user (default) |
| `powerpc64-unknown-linux-gnu` | ubuntu-latest/ubuntu-20.04 [1], ubuntu-18.04 [2], ubuntu-22.04 [3] | qemu-user (default) |
| `powerpc64le-unknown-linux-gnu` | ubuntu-latest/ubuntu-20.04 [1], ubuntu-18.04 [2], ubuntu-22.04 [3] | qemu-user (default) |
| `riscv32gc-unknown-linux-gnu` | ubuntu-latest/ubuntu-20.04/ubuntu-18.04/ubuntu-22.04 [5] | qemu-user (default) |
| `riscv64gc-unknown-linux-gnu` | ubuntu-latest/ubuntu-20.04 [1] <!--, ubuntu-18.04 [2]-->, ubuntu-22.04 [3] | qemu-user (default) |
| `s390x-unknown-linux-gnu` | ubuntu-latest/ubuntu-20.04 [1], ubuntu-18.04 [2], ubuntu-22.04 [3] | qemu-user (default) |
| `sparc64-unknown-linux-gnu` | <!-- ubuntu-latest/ubuntu-20.04 [1],--> ubuntu-18.04 [2], ubuntu-22.04 [3] | qemu-user (default) |
| `sparc64-unknown-linux-gnu` | ubuntu-latest/ubuntu-20.04 [1], ubuntu-18.04 [2], ubuntu-22.04 [3] | qemu-user (default) |
| `thumbv7neon-unknown-linux-gnueabihf` | ubuntu-latest/ubuntu-20.04 [1], ubuntu-18.04 [2], ubuntu-22.04 [3] | qemu-user (default) |
| `x86_64-unknown-linux-gnu` | ubuntu-latest/ubuntu-20.04 [1], ubuntu-18.04 [2], ubuntu-22.04 [3] | native (default), qemu-user |

Expand Down
11 changes: 11 additions & 0 deletions main.sh
Original file line number Diff line number Diff line change
Expand Up @@ -244,6 +244,17 @@ case "${host}" in
rm -rf ./.setup-cross-toolchain-action
x qemu-${qemu_arch} --version
register_binfmt

codename="$(grep '^VERSION_CODENAME=' /etc/os-release | sed 's/^VERSION_CODENAME=//')"
if [[ "${codename}" == "focal" ]]; then
case "${target}" in
aarch64_be-unknown-linux-gnu | mips-unknown-linux-gnu | mips64-unknown-linux-gnuabi64 | mipsisa32r6-unknown-linux-gnu | mipsisa64r6-unknown-linux-gnuabi64 | powerpc64-unknown-linux-gnu | sparc64-unknown-linux-gnu)
# Workaround for https://bugs.launchpad.net/qemu/+bug/1701798
sudo mkdir -p "${qemu_ld_prefix}"/etc
sudo ln -s /nonexistent "${qemu_ld_prefix}"/etc/ld.so.cache
;;
esac
fi
fi

retry sudo apt-get -o Acquire::Retries=10 -qq update
Expand Down

0 comments on commit 9ab683a

Please sign in to comment.