[roll] Roll fuchsia [roll] Roll llvm-project/libc [libc] Skip targets with unavailable __ONLY flags (#196637)

When SKIP_FLAG_EXPANSION strips a flag that has the __ONLY modifier,
remove_duplicated_flags drops the flag from the list. This leaves
expand_flags_for_target with an empty flag list, causing it to create a
plain (non-flag) target. The __ONLY semantics, "only build this target
with the flag active", are silently violated.

On x86-64 CI runners without FMA, this results in cosf_float_test and
sinf_float_test being built and linked without FMA. The sincosf
algorithm was tuned assuming fused multiply-add precision, so the
unfused x*y+z fallback exceeds the 3.5 ULP tolerance (57 ULP for cosf,
12 ULP for sinf).

Added an early return in add_target_with_flags: if any flag with the
__ONLY modifier would be skipped, the target is not generated.

Assisted-by: Automated tooling, human reviewed.
GitOrigin-RevId: 7748bf56c178a11dc2c705d94be8a9951da62e19
Original-Revision: 0153e9e2adc7df9947039d5ff2c7e03af1a214ce

Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1604217
Original-Revision: 23296343344254d4142c926f13c6437dc5f405ee
GitOrigin-RevId: 4e773655937bf367aca194ac22d57d4ed3a7ff26
Change-Id: I03f91c1aadf630d79f8d2dc5ae07079a39bd5a5f
1 file changed
tree: 1b6541a66293da0db07dbd7287e034c84dc5d7d2
  1. ctf/
  2. git-hooks/
  3. infra/
  4. third_party/
  5. cobalt
  6. flower
  7. jiri.lock
  8. MILESTONE
  9. minimal
  10. prebuilts
  11. README.md
  12. stem
  13. test_durations
README.md

Integration

This repository contains Fuchsia's Global Integration manifest files.

Making changes

All changes should be made to the internal version of this repository. Our infrastructure automatically updates this version when the internal one changes.

Currently all changes must be made by a Google employee. Non-Google employees wishing to make a change can ask for assistance in one of the communication channels documented at get involved.

Obtaining the source

First install Jiri.

Next run:

$ jiri init
$ jiri import minimal https://fuchsia.googlesource.com/integration
$ jiri update

Third party

Third party projects should have their own subdirectory in ./third_party.