![A Deep Dive into the ELF File Format Elf Quest](https://cdn.magzter.com/1591653320/1679604471/articles/1Oubn3wrw1680677046917/A-DEEP-DIVE-INTO-THE-ELF-FILE-FORMAT-ELF-QUEST.jpg)
An object file is a black box that you can never really see inside. You can’t just open it and read it. We all have some understanding that it contains instructions for the computer, coded in a format that only a computer can understand, but we’re used to thinking of compiled program code as something of a mystery. If you take a closer look, however, the structure is not as opaque as you might imagine.
Linux, like most other Unix-like operating systems, stores program code in the Executable and Linkable Format (ELF). ELF superseded the less-flexible a.out format and has been the standard in Linux since 1995 and in FreeBSD [1] since 1998. An ELF object file contains the processor-specific instructions that the CPU actually executes. It also contains other information relating to
• how and where to load the object into memory
• dynamic linking
• any public functions exported (or imported) by the object
• debugging
Much of this functionality is only documented in the source code for kernels and toolchains themselves or in various obscure parts of the web. Understanding the ELF format is essential for anyone writing a compiler, assembler, or linker for the Linux platform.
This story is from the #270/May 2023: Green Coding edition of Linux Magazine.
Start your 7-day Magzter GOLD free trial to access thousands of curated premium stories, and 9,000+ magazines and newspapers.
Already a subscriber ? Sign In
This story is from the #270/May 2023: Green Coding edition of Linux Magazine.
Start your 7-day Magzter GOLD free trial to access thousands of curated premium stories, and 9,000+ magazines and newspapers.
Already a subscriber? Sign In
![URL filtering with Pi-hole Into the Funnel](https://reseuro.magzter.com/100x125/articles/22172/1382687/IkaSPovGs1692252224395/URL-FILTERING-WITH-PIHOLE-INTO-THE-FUNNEL.jpg)
URL filtering with Pi-hole Into the Funnel
Supporting browser plug-ins, network-based DNS blockers like Pi-hole help protect you against online tracking and unwanted content.
![Artificial intelligence on the Raspberry Pi Learning Experience](https://reseuro.magzter.com/100x125/articles/22172/1382687/xLwinhCCE1692251808426/ARTIFICIAL-INTELLIGENCE-ON-THE-RASPBERRY-PI-LEARNING-EXPERIENCE.jpg)
Artificial intelligence on the Raspberry Pi Learning Experience
You don't need a powerful computer system to use Al. We show what it takes to benefit from Al on the Raspberry Pi and what tasks the small computer can handle.
![MakerSpace Manage your greenhouse with a Raspberry Pi Pico W Sheltered Growth](https://reseuro.magzter.com/100x125/articles/22172/1382687/ZeeVjK1411692251462592/MAKERSPACE-MANAGE-YOUR-GREENHOUSE-WITH-A-RASPBERRY-PI-PICO-W-SHELTERED-GROWTH.jpg)
MakerSpace Manage your greenhouse with a Raspberry Pi Pico W Sheltered Growth
You can safely assign some greenhouse tasks to a Raspberry Pi Pico W, such as controlling ventilation, automating a heater, and opening and closing windows.
![Control Center](https://reseuro.magzter.com/100x125/articles/22172/1382687/mefRohmso1692251184495/CONTROL-CENTER.jpg)
Control Center
Tipi gives you complete control of more than 100 applications and services. A mouse click is all it takes to install the apps.
![In One Fell Swoop](https://reseuro.magzter.com/100x125/articles/22172/1382687/8Jxd0SLW61692251049554/IN-ONE-FELL-SWOOP.jpg)
In One Fell Swoop
Topgrade detects all the package managers installed on a system and executes them one by one at the command line.
![Go Faster!](https://reseuro.magzter.com/100x125/articles/22172/1382687/Yur-89aEe1692250668645/GO-FASTER.jpg)
Go Faster!
The fastest way through a curve on a racetrack is along the racing line. Instead of heading for Indianapolis, Mike Schilli trains his reflexes with a desktop application written in Go, just to be on the safe side.
![Math Magic](https://reseuro.magzter.com/100x125/articles/22172/1382687/ERMDk-QAC1692249916010/MATH-MAGIC.jpg)
Math Magic
MathLex lets you easily transform handwritten math formulas to digital format and use them on the web.
![Custom Repair Toolkit](https://reseuro.magzter.com/100x125/articles/22172/1382687/ZzW0Nb3E91692249420246/CUSTOM-REPAIR-TOOLKIT.jpg)
Custom Repair Toolkit
You can do more with System Rescue than just repair broken systems. By adding tools and scripts, you can create a custom rescue environment that meets your needs.
![At Your Disposal](https://reseuro.magzter.com/100x125/articles/22172/1382687/rJz1xW_Kj1692249105481/AT-YOUR-DISPOSAL.jpg)
At Your Disposal
Debvm lets you quickly create a temporary virtual machine with a small memory footprint, ideal for testing scripts or mixing repositories
![A Fresh Breeze](https://reseuro.magzter.com/100x125/articles/22172/1382687/R7LYs2sgw1692248789599/A-FRESH-BREEZE.jpg)
A Fresh Breeze
Vanilla OS, an immutable filesystem, seamlessly integrates applications from other distributions with an innovative container-based package manager.