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

GCC buildable again with older mawk versions.

Replaced POSIX character class [[:blank:]] with [ \t] in gen-pass-instances.awk for compatibility with mawk <= 1.3.3.

This commit ensures GCC can be built on systems using older versions of mawk (<= 1.3.3) by modifying the gen-pass-instances.awk script. The script previously used the POSIX character class [[:blank:]], which is not supported by these older mawk versions. It has been replaced with [ \t] to restore buildability on affected systems.

In Details

The gen-pass-instances.awk script generates C++ code for optimizing passes. Older versions of mawk (<= 1.3.3), often found as the default awk on Debian/Ubuntu systems, do not fully support POSIX character classes like [[:blank:]]. This commit replaces [[:blank:]] with the more compatible [ ] to resolve build failures on such systems.

For Context
awk
A scripting language utility for text processing, commonly used for pattern scanning and processing. GCC uses custom awk scripts for source code generation.
mawk
A specific implementation of the awk language, known for its speed. Older versions have compatibility issues with POSIX features.
gen-pass-instances.awk
An awk script within GCC that generates C++ code defining instances of compiler optimization passes. This script is part of the build system.
[[:blank:]]
A POSIX character class that matches space and tab characters. It is used in regular expressions.
Filed Under: buildawkcompatibility