Accelerating Shared Library Execution in a DBT
summary
Implements mixed-mode execution inside QEMU to intercept PLT entries and redirect guest calls to native host library functions, mapping guest PC addresses to host function pointers and generating marshalling stubs from an Interface Description Language. Handles calling‑convention translation between ARM and x86 registers, notes structural mismatches (e.g. fstat) that force fallbacks, and evaluates libm, SQLite and OpenSSL with 2.7×–6.3× average, up to 28× speedups over fully translated code while keeping developer effort minimal. Targets automatic IDL generation and function‑pointer support next. QEMU DBT system
AI-written summary · about
chapters (14)
- 0:00Accelerating shared libraries in DBT
- 1:03Dynamic Binary Translation
- 3:33DBT handling shared libraries
- 5:59Performance deficit in translation
- 7:22Shared libraries with PLT and linker
- 9:08Detecting library calls in DBT
- 10:10Calling conventions and registers
- 11:12Function parameter IDL
- 11:33Benchmark results and speedups
- 12:39Q&A
- 13:22Q&A: Ahead-of-time compilation vs DBT
- 14:03Library version compatibility
- 15:06Handling structure mismatches
- 15:30Speedup variation by function
related talks
17mA Retargetable System-Level DBT Hypervisor
48mUpstreaming SVE in QEMU
17mEMT: An OS Framework for New Memory Translation Architectures
17mCrossMapping: Harmonizing Memory Consistency in Cross-ISA Binary Translation
20mUnleashing the Power of Learning: An Enhanced Learning-Based Approach for Dynamic Binary Translation
24m(Ab)using Compiler Tools
19mMELF: Multivariant Executables for a Heterogeneous World
22mHunting and Exploiting Recursive MMIO Flaws in QEMU KVM
