4.2.1.23 The only-go test

  Problem:  Mixing GO and C is unsafe on x86 platforms
  Fix By:   Using a new GO compiler
  Waive If: Always

  Example:  FAIL: only-go test because combining GO and non-GO object files on x86 systems is not safe - it disables CET

Note - this test is currently disabled. The GO compiler’s lack of support for CET is a known issue that cannot be addressed by package maintainers. Hence there is no point in issuing an error message.

This test checks to see if GO and C are being used together in the same program. This is a problem for code that is going to run on x86 architectures as the GO compiler does not support Intel’s CET technology. (See The cf-protection test for more details on CET). The GO language is inheritantly safer than C, but if the two are mixed, then the C parts will be missing out on the protection offered by CET.

If necessary the test can be disabled via the --skip-only-go option and re-enabled via the --test-only-go option.