Skip to content

Executables relocate themselves, and the kernel reads no executable's dynamic section #4495

Executables relocate themselves, and the kernel reads no executable's dynamic section

Executables relocate themselves, and the kernel reads no executable's dynamic section #4495

Workflow file for this run

name: ci
on:
pull_request:
branches: [main]
types: [opened, synchronize, reopened, ready_for_review]
merge_group:
concurrency:
group: ci-${{ github.ref }}
cancel-in-progress: true
# No job here writes: a toolchain release is main's publisher's alone.
permissions:
contents: read
jobs:
host:
if: github.event_name == 'merge_group' || github.event.pull_request.draft == false
runs-on: ubuntu-24.04
timeout-minutes: 45
env:
# The driver's own target, and no step's: it says this job carries the
# host cache (src/cicache.rs).
CARGO_TARGET_DIR: target/ci-driver
# The writer's: a unit built with other debuginfo is not the entry's.
CARGO_PROFILE_DEV_DEBUG: line-tables-only
steps:
- uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4.4.0
# nightly.yml's `host` is the one writer; the paths are the cache's
# version, so they are the writer's list.
- uses: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
path: |
~/.cargo/registry/index
~/.cargo/registry/cache
~/.cargo/git/db
target
key: host-sealed-${{ runner.os }}-${{ runner.arch }}-${{ github.run_id }}
restore-keys: host-sealed-${{ runner.os }}-${{ runner.arch }}-
- run: cargo run -- --ci host
toolchain:
if: github.event_name == 'merge_group' || github.event.pull_request.draft == false
uses: ./.github/workflows/toolchain.yml
# A required check that is skipped reads as green, so this runs whatever
# `toolchain` concluded.
guest:
needs: toolchain
if: ${{ !cancelled() && (github.event_name == 'merge_group' || github.event.pull_request.draft == false) }}
uses: ./.github/workflows/guest.yml
with:
kvm: true
sysroot-key: ${{ needs.toolchain.outputs.sysroot-key }}
sysroot-path: ${{ needs.toolchain.outputs.sysroot-path }}