Re: [PATCH] elf: Hide DT_INIT and DT_FINI functions

Project / Subsystem

binutils / elf

Date

2026-09-14

Proposer

Fangrui Song <i@maskray.me>

Source type

public_inbox

Consensus

Proposed

Sentiment

—/10

Technical tradeoffs

  • • Hiding initialization/finalization functions might improve security by obscuring critical code paths, but could break existing tools or assumptions that rely on these functions being visible.
  • • Modifying ELF structures requires careful consideration of ABI compatibility and potential impacts on different operating systems and architectures.
  • • The decision to hide these functions involves balancing potential security benefits against compatibility concerns and the complexity of dynamic linker behavior.

All attributes

project
binutils
subsystem
elf
patch_id
—
discussion_id
CAN30aBFtFc6dNL3k_-u25hgygYXj4S9fudLsJT6nF=7umz9HrA@mail.gmail.com
source_type
public_inbox
title
Re: [PATCH] elf: Hide DT_INIT and DT_FINI functions
headline
elf: Hide DT_INIT and DT_FINI functions
tldr
Discussion regarding a patch to hide DT_INIT and DT_FINI functions in ELF binaries.
proposer
Fangrui Song <i@maskray.me>
consensus
Proposed
outcome
proposed
sentiment_score
—
technical_tradeoffs
  • • Hiding initialization/finalization functions might improve security by obscuring critical code paths, but could break existing tools or assumptions that rely on these functions being visible.
  • • Modifying ELF structures requires careful consideration of ABI compatibility and potential impacts on different operating systems and architectures.
  • • The decision to hide these functions involves balancing potential security benefits against compatibility concerns and the complexity of dynamic linker behavior.
series_id
—
series_role
standalone
series_parts
[]
tags
  • • ELF
  • • binutils
  • • linker
  • • dynamic linking
  • • patch
bugzilla_url
—
date
2026-09-14T00:00:00.000Z

Re: [PATCH] elf: Hide DT_INIT and DT_FINI functions

This discussion revolves around a patch intended to hide the DT_INIT and DT_FINI functions within ELF binaries. The conversation appears to be a long-running thread with multiple participants weighing in on the implications and correctness of the proposed change. The core technical aspect involves manipulating ELF dynamic section tags to control the visibility or behavior of initialization and finalization functions.