objtool: Make unwind hint definitions available to other architectures

Unwind hints are useful to provide objtool with information about stack
states in non-standard functions/code.

While the type of information being provided might be very arch
specific, the mechanism to provide the information can be useful for
other architectures.

Move the relevant unwint hint definitions for all architectures to
see.

[ jpoimboe: REGS_IRET -> REGS_PARTIAL ]

Signed-off-by: Julien Thierry <jthierry@redhat.com>
Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com>
This commit is contained in:
Julien Thierry
2020-09-04 16:30:27 +01:00
committed by Josh Poimboeuf
parent 5567c6c39f
commit ee819aedf3
10 changed files with 249 additions and 125 deletions
+5 -4
View File
@@ -4,6 +4,7 @@
*/
#include <unistd.h>
#include <linux/objtool.h>
#include <asm/orc_types.h>
#include "objtool.h"
#include "warn.h"
@@ -37,12 +38,12 @@ static const char *reg_name(unsigned int reg)
static const char *orc_type_name(unsigned int type)
{
switch (type) {
case ORC_TYPE_CALL:
case UNWIND_HINT_TYPE_CALL:
return "call";
case ORC_TYPE_REGS:
case UNWIND_HINT_TYPE_REGS:
return "regs";
case ORC_TYPE_REGS_IRET:
return "iret";
case UNWIND_HINT_TYPE_REGS_PARTIAL:
return "regs (partial)";
default:
return "?";
}