Re: [PATCH 3/3] objtool: check: Handle calling non-function symbols in other sections

From: Julien Thierry
Date: Mon Sep 21 2020 - 05:56:13 EST




On 9/18/20 9:07 PM, Josh Poimboeuf wrote:
On Tue, Sep 15, 2020 at 08:53:18AM +0100, Julien Thierry wrote:
Relocation for a call destination could point to a symbol that has
type STT_NOTYPE.

Then shouldn't the callee be changed to STT_FUNC?


Not if it's a code symbol that does not follow standard calling convention.

It's really the same case as the !reloc, except this time it's in a different .text section. In arm64 there are different sections that are used (.text for basic code, .idmap.text for code mapped in a manner where virtual address == physical address, .hyp.text for kvm priviledged code, .tramp.text for trampolines...). There aren't many cases, but some symbols reference symbols in other sections, but the symbol being called isn't a proper function.



--
Julien Thierry