[PATCH] powerpc/vmlinux.lds: Add .text.asan/tsan sections

Nathan Chancellor nathan at kernel.org
Thu Feb 23 04:08:34 AEDT 2023


On Wed, Feb 22, 2023 at 05:00:37PM +1100, Michael Ellerman wrote:
> When KASAN/KCSAN are enabled clang generates .text.asan/tsan sections.
> Because they are not mentioned in the linker script warnings are
> generated, and when orphan handling is set to error that becomes a build
> error, eg:
> 
>   ld.lld: error: vmlinux.a(init/main.o):(.text.tsan.module_ctor) is
>   being placed in '.text.tsan.module_ctor' ld.lld: error:
>   vmlinux.a(init/version.o):(.text.tsan.module_ctor) is being placed in
>   '.text.tsan.module_ctor'
> 
> Fix it by adding the sections to our linker script, similar to the
> generic change made in 848378812e40 ("vmlinux.lds.h: Handle clang's
> module.{c,d}tor sections").
> 
> Signed-off-by: Michael Ellerman <mpe at ellerman.id.au>

Indeed, I had not thought about architectures not using the TEXT_TEXT
macro.

Reviewed-by: Nathan Chancellor <nathan at kernel.org>

> ---
>  arch/powerpc/kernel/vmlinux.lds.S | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/arch/powerpc/kernel/vmlinux.lds.S b/arch/powerpc/kernel/vmlinux.lds.S
> index 958e77a24f85..7a2209767adf 100644
> --- a/arch/powerpc/kernel/vmlinux.lds.S
> +++ b/arch/powerpc/kernel/vmlinux.lds.S
> @@ -125,6 +125,7 @@ SECTIONS
>  		 * included with the main text sections, so put it by itself.
>  		 */
>  		*(.sfpr);
> +		*(.text.asan.* .text.tsan.*)
>  		MEM_KEEP(init.text)
>  		MEM_KEEP(exit.text)
>  	} :text
> -- 
> 2.39.1
> 


More information about the Linuxppc-dev mailing list