.eh_frame prevalence dataset (Debian/Ubuntu)
收藏资源简介:
# .eh_frame prevalence dataset (Debian/Ubuntu) This dataset characterizes the prevalence of `.eh_frame` ELF sections acrossproduction binaries from Debian and Ubuntu distributions, on five non-x86architectures. It accompanies the PhD thesis *Beyond Reachability:Cross-Architecture Binary Libification and Procedural Debugging forVulnerability Assessment* (Jonathan Brossard, CNAM, 2026). ## Contents | File | Description ||---|---|| `download_images.sh` | Bootstraps Debian/Ubuntu chroots via `debootstrap` || `list_ehframe.sh` | Enumerates ELF binaries and counts `.eh_frame` sections via `readelf` || `log_txt` | Raw output of `list_ehframe.sh` across all 39 distro/arch combinations | ## Corpus **38,761 ELF binaries** across 39 combinations of 9 distributions and 5 architectures. ### Distributions | Family | Versions ||---|---|| Debian | forky, trixie, bookworm, bullseye, buster, stretch || Ubuntu | noble, jammy, focal, bionic, xenial | ### Architectures `arm64`, `armhf`, `ppc64el`, `riscv64`, `s390x` ## Results **Overall: 38,594 / 38,761 binaries (99.6%) contain a `.eh_frame` section.** ### By architecture | Architecture | ELF binaries | w/ `.eh_frame` | Coverage ||---|---|---|---|| ppc64el | 8,135 | 8,134 | 100.0% || riscv64 | 4,953 | 4,953 | 100.0% || s390x | 8,416 | 8,416 | 100.0% || arm64 | 8,326 | 8,248 | 99.1% || armhf | 8,931 | 8,843 | 99.0% | ### By distribution | Distribution | ELF binaries | w/ `.eh_frame` | Coverage ||---|---|---|---|| noble | 5,454 | 5,453 | 100.0% || focal | 5,327 | 5,326 | 100.0% || jammy | 5,016 | 5,013 | 99.9% || forky | 4,473 | 4,472 | 100.0% || trixie | 4,516 | 4,515 | 100.0% || bookworm | 3,758 | 3,757 | 100.0% || bullseye | 1,637 | 1,636 | 99.9% || bionic | 4,342 | 4,263 | 98.2% || xenial | 4,238 | 4,159 | 98.1% | ### Binaries without `.eh_frame` The 167 binaries lacking `.eh_frame` fall into three categories: - **klibc initramfs utilities** (`cat`, `ls`, `mount`, `sleep`, etc.) — compiled with `-ffreestanding`, no unwind tables by design; present in bionic and xenial on arm64/armhf only- **Dynamic linker** (`ld-linux-armhf.so.3`, `ld-2.x.so`) — the ELF interpreter itself occasionally omits `.eh_frame`; scattered across armhf across multiple distributions- **Isolated cases** — `apt-esm-json-hook` (jammy/ppc64el), `linuxarm.elf.stub` (jammy/armhf) These exceptions are artifacts of intentional toolchain choices, not anomaliesin the general population. ## Reproduction ```bash# 1. Bootstrap chroots (requires debootstrap, ~50 GB disk space)sudo bash download_images.sh # 2. Enumerate .eh_frame coveragebash list_ehframe.sh > log_txt``` Requires: `debootstrap`, `binutils` (`readelf`), `file`. ## Author Jonathan Brossard (jonathan.brossard@lecnam.net)CNAM — Conservatoire National des Arts et Métiers, Paris CEDRIC laboratory ## License Scripts: MIT Data (`log_txt`): CC0 1.0 Universal



