linkage: Fix issue with missing symbol size
authorPeter Zijlstra <peterz@infradead.org>
Fri, 6 May 2022 12:14:36 +0000 (14:14 +0200)
committerBorislav Petkov <bp@suse.de>
Fri, 6 May 2022 13:59:39 +0000 (15:59 +0200)
commit3ff5f7840979aa36d47a6a00694826c78d63bf3c
tree5fa6d9ab1e79243abdf0b4d6e115ff82f59907c2
parent1b331eeea7b8676fc5dbdf80d0a07e41be226177
linkage: Fix issue with missing symbol size

Occasionally, typically when a function doesn't end with 'ret', an
alias on that function will have 0 size.

The difference between what GCC generates and our linkage magic, is
that GCC doesn't appear to provide .size for the alias'ed symbol at
all. And indeed, removing this directive cures the issue.

Additionally, GCC also doesn't emit .type for alias symbols either, so
also omit that.

Fixes: e0891269a8c2 ("linkage: add SYM_FUNC_ALIAS{,_LOCAL,_WEAK}()")
Suggested-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Borislav Petkov <bp@suse.de>
Reviewed-by: Mark Rutland <mark.rutland@arm.com>
Acked-by: Josh Poimboeuf <jpoimboe@redhat.com>
Link: https://lore.kernel.org/r/20220506121631.437480085@infradead.org
include/linux/linkage.h