2025-10-09
Agenda
-
Reviews/RFCs
- Upstream testing of LLVM libc - how to reuse work done in Arm Toolchain?
-
Community
- Preparation for 2025 LLVM Developers’ Meeting Embedded Toolchains Workshop
Discussion
LLVM libc testing
-
Now we aew missing 32-bit qualification of libc, some ideas how to improve.
-
We can start with build-only 32-bit targets tests.
-
Ideally, we want to be able to have runtime tests as well: can work done by William using QEMU to test libc in Arm Toolchain for Embedded be reused to run in upstream?
-
Missing pieces in upstream: semihosting and linker script. Where could these go, e.g. test-support? Yes, test support sounds good and allows minimal implementation good enough for testing vs general production implementation for all cases.
-
=> Volodymyr will discuss with the team what and how can be upstreamed.
LLVM libc stdio
- RFC commented [RFC] Implementation of stdio on baremetal - #20 by vhscampos -
next steps?
-
Discussed at Google and some prototyping done: the goal is to support all 3 tiers with one build of libc (to avoid explosion of the number of required variants).
-
Hopefully will be written down before the workshop to continue the discussion.
LLVM libc printf size optimization
- Daniel: will try to land initial patches from the list - this has full attention now, see RFC: printf Code Size Optimization for details.
LLVM libc performance
-
Some maths functions turned out to be slower than newlib (e.g. doubles are used internally even for floats, thus the overhead - replacement is in progress).
-
Report upstream if you run into performance issues with libc!
Dev Meeting Workshop
-
Announcement posted, series of BoF sessions suggested: topics with facilitators (maybe with a few slides). Same format for runtimes workshop.
-
No topics proposed in response to the announcement so far.
-
Petr: the list of possible topics:
-
PIC for embedded
-
Concurrency
-
stdio
-
Allocators
-
-
Other ideas:
-
Ana: LTO with linker script support?
-
Petr: This topic is not active now at Google: focused on support of LTO of libc in general. Also auto section placement implemented by Daniel earlier (see DevMeeting last year for the presentation) made the need for explicit placement much less.
-
Eli: will be working on LTO with linker scripts now and looking to upstream.
-
Peter: It was discussed last year, but no conclusion, so OK to follow up.
-
Alan: also have internal implementation, so would be good to formalize the spec/reqs to align different implementations.
-
-
Peter: “clang-runtimes” in the BareMetal driver next steps. Multilib support in general.
- Petr: Related: building runtimes on demand from source?
-
Petr: Linker scripts semantics in general? PGO/LTO occasionally run into differences between LLD and GNU LD - how to improve compatibility?
- Prabhu: Rebuilding parsing in LLD - did not go too far, but there was a prototype. One more motivation was diagnostics (vs compatibility).
-
-
=> Petr will respond to organizers with agenda:
-
Introductions
-
A short overview of key changes in embedded area
-
BoF sessions
-
-
=> Petr will publish the list of topics and ask for facilitators!