Skip to content

Remove x86-32 support from syscall rewriter#811

Open
wdcui wants to merge 3 commits intomainfrom
wdcui/pr3-remove-x86-32
Open

Remove x86-32 support from syscall rewriter#811
wdcui wants to merge 3 commits intomainfrom
wdcui/pr3-remove-x86-32

Conversation

@wdcui
Copy link
Copy Markdown
Member

@wdcui wdcui commented Apr 25, 2026

This PR removes all x86-32 ELF handling from the syscall rewriter.

Drop all 32-bit ELF handling: Arch enum, TrampolineHeader32, int 0x80 /
call gs:0x10 detection, dl_sysinfo_int80 symbol lookup, the
hook_syscall_before_and_after fallback path, checked_sub_u64 helper,
get_symbols helper, and Elf32 branch in find_addr_for_trampoline_code.

Remove 32-bit test binary, snapshot, and test case. Simplify
trampoline_range in snapshot tests to 64-bit only.
wdcui added 2 commits April 25, 2026 11:17
Retain the Arch enum and thread it through function signatures so
adding Aarch64 support later does not require a disruptive refactor.
@wdcui wdcui marked this pull request as ready for review April 25, 2026 18:32
@github-actions
Copy link
Copy Markdown

🤖 SemverChecks 🤖 ⚠️ Potential breaking API changes detected ⚠️

Click for details
--- failure enum_variant_missing: pub enum variant removed or renamed ---

Description:
A publicly-visible enum has at least one variant that is no longer available under its prior name. It may have been renamed or removed entirely.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.47.0/src/lints/enum_variant_missing.ron

Failed in:
  variant Error::TrampolineAddressTooLarge, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/b16d89910d07fd5a1ed27c82df5b110d657dae5f/litebox_syscall_rewriter/src/lib.rs:42

@wdcui
Copy link
Copy Markdown
Member Author

wdcui commented Apr 25, 2026

This PR is ready for review. Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant