Skip to content
This repository was archived by the owner on Jun 23, 2026. It is now read-only.
Alessandro-SalernoPublic archive

Latest commit

 

History

73 Commits

Folders and files

Repository files navigation

Warning

This project was archived on June 23, 2026 due to high maintenance overhead and limited applicability. Development may resume at a later date depending on the needs of the ARES Project or other applicable targets.

Important

The official ezld repository is https://github.com/Alessandro-Salerno/ezld. If you're seeing this on any other website (like github-zh.com), switch to the official repository! I have never uploaded this project to other source hosting services.

ezld

Contributors Forks Stargazers Issues MIT License

Tiny, simple, and portable static Linker for the ELF format.

🛠 Features

  • Command-line interface for direct usage
  • No OS-specific dependency (portable across platforms)
  • Supports section alignment, entry point overrides, and more
  • Usable as a library or standalone binary

🚀 Usage

ezld by Alessandro Salerno
The EZ ELF Linker

Usage: ezld [<command>] [<options>] [<input files>]

COMMANDS:
    -h, --help         Show this menu
    -v, --version      Show version information

OPTIONS:
    -e, --entry-sym    Set the entry point symbol (default: '_start')
    -s, --section      Set base virtual address for section (e.g., -s .text=0x4000)
    -a, --align        Set PT_LOAD segment alignment (e.g., -a 0x1000)
    -o, --output       Set output file path (default: 'a.out')

⚙️ Building from Source

Use the included Makefile to build:

make debug    # Build with debug info, sanitizers, -O0
make release  # Build optimized release version
make library  # Build as a static library

📦 Installing via tarman

Install with tarman from the tarman user repository:

tarman install -r ezld

🌍 Portability

Though it links ELF binaries, it's designed to run on any host, including:

  • 🪟 Windows
  • 🐧 Linux
  • 🍎 macOS
  • 🌈 SalernOS

ezld avoids non-standard libc functions, improving portability and making it suitable for low-level projects, OS userspace testing, or educational purposes.

💻 Project Context

ezld was created as part of the ARES project. It’s meant to be a learning tool and experimentation ground for understanding the inner workings of static linking and ELF formats.

⚖️ License

This project includes code from:

ezld is licensed under the MIT License. Third-party code may have distinct copyright.

Used by

Contributors

Languages