Re: [RFC v4 07/18] objtool: Introduce INSN_UNKNOWN type

From: Julien
Date: Thu Aug 22 2019 - 16:45:06 EST


Hi Josh,

On 22/08/19 21:04, Josh Poimboeuf wrote:
On Fri, Aug 16, 2019 at 01:23:52PM +0100, Raphael Gault wrote:
On arm64 some object files contain data stored in the .text section.
This data is interpreted by objtool as instruction but can't be
identified as a valid one. In order to keep analysing those files we
introduce INSN_UNKNOWN type. The "unknown instruction" warning will thus
only be raised if such instructions are uncountered while validating an
execution branch.

This change doesn't impact the x86 decoding logic since 0 is still used
as a way to specify an unknown type, raising the "unknown instruction"
warning during the decoding phase still.

Signed-off-by: Raphael Gault <raphael.gault@xxxxxxx>

Is there a reason such data can't be moved to .rodata? That would seem
like the proper fix.


RaphaÃl can confirm, if I remember correctly, that issue was encountered on assembly files implementing crypto algorithms were some words/double-words of data were in the middle of the .text. I think it is done this way to make sure the data can be loaded in a single instruction. So moving it to another section could impact the crypto performance depending on the relocations.

That was my understanding at least.

Cheers,

--
Julien Thierry