BFD: Recognize Windows MSVC targets
BFD now recognizes Windows MSVC targets used by Clang and Rust.
This commit updates BFD’s target recognition to include Windows targets that use the ‘windows-msvc’ OS in their triplet, such as x86_64-pc-windows-msvc. Previously, these targets, used by compilers like Clang, were not mapped to a BFD target vector, causing configuration failures. The change extends existing PE entries for i386, x86_64, and aarch64 to match ‘-windows’, aligning them with MinGW triplets.
In Details
Extends BFD's target recognition in bfd/config.bfd to map Windows targets with an 'OS' of 'windows' (e.g., *-*-windows-msvc) to the appropriate PE target vectors. This ensures that toolchains using such triplets, like Clang on Windows, can correctly configure BFD without explicit platform vector definitions, similar to how MinGW triplets are handled.
- BFD
- The Binary File Descriptor library, a component of GNU Binutils for handling various object file formats.
- target triplet
- A string encoding the target architecture, vendor, and operating system for a compiler or toolchain, e.g., 'x86_64-pc-linux-gnu'.
- PE
- Portable Executable, the file format used for executables, DLLs, and object files on Windows.
- MinGW
- Minimalist GNU for Windows, a development environment that provides a Windows port of the GNU Compiler Collection (GCC) and related tools.