[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <jj4fu243l7ap4bza5imrgjk5f5dhsoloxezgphdjwo7sb5iqsq@wkt46abbt45r>
Date: Wed, 7 May 2025 16:22:37 -0700
From: Josh Poimboeuf <jpoimboe@...nel.org>
To: tip-bot2 for Rong Xu <tip-bot2@...utronix.de>
Cc: linux-tip-commits@...r.kernel.org, Rong Xu <xur@...gle.com>,
"Peter Zijlstra (Intel)" <peterz@...radead.org>, x86@...nel.org, linux-kernel@...r.kernel.org
Subject: Re: [tip: objtool/core] objtool: Fix up st_info in COMDAT group
section
On Wed, Apr 30, 2025 at 12:29:54PM +0000, tip-bot2 for Rong Xu wrote:
> The following commit has been merged into the objtool/core branch of tip:
>
> Commit-ID: 2cb291596e2c1837238bc322ae3545dacb99d584
> Gitweb: https://git.kernel.org/tip/2cb291596e2c1837238bc322ae3545dacb99d584
> Author: Rong Xu <xur@...gle.com>
> AuthorDate: Fri, 25 Apr 2025 13:05:41 -07:00
> Committer: Peter Zijlstra <peterz@...radead.org>
> CommitterDate: Wed, 30 Apr 2025 13:58:34 +02:00
>
> objtool: Fix up st_info in COMDAT group section
>
> When __elf_create_symbol creates a local symbol, it relocates the first
> global symbol upwards to make space. Subsequently, elf_update_symbol()
> is called to refresh the symbol table section. However, this isn't
> sufficient, as other sections might have the reference to the old
> symbol index, for instance, the sh_info field of an SHT_GROUP section.
>
> This patch updates the `sh_info` field when necessary. This field
> serves as the key for the COMDAT group. An incorrect key would prevent
> the linker's from deduplicating COMDAT symbols, leading to duplicate
> definitions in the final link.
>
> Signed-off-by: Rong Xu <xur@...gle.com>
> Signed-off-by: Peter Zijlstra (Intel) <peterz@...radead.org>
> Link: https://lkml.kernel.org/r/20250425200541.113015-1-xur@google.com
Unfortunately this patch completely destroys performance when adding a
bunch of symbols. Which I'm doing in v2 of my klp-build patch set.
What was the use case for this? I don't remember seeing any COMDAT
groups in the kernel.
--
Josh
Powered by blists - more mailing lists