- Sort ORC entries in the internal table. Older Linux kernels did not sort them in the file (only during boot time).
- Add an option to dump sorted ORC tables (--dump-orc).
- Associate entries in the internal ORC table with a BinaryFunction even when we are not changing the function.
- If the function doesn't have ORC entry at the start, propagate ORC state from a previous entry.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Comment Actions
LG, but can we have some tests? Is it possible to add ORC information using assembly directives?
Comment Actions
Wow, ORC encoding is this simple.
bolt/lib/Rewrite/LinuxKernelRewriter.cpp | ||
---|---|---|
595 | My understanding is this is optimized encoding (skipping redundant entries). I don't see that the test covers that – can you add a test for it? |
Comment Actions
From https://www.kernel.org/doc/html/next/x86/orc-unwinder.html:
"Orcs, fearsome creatures of medieval folklore, are the Dwarves’ natural enemies. Similarly, the ORC unwinder was created in opposition to the complexity and slowness of DWARF."
My understanding is this is optimized encoding (skipping redundant entries). I don't see that the test covers that – can you add a test for it?