diff options
author | Peter Zijlstra <[email protected]> | 2020-04-14 12:36:16 +0200 |
---|---|---|
committer | Peter Zijlstra <[email protected]> | 2020-04-30 20:14:34 +0200 |
commit | 089dd8e53126ebaf506e2dc0bf89d652c36bfc12 (patch) | |
tree | 7a3823e8af26ae775f76352b555eb7907ee09a0d /tools/perf/scripts/python/export-to-sqlite.py | |
parent | 8aa8eb2a8f5b3305a95f39957dd2b715fa668e21 (diff) |
x86/speculation: Change FILL_RETURN_BUFFER to work with objtool
Change FILL_RETURN_BUFFER so that objtool groks it and can generate
correct ORC unwind information.
- Since ORC is alternative invariant; that is, all alternatives
should have the same ORC entries, the __FILL_RETURN_BUFFER body
can not be part of an alternative.
Therefore, move it out of the alternative and keep the alternative
as a sort of jump_label around it.
- Use the ANNOTATE_INTRA_FUNCTION_CALL annotation to white-list
these 'funny' call instructions to nowhere.
- Use UNWIND_HINT_EMPTY to 'fill' the speculation traps, otherwise
objtool will consider them unreachable.
- Move the RSP adjustment into the loop, such that the loop has a
deterministic stack layout.
Signed-off-by: Peter Zijlstra (Intel) <[email protected]>
Reviewed-by: Alexandre Chartre <[email protected]>
Acked-by: Josh Poimboeuf <[email protected]>
Link: https://lkml.kernel.org/r/[email protected]
Diffstat (limited to 'tools/perf/scripts/python/export-to-sqlite.py')
0 files changed, 0 insertions, 0 deletions