rust-lang/cc-rs

Use more information from `rustc`'s target spec

madsmtm opened this issue · 0 comments

There's a lot more useful information exposed in rustc's target spec that cc could use after #1225. Opening this issue to track the progress on using those.

Specifically:

  • llvm-target: #1252
  • llvm-abiname
  • target-endian
  • linker
  • pre-link-objects/post-link-objects/pre-link-objects-fallback/crt-static-allows-dylibs/etc. for better -Clink-self-contained?
  • link-env/link-env-remove
  • cpu? See also #268
  • dynamic-linking (for diagnostics?)
  • frame-pointer
  • default-dwarf-version
  • position-independent-executables/static-position-independent-executables
  • panic-strategy (for -fno-exceptions)
  • eh-frame-header?
  • Atomics (cfg!(target_has_atomic = "..."))?
  • Whether thread locals are available (cfg!(target_thread_local))?

Note that we still have to implement fallbacks for each of these for custom target specs.