Support -mcall-ms2sysv-xlogues on NetBSD/x86.
Improves libgcc support for the MS ABI calling convention on NetBSD/x86 platforms.
This change adds support for the -mcall-ms2sysv-xlogues option on NetBSD/x86 systems, resolving undefined references in tests related to the Microsoft (MS) ABI calling convention. The fix aligns with a previous change for FreeBSD/x86, but omits the emission of .note.GNU-stack sections as they are unnecessary on NetBSD. The changes were verified without regressions on NetBSD and Linux x86_64.
In Details
The test suite for the *-*-netbsdelf* and x86_64-*-netbsd* configurations now includes i386/t-msabi in their tmake_file. This enables the correct compilation of libgcc runtime support functions for the MS ABI calling convention (-mcall-ms2sysv-xlogues), resolving linker errors previously encountered on these platforms. Unlike the FreeBSD adaptation, this version omits the .note.GNU-stack section as it's not required by NetBSD.
- libgcc
- The GCC helper library, which contains runtime support for built-in functions and operations that do not have direct hardware support or require complex multi-instruction sequences (e.g., division for some architectures, floating-point emulation).
- -mcall-ms2sysv-xlogues
- A GCC target option that enables the use of specific prologue and epilogue sequences (xlogues) designed to support the Microsoft (MS) ABI calling convention on System V-based systems. This is crucial for interoperability when mixing code compiled with different ABI conventions.
- NetBSD
- A Unix-like operating system known for its portability and adherence to standards. It has its own distinct system ABI and conventions.
- .note.GNU-stack
- An ELF section note that specifies whether the stack segment should be executable. It's used by systems like Linux and FreeBSD but is not required by NetBSD.