Commit baad7830 authored by Tiezhu Yang's avatar Tiezhu Yang Committed by Huacai Chen
Browse files

objtool/LoongArch: Mark types based on break immediate code



If the break immediate code is 0, it should mark the type as
INSN_TRAP. If the break immediate code is 1, it should mark the
type as INSN_BUG.

While at it, format the code style and add the code comment for nop.

Cc: stable@vger.kernel.org
Suggested-by: default avatarWANG Rui <wangrui@loongson.cn>
Signed-off-by: default avatarTiezhu Yang <yangtiezhu@loongson.cn>
Signed-off-by: default avatarHuacai Chen <chenhuacai@loongson.cn>
parent f83ec76b
Loading
Loading
Loading
Loading
+9 −3
Original line number Diff line number Diff line
@@ -310,10 +310,16 @@ int arch_decode_instruction(struct objtool_file *file, const struct section *sec
	if (decode_insn_reg2i16_fomat(inst, insn))
		return 0;

	if (inst.word == 0)
	if (inst.word == 0) {
		/* andi $zero, $zero, 0x0 */
		insn->type = INSN_NOP;
	else if (inst.reg0i15_format.opcode == break_op) {
		/* break */
	} else if (inst.reg0i15_format.opcode == break_op &&
		   inst.reg0i15_format.immediate == 0x0) {
		/* break 0x0 */
		insn->type = INSN_TRAP;
	} else if (inst.reg0i15_format.opcode == break_op &&
		   inst.reg0i15_format.immediate == 0x1) {
		/* break 0x1 */
		insn->type = INSN_BUG;
	} else if (inst.reg2_format.opcode == ertn_op) {
		/* ertn */