Landing: 9d02b118ee10

Project / Subsystem

gcc / libstdc++

Date

2026-03-11

Author

Jonathan Wakely

Commit

9d02b118ee10506f90c7cf0e439108f48d370fc1

Source

github

Impact

7/10

Perf win

No

Breaking

No

All attributes

project
gcc
subsystem
libstdc++
patch_id
commit_hash
9d02b118ee10506f90c7cf0e439108f48d370fc1
source_type
github
headline
Libstdc++: Ensure module initialization functions are present in the library.
tldr
Adds module initialization functions to libstdc++.so and libstdc++.a, ensuring users of std and std.compat modules don't need manual linking.
why_it_matters
Simplifies the use of C++23 modules by ensuring that necessary initialization functions are automatically included in the library, reducing manual configuration.
author
Jonathan Wakely
impact_score
7
impact_rationale
Improves the user experience when working with C++23 modules by streamlining the linking process.
outcome
committed
performance_win
false
breaking_change
false
series_id
series_parts
[]
tags
  • libstdc++
  • modules
  • C++23
  • linking
discussion_id_link
bugzilla_pr
date
2026-03-11T00:00:00.000Z

This commit aims to ensure that the module initialization functions are present in libstdc++.so and libstdc++.a. This prevents users of the std and std.compat modules from needing to manually link to std.o and/or std.compat.o. To avoid breaking bootstrap on some platforms, the commit allows the module compilation to fail, in which case an empty translation unit will be used instead.