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 <m...@ellerman.id.au>
Indeed, I had not thought about architectures not using the TEXT_TEXT macro. Reviewed-by: Nathan Chancellor <nat...@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 >