Re: [PATCH v8 06/28] x86/asm/crypto: annotate local functions

From: Jiri Slaby
Date: Thu Sep 05 2019 - 06:59:58 EST


On 17. 08. 19, 11:17, Borislav Petkov wrote:
> On Thu, Aug 08, 2019 at 12:38:32PM +0200, Jiri Slaby wrote:
>> Use the newly added SYM_FUNC_START_LOCAL to annotate starts of all
>> functions which do not have ".globl" annotation, but their ends are
>> annotated by ENDPROC. This is needed to balance ENDPROC for tools that
>> generate debuginfo.
>>
>> To be symmetric, we also convert their ENDPROCs to the new SYM_FUNC_END.
>
> All those functions look like they could be made local symbols by
> prepending their names with ".L" so that they disappear from the
> vmlinux symtable too.

In that case, objtool won't see them and won't generate ORC info for
them. That means not only they disappear from stacktraces, but it will
be disallowed to unwind below them. Note that objtool currently reads
symtables and looks for STT_FUNC in them.

We can make them local (.L*) when the patchset is applied and all
functions are annotated properly -- then we won't need entries in the
global symtable. We can store the info in some private table and delete
it after objtool is done with the object.

thanks,
--
js
suse labs