Re: CBL issue #431: lld: x86_64: sysfs: cannot create duplicate filename $module/.rodata.cst{16,32}

From: Sedat Dilek
Date: Mon Apr 08 2019 - 11:09:06 EST


On Mon, Apr 8, 2019 at 5:04 PM Denys Vlasenko <dvlasenk@xxxxxxxxxx> wrote:
>
> On 4/8/19 4:57 PM, Sedat Dilek wrote:
> > We have arch/x86/crypto/chacha-avx2-x86_64.S and
> > arch/x86/crypto/chacha-avx512vl-x86_64.S:
> >
> > .rodata.cst32.CTR2BL
> > .rodata.cst32.CTR4BL
> > .rodata.cst32.CTR2BL
> > .rodata.cst32.CTR4BL
> >
> > ...and in arch/x86/crypto/sha256-avx2-asm.S and
> > arch/x86/crypto/sha512-avx2-asm.S:
> >
> > .rodata.cst32.PSHUFFLE_BYTE_FLIP_MASK
> >
> > Correct?
>
> You mean, we have duplicate section names.
>
> Well, this brings me to my initial response -
> "Not sure how exactly this causes the error".
>
> Duplicate section names are allowed by the linker.
> There is nothing wrong with that.
>
> The warnings you see come from some other tooling,
> which does not handle correctly object files with more
> than one section with the same name.
>
> (Having unique names is still preferable,
> it helps humans to more easily find where sections come from,
> and for potential future --gc-sections optimization).

So, this is only a warning?

I can check what...

diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 64d5a3327030..6df511429c28 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -167,6 +167,7 @@ config X86
select HAVE_KPROBES_ON_FTRACE
select HAVE_FUNCTION_ERROR_INJECTION
select HAVE_KRETPROBES
+ select HAVE_LD_DEAD_CODE_DATA_ELIMINATION if X86_64
select HAVE_KVM
select HAVE_LIVEPATCH if X86_64
select HAVE_MEMBLOCK_NODE_MAP

...and CONFIG_LD_DEAD_CODE_DATA_ELIMINATION=y does.

- Sedat -