| aff95e0d | 21-Nov-2025 |
Alexandre Chartre <alexandre.chartre@oracle.com> |
objtool: Add wide output for disassembly
Add the --wide option to provide a wide output when disassembling. With this option, the disassembly of alternatives is displayed side-by-side instead of one
objtool: Add wide output for disassembly
Add the --wide option to provide a wide output when disassembling. With this option, the disassembly of alternatives is displayed side-by-side instead of one above the other.
Signed-off-by: Alexandre Chartre <alexandre.chartre@oracle.com> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Acked-by: Josh Poimboeuf <jpoimboe@kernel.org> Link: https://patch.msgid.link/20251121095340.464045-30-alexandre.chartre@oracle.com
show more ...
|
| be5ee60a | 21-Nov-2025 |
Alexandre Chartre <alexandre.chartre@oracle.com> |
objtool: Provide access to feature and flags of group alternatives
Each alternative of a group alternative depends on a specific feature and flags. Provide access to the feature/flags for each alter
objtool: Provide access to feature and flags of group alternatives
Each alternative of a group alternative depends on a specific feature and flags. Provide access to the feature/flags for each alternative as an attribute (feature) in struct alt_group.
Signed-off-by: Alexandre Chartre <alexandre.chartre@oracle.com> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Acked-by: Josh Poimboeuf <jpoimboe@kernel.org> Link: https://patch.msgid.link/20251121095340.464045-26-alexandre.chartre@oracle.com
show more ...
|
| 5f326c88 | 21-Nov-2025 |
Alexandre Chartre <alexandre.chartre@oracle.com> |
objtool: Add the --disas=<function-pattern> action
Add the --disas=<function-pattern> actions to disassemble the specified functions. The function pattern can be a single function name (e.g. --disas
objtool: Add the --disas=<function-pattern> action
Add the --disas=<function-pattern> actions to disassemble the specified functions. The function pattern can be a single function name (e.g. --disas foo to disassemble the function with the name "foo"), or a shell wildcard pattern (e.g. --disas foo* to disassemble all functions with a name starting with "foo").
Signed-off-by: Alexandre Chartre <alexandre.chartre@oracle.com> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Acked-by: Josh Poimboeuf <jpoimboe@kernel.org> Link: https://patch.msgid.link/20251121095340.464045-18-alexandre.chartre@oracle.com
show more ...
|
| 350c7ab8 | 21-Nov-2025 |
Alexandre Chartre <alexandre.chartre@oracle.com> |
objtool: Improve tracing of alternative instructions
When tracing function validation, improve the reporting of alternative instruction by more clearly showing the different alternatives beginning a
objtool: Improve tracing of alternative instructions
When tracing function validation, improve the reporting of alternative instruction by more clearly showing the different alternatives beginning and end.
Signed-off-by: Alexandre Chartre <alexandre.chartre@oracle.com> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Acked-by: Josh Poimboeuf <jpoimboe@kernel.org> Link: https://patch.msgid.link/20251121095340.464045-16-alexandre.chartre@oracle.com
show more ...
|
| 9b580acc | 21-Nov-2025 |
Alexandre Chartre <alexandre.chartre@oracle.com> |
objtool: Add functions to better name alternatives
Add the disas_alt_name() and disas_alt_type_name() to provide a name and a type name for an alternative. This will be used to better name alternati
objtool: Add functions to better name alternatives
Add the disas_alt_name() and disas_alt_type_name() to provide a name and a type name for an alternative. This will be used to better name alternatives when tracing their execution.
Signed-off-by: Alexandre Chartre <alexandre.chartre@oracle.com> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Acked-by: Josh Poimboeuf <jpoimboe@kernel.org> Link: https://patch.msgid.link/20251121095340.464045-15-alexandre.chartre@oracle.com
show more ...
|
| d490aa21 | 21-Nov-2025 |
Alexandre Chartre <alexandre.chartre@oracle.com> |
objtool: Identify the different types of alternatives
Alternative code, including jump table and exception table, is represented with the same struct alternative structure. But there is no obvious w
objtool: Identify the different types of alternatives
Alternative code, including jump table and exception table, is represented with the same struct alternative structure. But there is no obvious way to identify whether the struct represents alternative instructions, a jump table or an exception table.
So add a type to struct alternative to clearly identify the type of alternative.
Signed-off-by: Alexandre Chartre <alexandre.chartre@oracle.com> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Acked-by: Josh Poimboeuf <jpoimboe@kernel.org> Link: https://patch.msgid.link/20251121095340.464045-14-alexandre.chartre@oracle.com
show more ...
|
| 26a453fb | 21-Nov-2025 |
Alexandre Chartre <alexandre.chartre@oracle.com> |
objtool: Improve register reporting during function validation
When tracing function validation, instruction state changes can report changes involving registers. These registers are reported with t
objtool: Improve register reporting during function validation
When tracing function validation, instruction state changes can report changes involving registers. These registers are reported with the name "r<num>" (e.g. "r3"). Print the CPU specific register name instead of a generic name (e.g. print "rbx" instead of "r3" on x86).
Signed-off-by: Alexandre Chartre <alexandre.chartre@oracle.com> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Acked-by: Josh Poimboeuf <jpoimboe@kernel.org> Link: https://patch.msgid.link/20251121095340.464045-13-alexandre.chartre@oracle.com
show more ...
|
| fcb268b4 | 21-Nov-2025 |
Alexandre Chartre <alexandre.chartre@oracle.com> |
objtool: Trace instruction state changes during function validation
During function validation, objtool maintains a per-instruction state, in particular to track call frame information. When tracing
objtool: Trace instruction state changes during function validation
During function validation, objtool maintains a per-instruction state, in particular to track call frame information. When tracing validation, print any instruction state changes.
Signed-off-by: Alexandre Chartre <alexandre.chartre@oracle.com> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Acked-by: Josh Poimboeuf <jpoimboe@kernel.org> Link: https://patch.msgid.link/20251121095340.464045-12-alexandre.chartre@oracle.com
show more ...
|
| 70589843 | 21-Nov-2025 |
Alexandre Chartre <alexandre.chartre@oracle.com> |
objtool: Add option to trace function validation
Add an option to trace and have information during the validation of specified functions. Functions are specified with the --trace option which can b
objtool: Add option to trace function validation
Add an option to trace and have information during the validation of specified functions. Functions are specified with the --trace option which can be a single function name (e.g. --trace foo to trace the function with the name "foo"), or a shell wildcard pattern (e.g. --trace foo* to trace all functions with a name starting with "foo").
Signed-off-by: Alexandre Chartre <alexandre.chartre@oracle.com> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Acked-by: Josh Poimboeuf <jpoimboe@kernel.org> Link: https://patch.msgid.link/20251121095340.464045-11-alexandre.chartre@oracle.com
show more ...
|
| 0bb080ba | 21-Nov-2025 |
Alexandre Chartre <alexandre.chartre@oracle.com> |
objtool: Disassemble instruction on warning or backtrace
When an instruction warning (WARN_INSN) or backtrace (BT_INSN) is issued, disassemble the instruction to provide more context.
Signed-off-by
objtool: Disassemble instruction on warning or backtrace
When an instruction warning (WARN_INSN) or backtrace (BT_INSN) is issued, disassemble the instruction to provide more context.
Signed-off-by: Alexandre Chartre <alexandre.chartre@oracle.com> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Acked-by: Josh Poimboeuf <jpoimboe@kernel.org> Link: https://patch.msgid.link/20251121095340.464045-8-alexandre.chartre@oracle.com
show more ...
|
| 5d859dff | 21-Nov-2025 |
Alexandre Chartre <alexandre.chartre@oracle.com> |
objtool: Print symbol during disassembly
Print symbols referenced during disassembly instead of just printing raw addresses. Also handle address relocation.
Signed-off-by: Alexandre Chartre <alexan
objtool: Print symbol during disassembly
Print symbols referenced during disassembly instead of just printing raw addresses. Also handle address relocation.
Signed-off-by: Alexandre Chartre <alexandre.chartre@oracle.com> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Acked-by: Josh Poimboeuf <jpoimboe@kernel.org> Link: https://patch.msgid.link/20251121095340.464045-6-alexandre.chartre@oracle.com
show more ...
|
| 1013f2e3 | 21-Nov-2025 |
Alexandre Chartre <alexandre.chartre@oracle.com> |
objtool: Create disassembly context
Create a structure to store information for disassembling functions. For now, it is just a wrapper around an objtool file.
Signed-off-by: Alexandre Chartre <alex
objtool: Create disassembly context
Create a structure to store information for disassembling functions. For now, it is just a wrapper around an objtool file.
Signed-off-by: Alexandre Chartre <alexandre.chartre@oracle.com> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Acked-by: Josh Poimboeuf <jpoimboe@kernel.org> Link: https://patch.msgid.link/20251121095340.464045-3-alexandre.chartre@oracle.com
show more ...
|
| 164c9201 | 17-Sep-2025 |
Josh Poimboeuf <jpoimboe@kernel.org> |
objtool: Add base objtool support for livepatch modules
In preparation for klp-build, enable "classic" objtool to work on livepatch modules:
- Avoid duplicate symbol/section warnings for prefix s
objtool: Add base objtool support for livepatch modules
In preparation for klp-build, enable "classic" objtool to work on livepatch modules:
- Avoid duplicate symbol/section warnings for prefix symbols and the .static_call_sites and __mcount_loc sections which may have already been extracted by klp diff.
- Add __klp_funcs to the IBT function pointer section whitelist.
- Prevent KLP symbols from getting incorrectly classified as cold subfunctions.
Acked-by: Petr Mladek <pmladek@suse.com> Tested-by: Joe Lawrence <joe.lawrence@redhat.com> Signed-off-by: Josh Poimboeuf <jpoimboe@kernel.org>
show more ...
|
| 2058f6d1 | 17-Sep-2025 |
Josh Poimboeuf <jpoimboe@kernel.org> |
objtool: Refactor prefix symbol creation code
The prefix symbol creation code currently ignores all errors, presumably because some functions don't have the leading NOPs.
Shuffle the code around a
objtool: Refactor prefix symbol creation code
The prefix symbol creation code currently ignores all errors, presumably because some functions don't have the leading NOPs.
Shuffle the code around a bit, improve the error handling and document why some errors are ignored.
Acked-by: Petr Mladek <pmladek@suse.com> Tested-by: Joe Lawrence <joe.lawrence@redhat.com> Signed-off-by: Josh Poimboeuf <jpoimboe@kernel.org>
show more ...
|