elf-inspection

Inspect ELF binaries for dependencies, symbols, sections, and debug info.

Updated Aug 23, 2026
One-click install
npx skills add https://github.com/awfixers-stuff/opencode-config --skill elf-inspection-awfixers-stuff
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: elf-inspection
Source: https://github.com/awfixers-stuff/opencode-config/tree/main/skills/elf-inspection
Command: npx skills add https://github.com/awfixers-stuff/opencode-config --skill elf-inspection-awfixers-stuff

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill helps engineers quickly understand the contents and runtime behavior of Linux ELF executables and shared libraries to diagnose undefined symbols, missing libraries, debug information absence, section-level bloat, and hardening flags.

Core Features & Use Cases

  • Symbol discovery and diagnosis: list defined and undefined symbols, symbol sizes, and demangle C++ names to trace link-time and runtime symbol issues.
  • Dynamic dependency and runtime linking analysis: identify needed libraries, detect missing shared objects, and surface build IDs for debuginfod lookups.
  • Section and bloat analysis: inspect section sizes, relocations, DWARF presence, and per-object contributions to find binary bloat.
  • Use Case: Troubleshoot a program that fails at runtime with an undefined symbol by locating which library should provide it, verifying that the library is loaded, and checking symbol versions.

Quick Start

Analyze the ELF binary ./prog and report its dynamic dependencies, exported symbols, section sizes, and whether it contains DWARF debug information.

Frequently Asked Questions about elf-inspection

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I diagnose undefined symbol errors in a Linux ELF binary?

To diagnose undefined symbol errors in a Linux ELF binary, inspect dynamic dependencies and symbol visibility using readelf and objdump. This identifies needed libraries and traces missing symbols back to their expected shared objects.

What is the best way to check dynamic dependencies and runtime linking failures in Linux executables?

Checking dynamic dependencies for runtime linking failures involves listing needed shared objects and detecting missing libraries. Tools like ldd and readelf extract build IDs and dependency chains to resolve loading issues.

How do I find binary bloat and analyze section sizes in ELF files?

Finding binary bloat in ELF files requires analyzing section sizes and per-object contributions. Using size and bloaty, you can inspect relocations and section layouts to locate oversized segments.

Can I verify DWARF debug information presence and hardening flags in shared libraries?

Yes, verifying DWARF debug information and hardening flags in shared libraries is possible. Inspecting ELF binaries with readelf and checksec extracts section layouts, DWARF presence, and security hardening flags.

Why does my Linux program fail at runtime with a missing shared object?

A Linux program fails at runtime with a missing shared object when dynamic dependencies are unmet. Analyzing the ELF binary with ldd and readelf identifies needed libraries and checks if they are loaded correctly.