mirror of
https://github.com/frida/frida
synced 2026-08-13 06:26:05 -04:00
ci: Build the Barebone agent for x86_64
Some checks failed
CI / sdk-linux (armbe8) (push) Has been skipped
CI / sdk-linux (armhf) (push) Has been skipped
CI / toolchain-linux (arm64) (push) Failing after 2s
CI / toolchain-linux (arm64-musl) (push) Failing after 2s
CI / toolchain-linux (arm64be) (push) Failing after 2s
CI / toolchain-linux (arm64beilp32) (push) Failing after 2s
CI / toolchain-linux (armbe8) (push) Failing after 3s
CI / toolchain-linux (armhf) (push) Failing after 2s
CI / toolchain-linux (armhf-musl) (push) Failing after 3s
CI / toolchain-linux (x86) (push) Failing after 2s
CI / toolchain-linux (x86_64) (push) Failing after 1m22s
CI / toolchain-linux (x86_64-musl) (push) Failing after 50s
CI / sdk-linux (arm64) (push) Has been skipped
CI / sdk-linux (arm64-musl) (push) Has been skipped
CI / sdk-linux (arm64be) (push) Has been skipped
CI / sdk-linux (arm64beilp32) (push) Has been skipped
CI / sdk-linux (armhf-musl) (push) Has been skipped
CI / sdk-linux (mips) (push) Has been skipped
CI / sdk-linux (mips64) (push) Has been skipped
CI / sdk-linux (mips64el) (push) Has been skipped
CI / sdk-linux (mipsel) (push) Has been skipped
CI / sdk-linux (x86) (push) Has been skipped
CI / sdk-linux (x86_64) (push) Has been skipped
CI / sdk-linux (x86_64-musl) (push) Has been skipped
CI / sdk-android-32 (arm) (push) Has been skipped
CI / sdk-android-32 (x86) (push) Has been skipped
CI / sdk-android-64 (arm64) (push) Has been skipped
CI / sdk-android-64 (x86_64) (push) Has been skipped
CI / sdk-none-arm64 (push) Has been skipped
CI / sdk-none-softfloat (arm64) (push) Has been skipped
CI / sdk-none-softfloat (x86_64) (push) Has been skipped
CI / frida-linux (arm64) (push) Has been skipped
CI / frida-linux (arm64-musl) (push) Has been skipped
CI / frida-linux (arm64be) (push) Has been skipped
CI / frida-linux (armbe8) (push) Has been skipped
CI / frida-qnx (push) Has been skipped
CI / frida-gum-none-arm64 (push) Has been skipped
CI / frida-gum-none-softfloat (arm64) (push) Has been skipped
CI / frida-linux (armhf) (push) Has been skipped
CI / frida-linux (armhf-musl) (push) Has been skipped
CI / frida-linux (mips) (push) Has been skipped
CI / frida-linux (mips64) (push) Has been skipped
CI / frida-linux (mips64el) (push) Has been skipped
CI / frida-linux (mipsel) (push) Has been skipped
CI / frida-linux (x86) (push) Has been skipped
CI / frida-linux (x86_64) (push) Has been skipped
CI / frida-linux (x86_64-musl) (push) Has been skipped
CI / frida-android (arm) (push) Has been skipped
CI / frida-android (arm64) (push) Has been skipped
CI / frida-android (x86) (push) Has been skipped
CI / frida-android (x86_64) (push) Has been skipped
CI / frida-barebone-agent-none-arm64 (push) Has been skipped
CI / frida-gum-none-softfloat (x86_64) (push) Has been skipped
CI / frida-barebone-agent-none-softfloat (arm64, binutils-aarch64-linux-gnu, arm64, aarch64-unknown-none, aarch64-linux-gnu-) (push) Has been skipped
CI / frida-barebone-agent-none-softfloat (x86_64, , x86, x86_64-unknown-none, ) (push) Has been skipped
CI / package-linux (arm64) (push) Failing after 0s
CI / package-linux (arm64-musl) (push) Failing after 0s
CI / package-linux (arm64be) (push) Failing after 1s
CI / package-linux (armhf) (push) Failing after 0s
CI / package-linux (armbe8) (push) Failing after 0s
CI / package-linux (armhf-musl) (push) Failing after 0s
CI / package-linux (mips) (push) Failing after 0s
CI / package-linux (mips64el) (push) Failing after 0s
CI / package-linux (mipsel) (push) Failing after 0s
CI / package-linux (x86_64) (push) Failing after 0s
CI / package-linux (x86_64-musl) (push) Failing after 0s
CI / package-android (arm) (push) Failing after 0s
CI / package-android (x86) (push) Failing after 0s
CI / package-android (x86_64) (push) Failing after 0s
CI / package-qnx (armeabi) (push) Failing after 0s
CI / package-none-arm64 (push) Failing after 0s
CI / package-none-softfloat (arm64) (push) Failing after 0s
CI / package-none-softfloat (x86_64) (push) Failing after 0s
CI / package-linux (mips64) (push) Failing after 0s
CI / package-linux (x86) (push) Failing after 0s
CI / package-android (arm64) (push) Failing after 0s
CI / toolchain-windows (arm64) (push) Has been cancelled
CI / toolchain-windows (x86) (push) Has been cancelled
CI / toolchain-macos (arm64) (push) Has been cancelled
CI / toolchain-macos (x86_64) (push) Has been cancelled
CI / sdk-macos (arm64e) (push) Has been cancelled
CI / sdk-macos (x86_64) (push) Has been cancelled
CI / sdk-ios (arm64) (push) Has been cancelled
CI / sdk-ios (arm64-simulator) (push) Has been cancelled
CI / sdk-ios (arm64e) (push) Has been cancelled
CI / sdk-ios (x86_64-simulator) (push) Has been cancelled
CI / sdk-watchos (arm64) (push) Has been cancelled
CI / sdk-watchos (arm64-simulator) (push) Has been cancelled
CI / sdk-tvos (arm64) (push) Has been cancelled
CI / sdk-tvos (arm64-simulator) (push) Has been cancelled
CI / publish-prod (push) Has been cancelled
CI / publish-dev (push) Has been cancelled
CI / assemble-ios-assets (push) Has been cancelled
CI / assemble-tvos-assets (push) Has been cancelled
CI / package-apple-universal (push) Has been cancelled
CI / package-windows (arm64) (push) Has been cancelled
CI / package-windows (x86) (push) Has been cancelled
CI / package-windows (x86_64) (push) Has been cancelled
CI / package-windows-sfx (x86) (push) Has been cancelled
CI / package-windows-sfx (x86_64) (push) Has been cancelled
CI / package-macos (arm64) (push) Has been cancelled
CI / package-macos (arm64e) (push) Has been cancelled
CI / package-macos (x86_64) (push) Has been cancelled
CI / package-ios (arm64) (push) Has been cancelled
CI / package-ios (arm64-simulator) (push) Has been cancelled
CI / package-ios (arm64e) (push) Has been cancelled
CI / package-ios (x86_64-simulator) (push) Has been cancelled
CI / package-watchos (arm64) (push) Has been cancelled
CI / package-watchos (arm64-simulator) (push) Has been cancelled
CI / package-tvos (arm64) (push) Has been cancelled
CI / package-tvos (arm64-simulator) (push) Has been cancelled
CI / frida-windows-intel (x86, mingw-w64-i686-gcc, MINGW32) (push) Has been cancelled
CI / frida-windows-intel (x86_64, mingw-w64-x86_64-gcc, MINGW64) (push) Has been cancelled
CI / frida-windows (push) Has been cancelled
CI / frida-macos (arm64) (push) Has been cancelled
CI / frida-macos (arm64e) (push) Has been cancelled
CI / frida-macos (x86_64) (push) Has been cancelled
CI / frida-ios (arm64) (push) Has been cancelled
CI / frida-ios (arm64-simulator) (push) Has been cancelled
CI / frida-ios (arm64e) (push) Has been cancelled
CI / frida-ios (x86_64-simulator) (push) Has been cancelled
CI / frida-watchos (arm64) (push) Has been cancelled
CI / frida-watchos (arm64-simulator) (push) Has been cancelled
CI / frida-tvos (arm64) (push) Has been cancelled
CI / frida-tvos (arm64-simulator) (push) Has been cancelled
CI / sdk-windows (arm64, md) (push) Has been cancelled
CI / sdk-windows (arm64, mdd) (push) Has been cancelled
CI / sdk-windows (arm64, mt) (push) Has been cancelled
CI / sdk-windows (arm64, mtd) (push) Has been cancelled
CI / sdk-windows (x86, md) (push) Has been cancelled
CI / sdk-windows (x86, mdd) (push) Has been cancelled
CI / sdk-windows (x86, mt) (push) Has been cancelled
CI / sdk-windows (x86, mtd) (push) Has been cancelled
CI / sdk-windows (x86_64, md) (push) Has been cancelled
CI / sdk-windows (x86_64, mdd) (push) Has been cancelled
CI / sdk-windows (x86_64, mt) (push) Has been cancelled
CI / sdk-windows (x86_64, mtd) (push) Has been cancelled
CI / sdk-macos (arm64) (push) Has been cancelled
Some checks failed
CI / sdk-linux (armbe8) (push) Has been skipped
CI / sdk-linux (armhf) (push) Has been skipped
CI / toolchain-linux (arm64) (push) Failing after 2s
CI / toolchain-linux (arm64-musl) (push) Failing after 2s
CI / toolchain-linux (arm64be) (push) Failing after 2s
CI / toolchain-linux (arm64beilp32) (push) Failing after 2s
CI / toolchain-linux (armbe8) (push) Failing after 3s
CI / toolchain-linux (armhf) (push) Failing after 2s
CI / toolchain-linux (armhf-musl) (push) Failing after 3s
CI / toolchain-linux (x86) (push) Failing after 2s
CI / toolchain-linux (x86_64) (push) Failing after 1m22s
CI / toolchain-linux (x86_64-musl) (push) Failing after 50s
CI / sdk-linux (arm64) (push) Has been skipped
CI / sdk-linux (arm64-musl) (push) Has been skipped
CI / sdk-linux (arm64be) (push) Has been skipped
CI / sdk-linux (arm64beilp32) (push) Has been skipped
CI / sdk-linux (armhf-musl) (push) Has been skipped
CI / sdk-linux (mips) (push) Has been skipped
CI / sdk-linux (mips64) (push) Has been skipped
CI / sdk-linux (mips64el) (push) Has been skipped
CI / sdk-linux (mipsel) (push) Has been skipped
CI / sdk-linux (x86) (push) Has been skipped
CI / sdk-linux (x86_64) (push) Has been skipped
CI / sdk-linux (x86_64-musl) (push) Has been skipped
CI / sdk-android-32 (arm) (push) Has been skipped
CI / sdk-android-32 (x86) (push) Has been skipped
CI / sdk-android-64 (arm64) (push) Has been skipped
CI / sdk-android-64 (x86_64) (push) Has been skipped
CI / sdk-none-arm64 (push) Has been skipped
CI / sdk-none-softfloat (arm64) (push) Has been skipped
CI / sdk-none-softfloat (x86_64) (push) Has been skipped
CI / frida-linux (arm64) (push) Has been skipped
CI / frida-linux (arm64-musl) (push) Has been skipped
CI / frida-linux (arm64be) (push) Has been skipped
CI / frida-linux (armbe8) (push) Has been skipped
CI / frida-qnx (push) Has been skipped
CI / frida-gum-none-arm64 (push) Has been skipped
CI / frida-gum-none-softfloat (arm64) (push) Has been skipped
CI / frida-linux (armhf) (push) Has been skipped
CI / frida-linux (armhf-musl) (push) Has been skipped
CI / frida-linux (mips) (push) Has been skipped
CI / frida-linux (mips64) (push) Has been skipped
CI / frida-linux (mips64el) (push) Has been skipped
CI / frida-linux (mipsel) (push) Has been skipped
CI / frida-linux (x86) (push) Has been skipped
CI / frida-linux (x86_64) (push) Has been skipped
CI / frida-linux (x86_64-musl) (push) Has been skipped
CI / frida-android (arm) (push) Has been skipped
CI / frida-android (arm64) (push) Has been skipped
CI / frida-android (x86) (push) Has been skipped
CI / frida-android (x86_64) (push) Has been skipped
CI / frida-barebone-agent-none-arm64 (push) Has been skipped
CI / frida-gum-none-softfloat (x86_64) (push) Has been skipped
CI / frida-barebone-agent-none-softfloat (arm64, binutils-aarch64-linux-gnu, arm64, aarch64-unknown-none, aarch64-linux-gnu-) (push) Has been skipped
CI / frida-barebone-agent-none-softfloat (x86_64, , x86, x86_64-unknown-none, ) (push) Has been skipped
CI / package-linux (arm64) (push) Failing after 0s
CI / package-linux (arm64-musl) (push) Failing after 0s
CI / package-linux (arm64be) (push) Failing after 1s
CI / package-linux (armhf) (push) Failing after 0s
CI / package-linux (armbe8) (push) Failing after 0s
CI / package-linux (armhf-musl) (push) Failing after 0s
CI / package-linux (mips) (push) Failing after 0s
CI / package-linux (mips64el) (push) Failing after 0s
CI / package-linux (mipsel) (push) Failing after 0s
CI / package-linux (x86_64) (push) Failing after 0s
CI / package-linux (x86_64-musl) (push) Failing after 0s
CI / package-android (arm) (push) Failing after 0s
CI / package-android (x86) (push) Failing after 0s
CI / package-android (x86_64) (push) Failing after 0s
CI / package-qnx (armeabi) (push) Failing after 0s
CI / package-none-arm64 (push) Failing after 0s
CI / package-none-softfloat (arm64) (push) Failing after 0s
CI / package-none-softfloat (x86_64) (push) Failing after 0s
CI / package-linux (mips64) (push) Failing after 0s
CI / package-linux (x86) (push) Failing after 0s
CI / package-android (arm64) (push) Failing after 0s
CI / toolchain-windows (arm64) (push) Has been cancelled
CI / toolchain-windows (x86) (push) Has been cancelled
CI / toolchain-macos (arm64) (push) Has been cancelled
CI / toolchain-macos (x86_64) (push) Has been cancelled
CI / sdk-macos (arm64e) (push) Has been cancelled
CI / sdk-macos (x86_64) (push) Has been cancelled
CI / sdk-ios (arm64) (push) Has been cancelled
CI / sdk-ios (arm64-simulator) (push) Has been cancelled
CI / sdk-ios (arm64e) (push) Has been cancelled
CI / sdk-ios (x86_64-simulator) (push) Has been cancelled
CI / sdk-watchos (arm64) (push) Has been cancelled
CI / sdk-watchos (arm64-simulator) (push) Has been cancelled
CI / sdk-tvos (arm64) (push) Has been cancelled
CI / sdk-tvos (arm64-simulator) (push) Has been cancelled
CI / publish-prod (push) Has been cancelled
CI / publish-dev (push) Has been cancelled
CI / assemble-ios-assets (push) Has been cancelled
CI / assemble-tvos-assets (push) Has been cancelled
CI / package-apple-universal (push) Has been cancelled
CI / package-windows (arm64) (push) Has been cancelled
CI / package-windows (x86) (push) Has been cancelled
CI / package-windows (x86_64) (push) Has been cancelled
CI / package-windows-sfx (x86) (push) Has been cancelled
CI / package-windows-sfx (x86_64) (push) Has been cancelled
CI / package-macos (arm64) (push) Has been cancelled
CI / package-macos (arm64e) (push) Has been cancelled
CI / package-macos (x86_64) (push) Has been cancelled
CI / package-ios (arm64) (push) Has been cancelled
CI / package-ios (arm64-simulator) (push) Has been cancelled
CI / package-ios (arm64e) (push) Has been cancelled
CI / package-ios (x86_64-simulator) (push) Has been cancelled
CI / package-watchos (arm64) (push) Has been cancelled
CI / package-watchos (arm64-simulator) (push) Has been cancelled
CI / package-tvos (arm64) (push) Has been cancelled
CI / package-tvos (arm64-simulator) (push) Has been cancelled
CI / frida-windows-intel (x86, mingw-w64-i686-gcc, MINGW32) (push) Has been cancelled
CI / frida-windows-intel (x86_64, mingw-w64-x86_64-gcc, MINGW64) (push) Has been cancelled
CI / frida-windows (push) Has been cancelled
CI / frida-macos (arm64) (push) Has been cancelled
CI / frida-macos (arm64e) (push) Has been cancelled
CI / frida-macos (x86_64) (push) Has been cancelled
CI / frida-ios (arm64) (push) Has been cancelled
CI / frida-ios (arm64-simulator) (push) Has been cancelled
CI / frida-ios (arm64e) (push) Has been cancelled
CI / frida-ios (x86_64-simulator) (push) Has been cancelled
CI / frida-watchos (arm64) (push) Has been cancelled
CI / frida-watchos (arm64-simulator) (push) Has been cancelled
CI / frida-tvos (arm64) (push) Has been cancelled
CI / frida-tvos (arm64-simulator) (push) Has been cancelled
CI / sdk-windows (arm64, md) (push) Has been cancelled
CI / sdk-windows (arm64, mdd) (push) Has been cancelled
CI / sdk-windows (arm64, mt) (push) Has been cancelled
CI / sdk-windows (arm64, mtd) (push) Has been cancelled
CI / sdk-windows (x86, md) (push) Has been cancelled
CI / sdk-windows (x86, mdd) (push) Has been cancelled
CI / sdk-windows (x86, mt) (push) Has been cancelled
CI / sdk-windows (x86, mtd) (push) Has been cancelled
CI / sdk-windows (x86_64, md) (push) Has been cancelled
CI / sdk-windows (x86_64, mdd) (push) Has been cancelled
CI / sdk-windows (x86_64, mt) (push) Has been cancelled
CI / sdk-windows (x86_64, mtd) (push) Has been cancelled
CI / sdk-macos (arm64) (push) Has been cancelled
The softfloat jobs differ by an architecture and, for the agent, by which binutils and Rust target go with it, so they become one matrix each rather than a second copy. The arm64 leg gains an ARCH now that the Makefile takes the one it is built on as its default, which on a runner is x86. The prelink check learns the entry points the kmod glue reaches the Interceptor through, which it has needed since the cloak grew hooks of its own.
This commit is contained in:
parent
01bf1f6484
commit
30eb4f5a48
1 changed files with 75 additions and 36 deletions
111
.github/workflows/ci.yml
vendored
111
.github/workflows/ci.yml
vendored
|
|
@ -22,7 +22,7 @@ jobs:
|
|||
- package-qnx
|
||||
- package-apple-universal
|
||||
- package-none-arm64
|
||||
- package-none-arm64-softfloat
|
||||
- package-none-softfloat
|
||||
- assemble-ios-assets
|
||||
- assemble-tvos-assets
|
||||
permissions:
|
||||
|
|
@ -781,9 +781,13 @@ jobs:
|
|||
|
||||
# No agent here: the soft-float one is a static library that only means anything
|
||||
# once linked into a module for a specific kernel.
|
||||
package-none-arm64-softfloat:
|
||||
package-none-softfloat:
|
||||
if: startsWith(github.ref, 'refs/tags/')
|
||||
needs: frida-gum-none-arm64-softfloat
|
||||
needs: frida-gum-none-softfloat
|
||||
strategy:
|
||||
matrix:
|
||||
arch: [x86_64, arm64]
|
||||
fail-fast: false
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Check out repo
|
||||
|
|
@ -791,11 +795,11 @@ jobs:
|
|||
- name: Package Gum devkit
|
||||
uses: ./.github/actions/package-artifact-files-as-tarball
|
||||
with:
|
||||
name: frida-gum-devkit-none-arm64-softfloat
|
||||
name: frida-gum-devkit-none-${{ matrix.arch }}-softfloat
|
||||
- name: Package GumJS devkit
|
||||
uses: ./.github/actions/package-artifact-files-as-tarball
|
||||
with:
|
||||
name: frida-gumjs-devkit-none-arm64-softfloat
|
||||
name: frida-gumjs-devkit-none-${{ matrix.arch }}-softfloat
|
||||
|
||||
frida-windows-intel:
|
||||
needs: sdk-windows
|
||||
|
|
@ -1932,8 +1936,12 @@ jobs:
|
|||
name: frida-barebone-agent-none-arm64
|
||||
path: subprojects/frida-core/src/barebone/agent/target/aarch64-unknown-none/release/frida-barebone-agent
|
||||
|
||||
frida-gum-none-arm64-softfloat:
|
||||
needs: sdk-none-arm64-softfloat
|
||||
frida-gum-none-softfloat:
|
||||
needs: sdk-none-softfloat
|
||||
strategy:
|
||||
matrix:
|
||||
arch: [x86_64, arm64]
|
||||
fail-fast: false
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Check out repo
|
||||
|
|
@ -1951,8 +1959,6 @@ jobs:
|
|||
node-version: 24
|
||||
- name: Grab frida-gum
|
||||
run: python tools/ensure-submodules.py frida-gum
|
||||
# GCC has no -mabi=aapcs-soft, so this flavour is clang-only, and 19 is where
|
||||
# it landed.
|
||||
- name: Set up C toolchain
|
||||
run: |
|
||||
curl -sSL https://apt.llvm.org/llvm.sh -o llvm.sh
|
||||
|
|
@ -1966,7 +1972,7 @@ jobs:
|
|||
working-directory: subprojects/frida-gum
|
||||
run: >-
|
||||
./configure
|
||||
--host=none-arm64-softfloat
|
||||
--host=none-${{ matrix.arch }}-softfloat
|
||||
--enable-gumjs
|
||||
--with-devkits=gum,gumjs
|
||||
--with-devkit-symbol-scope=original
|
||||
|
|
@ -1979,31 +1985,48 @@ jobs:
|
|||
- name: Upload Gum devkit
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: frida-gum-devkit-none-arm64-softfloat
|
||||
name: frida-gum-devkit-none-${{ matrix.arch }}-softfloat
|
||||
path: subprojects/frida-gum/build/gum/devkit/
|
||||
- name: Upload GumJS devkit
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: frida-gumjs-devkit-none-arm64-softfloat
|
||||
name: frida-gumjs-devkit-none-${{ matrix.arch }}-softfloat
|
||||
path: subprojects/frida-gum/build/bindings/gumjs/devkit/
|
||||
|
||||
# The Makefile drives Cargo and the prelink itself, so the flags the agent needs live
|
||||
# there rather than here. It stops at the prelinked object: a .ko is only loadable on
|
||||
# the exact GKI build it was made for, since vermagic names it verbatim, so the
|
||||
# kernel half is left to whoever has that kernel.
|
||||
frida-barebone-agent-none-arm64-softfloat:
|
||||
needs: frida-gum-none-arm64-softfloat
|
||||
frida-barebone-agent-none-softfloat:
|
||||
needs: frida-gum-none-softfloat
|
||||
strategy:
|
||||
matrix:
|
||||
include:
|
||||
- arch: x86_64
|
||||
kernel_arch: x86
|
||||
rust_target: x86_64-unknown-none
|
||||
toolprefix: ''
|
||||
binutils: ''
|
||||
- arch: arm64
|
||||
kernel_arch: arm64
|
||||
rust_target: aarch64-unknown-none
|
||||
toolprefix: aarch64-linux-gnu-
|
||||
binutils: binutils-aarch64-linux-gnu
|
||||
fail-fast: false
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Check out repo
|
||||
uses: actions/checkout@v7
|
||||
- name: Grab frida-core
|
||||
run: python tools/ensure-submodules.py frida-core
|
||||
- name: Set up C toolchain
|
||||
# The prelink reads nm's archive map, which only GNU nm emits.
|
||||
- name: Set up binutils
|
||||
if: matrix.binutils != ''
|
||||
run: |
|
||||
sudo apt-get update
|
||||
# The prelink reads nm's archive map, which only GNU nm emits.
|
||||
sudo apt-get install -y binutils-aarch64-linux-gnu
|
||||
sudo apt-get install -y ${{ matrix.binutils }}
|
||||
- name: Set up C toolchain
|
||||
run: |
|
||||
curl -sSL https://apt.llvm.org/llvm.sh -o llvm.sh
|
||||
chmod +x llvm.sh
|
||||
sudo ./llvm.sh $CLANG_VERSION
|
||||
|
|
@ -2011,29 +2034,28 @@ jobs:
|
|||
env:
|
||||
CLANG_VERSION: 21
|
||||
- name: Fetch the SDK
|
||||
run: releng/deps.py sync sdk none-arm64-softfloat $SDK_PREFIX
|
||||
run: releng/deps.py sync sdk none-${{ matrix.arch }}-softfloat $SDK_PREFIX
|
||||
env:
|
||||
SDK_PREFIX: ${{ runner.workspace }}/sdk-none-arm64-softfloat
|
||||
# x18 is the kernel's shadow call stack pointer, so core, alloc and
|
||||
# compiler_builtins have to be rebuilt from source to honour it.
|
||||
SDK_PREFIX: ${{ runner.workspace }}/sdk-none-${{ matrix.arch }}-softfloat
|
||||
- name: Set up Rust target
|
||||
run: |
|
||||
rustup target add aarch64-unknown-none
|
||||
rustup target add ${{ matrix.rust_target }}
|
||||
rustup component add rust-src
|
||||
- name: Download GumJS devkit
|
||||
uses: actions/download-artifact@v8
|
||||
with:
|
||||
name: frida-gumjs-devkit-none-arm64-softfloat
|
||||
name: frida-gumjs-devkit-none-${{ matrix.arch }}-softfloat
|
||||
path: ${{ runner.workspace }}/gumjs-devkit
|
||||
- name: Build agent
|
||||
working-directory: subprojects/frida-core/src/barebone/agent/linux
|
||||
run: >-
|
||||
make frida-agent-prelinked.o.bin
|
||||
FRIDA_SDK=${{ runner.workspace }}/sdk-none-arm64-softfloat
|
||||
AGENT_LD=aarch64-linux-gnu-ld
|
||||
AGENT_AR=aarch64-linux-gnu-ar
|
||||
AGENT_NM=aarch64-linux-gnu-nm
|
||||
AGENT_OBJCOPY=aarch64-linux-gnu-objcopy
|
||||
ARCH=${{ matrix.kernel_arch }}
|
||||
FRIDA_SDK=${{ runner.workspace }}/sdk-none-${{ matrix.arch }}-softfloat
|
||||
AGENT_LD=${{ matrix.toolprefix }}ld
|
||||
AGENT_AR=${{ matrix.toolprefix }}ar
|
||||
AGENT_NM=${{ matrix.toolprefix }}nm
|
||||
AGENT_OBJCOPY=${{ matrix.toolprefix }}objcopy
|
||||
env:
|
||||
GUMJS_DEVKIT_DIR: ${{ runner.workspace }}/gumjs-devkit
|
||||
# Everything the module needs from the kernel goes through frida-kmod.c, and
|
||||
|
|
@ -2043,18 +2065,32 @@ jobs:
|
|||
- name: Check the prelink
|
||||
working-directory: subprojects/frida-core/src/barebone/agent/linux
|
||||
run: |
|
||||
undefined=$(aarch64-linux-gnu-nm --undefined-only frida-agent-prelinked.o.bin \
|
||||
undefined=$(${{ matrix.toolprefix }}nm --undefined-only frida-agent-prelinked.o.bin \
|
||||
| awk '{ print $2 }' | grep -v '^frida_kmod_' || true)
|
||||
if [ -n "$undefined" ]; then
|
||||
echo "Undefined beyond the kmod glue:" $undefined
|
||||
exit 1
|
||||
fi
|
||||
globals=$(aarch64-linux-gnu-nm --defined-only --extern-only frida-agent-prelinked.o.bin \
|
||||
| awk '{ print $3 }' | sort | tr '\n' ' ')
|
||||
if [ "$globals" != "frida_agent_start frida_agent_stop " ]; then
|
||||
globals=$(${{ matrix.toolprefix }}nm --defined-only --extern-only frida-agent-prelinked.o.bin \
|
||||
| awk '{ print $3 }' | sort | paste -sd' ')
|
||||
if [ "$globals" != "$EXPECTED_GLOBALS" ]; then
|
||||
echo "Global symbols beyond the entry points:" $globals
|
||||
exit 1
|
||||
fi
|
||||
env:
|
||||
EXPECTED_GLOBALS: >-
|
||||
frida_agent_start frida_agent_stop
|
||||
gum_interceptor_begin_transaction gum_interceptor_end_transaction
|
||||
gum_interceptor_obtain gum_interceptor_replace
|
||||
gum_interceptor_revert
|
||||
- name: Check for notrack jumps
|
||||
if: matrix.kernel_arch == 'x86'
|
||||
working-directory: subprojects/frida-core/src/barebone/agent/linux
|
||||
run: |
|
||||
if objdump -d frida-agent-prelinked.o.bin | grep -q notrack; then
|
||||
objdump -d frida-agent-prelinked.o.bin | grep -B 2 notrack
|
||||
exit 1
|
||||
fi
|
||||
|
||||
toolchain-windows:
|
||||
strategy:
|
||||
|
|
@ -2341,8 +2377,12 @@ jobs:
|
|||
- name: Roll SDK
|
||||
run: releng/deps.py roll sdk aarch64-none-elf --activate
|
||||
|
||||
sdk-none-arm64-softfloat:
|
||||
sdk-none-softfloat:
|
||||
needs: toolchain-linux
|
||||
strategy:
|
||||
matrix:
|
||||
arch: [x86_64, arm64]
|
||||
fail-fast: false
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Check out repo
|
||||
|
|
@ -2356,8 +2396,7 @@ jobs:
|
|||
cloudflare-token: ${{ secrets.CF_TOKEN }}
|
||||
- name: Check whether the SDK is already published
|
||||
id: sdk
|
||||
run: echo "published=$(releng/deps.py published sdk none-arm64-softfloat)" >> $GITHUB_OUTPUT
|
||||
# -mabi=aapcs-soft landed in clang 19, which is newer than the runner's own.
|
||||
run: echo "published=$(releng/deps.py published sdk none-${{ matrix.arch }}-softfloat)" >> $GITHUB_OUTPUT
|
||||
- name: Set up C toolchain
|
||||
if: steps.sdk.outputs.published == 'false'
|
||||
run: |
|
||||
|
|
@ -2372,7 +2411,7 @@ jobs:
|
|||
env:
|
||||
CLANG_VERSION: 21
|
||||
- name: Roll SDK
|
||||
run: releng/deps.py roll sdk none-arm64-softfloat --activate
|
||||
run: releng/deps.py roll sdk none-${{ matrix.arch }}-softfloat --activate
|
||||
env:
|
||||
CC: clang
|
||||
CXX: clang++
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue