W-M-R opened a new pull request, #21351:
URL: https://github.com/apache/nuttx/pull/21351

   ## Summary
   
   Prepare the in-tree compiler-rt support for LLVM 21.
   
   1. Add the builtins introduced by LLVM 21 to the exclusion lists, in both
      `CMakeLists.txt` and `Make.defs`, so the in-tree copies are not compiled
      when the toolchain already provides them:
   
      - bfloat16 conversions: `trunctfbf2.c`, `truncxfbf2.c`, `extendbfsf2.c`
      - float128 conversions: `extendhfxf2.c`, `truncxfhf2.c`, `truncxfbf2.c`
   
   2. Adapt `InstrProfilingPlatform.c` to the LLVM 21 profile API. The vtable
      profiling hooks `__llvm_profile_begin_vtables()`,
      `__llvm_profile_end_vtables()`, `__llvm_profile_begin_vtabnames()` and
      `__llvm_profile_end_vtabnames()` are now provided, replacing the old
      `__llvm_profile_begin_orderfile()` stub that LLVM 21 no longer references.
   
   3. Bump the default `LIB_COMPILER_RT_VERSION` from 17.0.1 to 21.1.1 so the
      bundled runtime matches the current toolchain.
   
   ## Impact
   
   - Only affects builds with `CONFIG_BUILTIN_COMPILER_RT` / 
`CONFIG_LIB_COMPILER_RT`;
     the default configuration is unchanged.
   - The version is a default only: it can still be overridden through
     `CONFIG_LIB_COMPILER_RT_VERSION` when building with an older toolchain.
   - No effect on hardware, documentation or security.
   
   ## Testing
   
   Host: Ubuntu 22.04 x86_64, LLVM/Clang 21.1.1.
   
   - Built the `sim` and `mps3-an547:gcov` configurations with
     `CONFIG_LIB_COMPILER_RT=y`; `libclang_rt.builtins` and
     `libclang_rt.profile` link without duplicate symbol errors (previously
     `trunctfbf2` / `truncxfbf2` / `extendbfsf2` were defined twice).
   - Verified `__llvm_profile_*` symbol resolution with `nm` on the resulting
     `libclang_rt.profile.a`.
   - Ran the `gcov` dump path on `sim` to confirm the profile runtime still
     initializes and writes data.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to