Messages in this thread | | | From | Masahiro Yamada <> | Date | Wed, 11 May 2022 14:24:12 +0900 | Subject | Re: [PATCH kernel v2] zstd: Fixing mixed module-builtin objects |
| |
On Wed, May 11, 2022 at 11:03 AM Alexey Kardashevskiy <aik@ozlabs.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@kernel.org> > > Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> > > > Ping? Thanks,
Reviewed-by: Masahiro Yamada <masahiroy@kernel.org>
-- Best Regards Masahiro Yamada
| |