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

Introduce as_flavor and ld_flavor for assembler/linker selection

New variables as_flavor and ld_flavor simplify handling of diverse assemblers and linkers.

GCC now uses as_flavor and ld_flavor variables to manage different assembler and linker toolchains, defaulting to GNU binutils. This change improves the clarity of build system code and prepares for upcoming changes to vendor toolchain handling. The system now supports specific configurations for AIX, Darwin, HP-UX, and NVPTX, in addition to Solaris, by checking assembler and linker version outputs.

In Details

The build system introduces as_flavor and ld_flavor to abstract over assembler and linker specifics, moving away from hardcoded vendor checks. This refactor aims to simplify the integration of non-GNU toolchains by providing a unified interface. HAVE_<FLAVOR>_AS/LD macros are now conditionally defined where needed, aligning with the new flavor-based approach.

For Context
as_flavor
A new build system variable in GCC that specifies the type of assembler being used (e.g., 'gnu', 'solaris', 'aix'). It simplifies the logic for selecting and configuring the correct assembler.
ld_flavor
A new build system variable in GCC that specifies the type of linker being used (e.g., 'gnu', 'solaris', 'aix'). It standardizes the handling of different linker backends.
GNU Binutils
A set of programming tools for generating and managing program object files, including the GNU assembler (as) and GNU linker (ld). It's the default toolchain for many systems.
Filed Under: buildconfigureassemblerlinker