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.
- 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.