testsuite: Fix gcc.target/x86_64/abi tests on FreeBSD
The GCC testsuite now passes the x86_64 ABI tests on FreeBSD by adding `.note.GNU-stack` and adjusting compiler arguments.
The GCC testsuite’s x86_64 ABI tests were failing on FreeBSD due to missing stack executable flags and ABI differences. This commit fixes this by adding .note.GNU-stack to assembly support files for FreeBSD. It also adds --omit-rbp-clobbers to GEN_ARGS and adapts tests to the default -fno-omit-frame-pointer setting on FreeBSD. These changes ensure the testsuite passes on FreeBSD with both GNU ld and lld.
In Details
This patch modifies assembly support files in gcc.target/x86_64/abi/ to include .note.GNU-stack for FreeBSD, similar to other platforms. It also adjusts GEN_ARGS to include --omit-rbp-clobbers for the ms-sysv ABI tests. Finally, it adjusts tests expecting -fomit-frame-pointer to account for FreeBSD's default. These changes are necessary for the testsuite to pass on FreeBSD.
For Context
A compiler's Application Binary Interface (ABI) defines how code interacts at the machine level, specifying things like data layout and calling conventions. The GCC testsuite includes tests to verify ABI compliance on different operating systems. This commit fixes test failures on FreeBSD related to stack flags, register usage, and frame pointer defaults, ensuring that GCC correctly implements the x86_64 ABI on FreeBSD.