Skip to content

Commit

Permalink
Update archives for Ubuntu 22.04. (#483)
Browse files Browse the repository at this point in the history
Github's ubuntu-latest is now on Ubuntu 22.04, which has a newer
binutils, which produces slightly different prebuilt libraries. Update
the checked-in libraries to match the builds produced in CI.
  • Loading branch information
sunfishcode committed Mar 4, 2023
1 parent 8847b8e commit 184ae01
Show file tree
Hide file tree
Showing 13 changed files with 40 additions and 32 deletions.
62 changes: 31 additions & 31 deletions .github/workflows/main.yml
Expand Up @@ -219,20 +219,20 @@ jobs:
build: [ubuntu, ubuntu-18.04, i686-linux, aarch64-linux, powerpc64le-linux, riscv64-linux, s390x-linux, arm-linux, ubuntu-stable, ubuntu-1.48, i686-linux-stable, aarch64-linux-stable, riscv64-linux-stable, s390x-linux-stable, mipsel-linux-stable, mips64el-linux-stable, powerpc64le-linux-stable, arm-linux-stable, ubuntu-1.48, i686-linux-1.48, aarch64-linux-1.48, riscv64-linux-1.48, s390x-linux-1.48, mipsel-linux-1.48, mips64el-linux-1.48, powerpc64le-linux-1.48, arm-linux-1.48, macos-latest, macos-10.15, windows, windows-2019]
include:
- build: ubuntu
os: ubuntu-20.04 # TODO: remove pin when fixed (#483)
os: ubuntu-latest
rust: nightly
- build: ubuntu-18.04
os: ubuntu-18.04
rust: nightly
- build: i686-linux
os: ubuntu-20.04 # TODO: remove pin when fixed (#483)
os: ubuntu-latest
rust: nightly
target: i686-unknown-linux-gnu
gcc_package: gcc-i686-linux-gnu
gcc: i686-linux-gnu-gcc
libc_package: libc-dev-i386-cross
- build: aarch64-linux
os: ubuntu-20.04 # TODO: remove pin when fixed (#483)
os: ubuntu-latest
rust: nightly
target: aarch64-unknown-linux-gnu
gcc_package: gcc-aarch64-linux-gnu
Expand All @@ -241,7 +241,7 @@ jobs:
qemu_args: -L /usr/aarch64-linux-gnu
qemu_target: aarch64-linux-user
- build: powerpc64le-linux
os: ubuntu-20.04 # TODO: remove pin when fixed (#483)
os: ubuntu-latest
rust: nightly
target: powerpc64le-unknown-linux-gnu
gcc_package: gcc-powerpc64le-linux-gnu
Expand All @@ -250,7 +250,7 @@ jobs:
qemu_args: -L /usr/powerpc64le-linux-gnu
qemu_target: ppc64le-linux-user
- build: mips64el-linux
os: ubuntu-20.04 # TODO: remove pin when fixed (#483)
os: ubuntu-latest
rust: nightly
target: mips64el-unknown-linux-gnuabi64
gcc_package: gcc-mips64el-linux-gnuabi64
Expand All @@ -259,7 +259,7 @@ jobs:
qemu_args: -L /usr/mips64el-linux-gnuabi64
qemu_target: mips64el-linux-user
- build: mipsel-linux
os: ubuntu-20.04 # TODO: remove pin when fixed (#483)
os: ubuntu-latest
rust: nightly
target: mipsel-unknown-linux-gnu
gcc_package: gcc-mipsel-linux-gnu
Expand All @@ -268,7 +268,7 @@ jobs:
qemu_args: -L /usr/mipsel-linux-gnu
qemu_target: mipsel-linux-user
- build: riscv64-linux
os: ubuntu-20.04 # TODO: remove pin when fixed (#483)
os: ubuntu-latest
rust: nightly
target: riscv64gc-unknown-linux-gnu
gcc_package: gcc-riscv64-linux-gnu
Expand All @@ -277,7 +277,7 @@ jobs:
qemu_args: -L /usr/riscv64-linux-gnu
qemu_target: riscv64-linux-user
- build: s390x-linux
os: ubuntu-20.04 # TODO: remove pin when fixed (#483)
os: ubuntu-latest
rust: nightly
target: s390x-unknown-linux-gnu
gcc_package: gcc-s390x-linux-gnu
Expand All @@ -286,7 +286,7 @@ jobs:
qemu_args: -L /usr/s390x-linux-gnu
qemu_target: s390x-linux-user
- build: arm-linux
os: ubuntu-20.04 # TODO: remove pin when fixed (#483)
os: ubuntu-latest
rust: nightly
target: armv5te-unknown-linux-gnueabi
gcc_package: gcc-arm-linux-gnueabi
Expand All @@ -295,17 +295,17 @@ jobs:
qemu_args: -L /usr/arm-linux-gnueabi
qemu_target: arm-linux-user
- build: ubuntu-stable
os: ubuntu-20.04 # TODO: remove pin when fixed (#483)
os: ubuntu-latest
rust: stable
- build: i686-linux-stable
os: ubuntu-20.04 # TODO: remove pin when fixed (#483)
os: ubuntu-latest
rust: stable
target: i686-unknown-linux-gnu
gcc_package: gcc-i686-linux-gnu
gcc: i686-linux-gnu-gcc
libc_package: libc-dev-i386-cross
- build: aarch64-linux-stable
os: ubuntu-20.04 # TODO: remove pin when fixed (#483)
os: ubuntu-latest
rust: stable
target: aarch64-unknown-linux-gnu
gcc_package: gcc-aarch64-linux-gnu
Expand All @@ -314,7 +314,7 @@ jobs:
qemu_args: -L /usr/aarch64-linux-gnu
qemu_target: aarch64-linux-user
- build: riscv64-linux-stable
os: ubuntu-20.04 # TODO: remove pin when fixed (#483)
os: ubuntu-latest
rust: stable
target: riscv64gc-unknown-linux-gnu
gcc_package: gcc-riscv64-linux-gnu
Expand All @@ -323,7 +323,7 @@ jobs:
qemu_args: -L /usr/riscv64-linux-gnu
qemu_target: riscv64-linux-user
- build: s390x-linux-stable
os: ubuntu-20.04 # TODO: remove pin when fixed (#483)
os: ubuntu-latest
rust: stable
target: s390x-unknown-linux-gnu
gcc_package: gcc-s390x-linux-gnu
Expand All @@ -332,7 +332,7 @@ jobs:
qemu_args: -L /usr/s390x-linux-gnu
qemu_target: s390x-linux-user
- build: powerpc64le-linux-stable
os: ubuntu-20.04 # TODO: remove pin when fixed (#483)
os: ubuntu-latest
rust: stable
target: powerpc64le-unknown-linux-gnu
gcc_package: gcc-powerpc64le-linux-gnu
Expand All @@ -341,7 +341,7 @@ jobs:
qemu_args: -L /usr/powerpc64le-linux-gnu
qemu_target: ppc64le-linux-user
- build: mips64el-linux-stable
os: ubuntu-20.04 # TODO: remove pin when fixed (#483)
os: ubuntu-latest
rust: stable
target: mips64el-unknown-linux-gnuabi64
gcc_package: gcc-mips64el-linux-gnuabi64
Expand All @@ -350,7 +350,7 @@ jobs:
qemu_args: -L /usr/mips64el-linux-gnuabi64
qemu_target: mips64el-linux-user
- build: mipsel-linux-stable
os: ubuntu-20.04 # TODO: remove pin when fixed (#483)
os: ubuntu-latest
rust: stable
target: mipsel-unknown-linux-gnu
gcc_package: gcc-mipsel-linux-gnu
Expand All @@ -359,7 +359,7 @@ jobs:
qemu_args: -L /usr/mipsel-linux-gnu
qemu_target: mipsel-linux-user
- build: arm-linux-stable
os: ubuntu-20.04 # TODO: remove pin when fixed (#483)
os: ubuntu-latest
rust: stable
target: armv5te-unknown-linux-gnueabi
gcc_package: gcc-arm-linux-gnueabi
Expand All @@ -368,17 +368,17 @@ jobs:
qemu_args: -L /usr/arm-linux-gnueabi
qemu_target: arm-linux-user
- build: ubuntu-1.48
os: ubuntu-20.04 # TODO: remove pin when fixed (#483)
os: ubuntu-latest
rust: 1.48
- build: i686-linux-1.48
os: ubuntu-20.04 # TODO: remove pin when fixed (#483)
os: ubuntu-latest
rust: 1.48
target: i686-unknown-linux-gnu
gcc_package: gcc-i686-linux-gnu
gcc: i686-linux-gnu-gcc
libc_package: libc-dev-i386-cross
- build: aarch64-linux-1.48
os: ubuntu-20.04 # TODO: remove pin when fixed (#483)
os: ubuntu-latest
rust: 1.48
target: aarch64-unknown-linux-gnu
gcc_package: gcc-aarch64-linux-gnu
Expand All @@ -387,7 +387,7 @@ jobs:
qemu_args: -L /usr/aarch64-linux-gnu
qemu_target: aarch64-linux-user
- build: riscv64-linux-1.48
os: ubuntu-20.04 # TODO: remove pin when fixed (#483)
os: ubuntu-latest
rust: 1.48
target: riscv64gc-unknown-linux-gnu
gcc_package: gcc-riscv64-linux-gnu
Expand All @@ -396,7 +396,7 @@ jobs:
qemu_args: -L /usr/riscv64-linux-gnu
qemu_target: riscv64-linux-user
- build: s390x-linux-1.48
os: ubuntu-20.04 # TODO: remove pin when fixed (#483)
os: ubuntu-latest
rust: 1.48
target: s390x-unknown-linux-gnu
gcc_package: gcc-s390x-linux-gnu
Expand All @@ -405,7 +405,7 @@ jobs:
qemu_args: -L /usr/s390x-linux-gnu
qemu_target: s390x-linux-user
- build: powerpc64le-linux-1.48
os: ubuntu-20.04 # TODO: remove pin when fixed (#483)
os: ubuntu-latest
rust: 1.48
target: powerpc64le-unknown-linux-gnu
gcc_package: gcc-powerpc64le-linux-gnu
Expand All @@ -414,7 +414,7 @@ jobs:
qemu_args: -L /usr/powerpc64le-linux-gnu
qemu_target: ppc64le-linux-user
- build: mips64el-linux-1.48
os: ubuntu-20.04 # TODO: remove pin when fixed (#483)
os: ubuntu-latest
rust: 1.48
target: mips64el-unknown-linux-gnuabi64
gcc_package: gcc-mips64el-linux-gnuabi64
Expand All @@ -423,7 +423,7 @@ jobs:
qemu_args: -L /usr/mips64el-linux-gnuabi64
qemu_target: mips64el-linux-user
- build: mipsel-linux-1.48
os: ubuntu-20.04 # TODO: remove pin when fixed (#483)
os: ubuntu-latest
rust: 1.48
target: mipsel-unknown-linux-gnu
gcc_package: gcc-mipsel-linux-gnu
Expand All @@ -432,7 +432,7 @@ jobs:
qemu_args: -L /usr/mipsel-linux-gnu
qemu_target: mipsel-linux-user
- build: arm-linux-1.48
os: ubuntu-20.04 # TODO: remove pin when fixed (#483)
os: ubuntu-latest
rust: 1.48
target: armv5te-unknown-linux-gnueabi
gcc_package: gcc-arm-linux-gnueabi
Expand Down Expand Up @@ -470,7 +470,7 @@ jobs:
with:
path: ${{ runner.tool_cache }}/qemu
key: qemu-${{ matrix.target }}-${{ env.QEMU_BUILD_VERSION }}-patched
if: matrix.target != '' && matrix.os == 'ubuntu-20.04' # TODO: remove pin when fixed (#483)
if: matrix.target != '' && matrix.os == 'ubuntu-latest'

- name: Install cross-compilation tools
run: |
Expand All @@ -479,14 +479,14 @@ jobs:
sudo apt-get install -y ${{ matrix.gcc_package }} ninja-build
upcase=$(echo ${{ matrix.target }} | awk '{ print toupper($0) }' | sed 's/-/_/g')
echo CARGO_TARGET_${upcase}_LINKER=${{ matrix.gcc }} >> $GITHUB_ENV
if: matrix.gcc_package != '' && matrix.os == 'ubuntu-20.04' # TODO: remove pin when fixed (#483)
if: matrix.gcc_package != '' && matrix.os == 'ubuntu-latest'

- name: Install cross-compilation libraries
run: |
set -ex
sudo apt-get update
sudo apt-get install -y ${{ matrix.libc_package }}
if: matrix.libc_package != '' && matrix.os == 'ubuntu-20.04' # TODO: remove pin when fixed (#483)
if: matrix.libc_package != '' && matrix.os == 'ubuntu-latest'

- name: Install qemu
run: |
Expand All @@ -512,7 +512,7 @@ jobs:
patch -p1 < $GITHUB_WORKSPACE/ci/s390x-stat-have-nsec.patch
./configure --target-list=${{ matrix.qemu_target }} --prefix=${{ runner.tool_cache }}/qemu --disable-tools --disable-slirp --disable-fdt --disable-capstone --disable-docs
ninja -C build install
if: matrix.qemu != '' && matrix.os == 'ubuntu-20.04' # TODO: remove pin when fixed (#483)
if: matrix.qemu != '' && matrix.os == 'ubuntu-latest'

- name: Use specific dependency versions for Rust 1.48 compatibility.
if: matrix.rust == '1.48'
Expand Down
10 changes: 9 additions & 1 deletion build.rs
Expand Up @@ -175,7 +175,15 @@ fn link_in_librustix_outline(arch: &str, asm_name: &str) {
#[cfg(feature = "cc")]
{
let out_dir = var("OUT_DIR").unwrap();
Build::new().file(&asm_name).compile(&name);
// Add `-gdwarf-3` so that we always get the same output, regardless of
// the Rust version we're using. DWARF3 is the version used in
// Rust 1.48 and is entirely adequate for our simple needs here.
let mut build = Build::new();
if profile == "debug" {
build.flag("-gdwarf-3");
}
build.file(&asm_name);
build.compile(&name);
println!("cargo:rerun-if-changed={}", asm_name);
if std::fs::metadata(".git").is_ok() {
let from = format!("{}/lib{}.a", out_dir, name);
Expand Down
Binary file not shown.
Binary file modified src/backend/linux_raw/arch/outline/debug/librustix_outline_arm.a
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file modified src/backend/linux_raw/arch/outline/debug/librustix_outline_x86.a
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

0 comments on commit 184ae01

Please sign in to comment.