GCC Newspaper
JULY 29, 2026
Date
/
Architectures
Components
Topics
News & Policy
libgcc, darwin

libgcc, Darwin: Fix missing prerequisite [PR123976].

Corrects build dependencies for libgcc on Darwin to ensure correct compilation, especially in non-parallel builds.

This commit fixes a missing build prerequisite for libgcc on Darwin systems, specifically addressing an issue with unwind information generation. A recent change introduced a dependency on md-unwind-def.h in unwind-dw2.h, but the build configuration file t-darwin-ehs was not updated. This oversight caused failures in non-parallel builds, which is now corrected by adding the necessary dependency.

In Details

Fixes a build dependency issue on Darwin for libgcc concerning exception handling. The change r15-3802-gbdf41d627c13bc introduced a dependency of unwind-dw2.h on md-unwind-def.h. The t-darwin-ehs configuration was not updated, causing build failures in non-parallel configurations (j=1) where this dependency isn't implicitly satisfied by other means. This adds md-unwind-def.h to the prerequisites in t-darwin-ehs.

For Context
libgcc
The GCC runtime library, providing essential functions for C and C++ programs, such as exception handling, floating-point emulation, and support for language features that cannot be implemented directly by the compiler.
Darwin
The open-source Unix-based operating system which forms the basis for Apple's macOS, iOS, iPadOS, tvOS, and watchOS.
prerequisite
In the context of build systems (like make), a prerequisite is a file or target that must exist or be built before another target can be built. Missing prerequisites can cause build failures.
unwind information
Data used by exception handling mechanisms to determine the sequence of function calls to backtrack (unwind) when an exception is thrown. This includes information about stack frame layout and local variables.
non-parallel builds
Build processes that compile or link files sequentially, one after another, rather than concurrently. This is often controlled by build system variables like make -j1.
Filed Under: libgccdarwinbuildexception-handling