[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAK7LNATMY4J-WMTwjcbdteq+Sb3o_onLyC4PGw2GLLR8L4xvPg@mail.gmail.com>
Date: Wed, 11 May 2022 14:24:12 +0900
From: Masahiro Yamada <masahiroy@...nel.org>
To: Alexey Kardashevskiy <aik@...abs.ru>
Cc: Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Nick Terrell <terrelln@...com>,
Nick Desaulniers <ndesaulniers@...gle.com>,
Nathan Chancellor <nathan@...nel.org>
Subject: Re: [PATCH kernel v2] zstd: Fixing mixed module-builtin objects
On Wed, May 11, 2022 at 11:03 AM Alexey Kardashevskiy <aik@...abs.ru> wrote:
>
>
>
> On 4/29/22 15:33, Alexey Kardashevskiy wrote:
> > With CONFIG_ZSTD_COMPRESS=m and CONFIG_ZSTD_DECOMPRESS=y we end up in
> > a situation when files from lib/zstd/common/ are compiled once to be
> > linked later for ZSTD_DECOMPRESS (build-in) and ZSTD_COMPRESS (module)
> > even though CFLAGS are different for builtins and modules.
> > So far somehow this was not a problem but enabling LLVM LTO exposes
> > the problem as:
> >
> > ld.lld: error: linking module flags 'Code Model': IDs have conflicting values in 'lib/built-in.a(zstd_common.o at 5868)' and 'ld-temp.o'
> >
> > This particular conflict is caused by KBUILD_CFLAGS=-mcmodel=medium vs.
> > KBUILD_CFLAGS_MODULE=-mcmodel=large , modules use the large model on
> > POWERPC as explained at
> > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/powerpc/Makefile?h=v5.18-rc4#n127
> > but the current use of common files is wrong anyway.
> >
> > This works around the issue by introducing a zstd_common module with
> > shared code.
> >
> > Cc: Masahiro Yamada <masahiroy@...nel.org>
> > Signed-off-by: Alexey Kardashevskiy <aik@...abs.ru>
>
>
> Ping? Thanks,
Reviewed-by: Masahiro Yamada <masahiroy@...nel.org>
--
Best Regards
Masahiro Yamada
Powered by blists - more mailing lists