From: Peter Zijlstra <peterz@infradead.org>
To: Shivang Upadhyay <shivangu@linux.ibm.com>
Cc: linux-kbuild@vger.kernel.org, linux-kernel@vger.kernel.org,
linuxppc-dev@lists.ozlabs.org, sv@linux.ibm.com,
alexandre.chartre@oracle.com, alexghiti@rivosinc.com,
aliceryhl@google.com, ardb@kernel.org, bp@alien8.de,
chleroy@kernel.org, elver@google.com, ihor.solodrai@linux.dev,
jpoimboe@kernel.org, kees@kernel.org, legion@kernel.org,
lossin@kernel.org, maddy@linux.ibm.com, masahiroy@kernel.org,
mpe@ellerman.id.au, nathan@kernel.org, npiggin@gmail.com,
nsc@kernel.org, ojeda@kernel.org, pmladek@suse.com,
rostedt@goodmis.org, tamird@kernel.org,
thomas.weissschuh@linutronix.de, thuth@redhat.com,
yuxuan.zuo@outlook.com, sourabhjain@linux.ibm.com
Subject: Re: [PATCH v2 2/6] objtool: Set ELF_F_LAYOUT flag to preserve vmlinux segment layout
Date: Wed, 30 Sep 2026 11:48:34 +0200 [thread overview]
Message-ID: <20260930094834.GK88198@noisy.programming.kicks-ass.net> (raw)
In-Reply-To: <20260929055138.43489-3-shivangu@linux.ibm.com>
On Tue, Sep 29, 2026 at 11:21:33AM +0530, Shivang Upadhyay wrote:
> From: Sathvika Vasireddy <sv@linux.ibm.com>
>
> When objtool writes changes back to vmlinux with --ftr-fixup --link,
> libelf recalculates the file layout and inserts padding between
> sections. This corrupts the ELF segment structure, causing kexec to
> fail with:
>
> ELF Note corrupted !
> Cannot determine the file type of vmlinux
>
> This happens because libelf's default behavior assumes it can freely
> rearrange section offsets when writing, which breaks the carefully
> constructed vmlinux layout produced by the linker.
>
> Set ELF_F_LAYOUT after elf_begin() to instruct libelf that the
> application is responsible for the file layout. This prevents libelf
> from inserting padding or repositioning sections while still allowing
> data modifications to be written back.
>
> Signed-off-by: Sathvika Vasireddy <sv@linux.ibm.com>
> Signed-off-by: Shivang Upadhyay <shivangu@linux.ibm.com>
> ---
> tools/objtool/elf.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/tools/objtool/elf.c b/tools/objtool/elf.c
> index a791f4ea6ec1..55c20a993f5d 100644
> --- a/tools/objtool/elf.c
> +++ b/tools/objtool/elf.c
> @@ -1239,6 +1239,9 @@ struct elf *elf_open_read(const char *name, int flags)
> goto err;
> }
>
> + if (opts.ftr_fixup)
> + elf_flagelf(elf->elf, ELF_C_SET, ELF_F_LAYOUT);
So per the previous email; you need this because this is a post-link
pass. As such, anything that has absolute sections would need this. So
should this be conditional on that, rather than ftr?
next prev parent reply other threads:[~2026-09-30 9:48 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-29 5:51 [PATCH v2 0/6] objtool: Fixup alternate feature relative addresses Shivang Upadhyay
2026-09-29 5:51 ` [PATCH v2 1/6] objtool/powerpc: Add build-time fixup of alternate feature branch targets Shivang Upadhyay
2026-09-29 5:51 ` [PATCH v2 2/6] objtool: Set ELF_F_LAYOUT flag to preserve vmlinux segment layout Shivang Upadhyay
2026-09-30 9:48 ` Peter Zijlstra [this message]
2026-09-29 5:51 ` [PATCH v2 3/6] objtool: Fix "can't find starting instruction" warnings on vmlinux Shivang Upadhyay
2026-09-29 14:12 ` Peter Zijlstra
2026-09-29 14:24 ` Peter Zijlstra
2026-09-29 5:51 ` [PATCH v2 4/6] objtool/powerpc: Skip jump destination analysis and unnanotated intra-function call warnings for --ftr-fixup Shivang Upadhyay
2026-09-29 14:25 ` Peter Zijlstra
2026-09-30 6:13 ` Shivang Upadhyay
2026-09-30 9:44 ` Peter Zijlstra
2026-10-06 6:14 ` Shivang Upadhyay
2026-09-29 5:51 ` [PATCH v2 5/6] kbuild: Add objtool integration for PowerPC feature fixups Shivang Upadhyay
2026-09-29 5:51 ` [PATCH v2 6/6] powerpc: Enable build-time feature fixup processing by default Shivang Upadhyay
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260930094834.GK88198@noisy.programming.kicks-ass.net \
--to=peterz@infradead.org \
--cc=alexandre.chartre@oracle.com \
--cc=alexghiti@rivosinc.com \
--cc=aliceryhl@google.com \
--cc=ardb@kernel.org \
--cc=bp@alien8.de \
--cc=chleroy@kernel.org \
--cc=elver@google.com \
--cc=ihor.solodrai@linux.dev \
--cc=jpoimboe@kernel.org \
--cc=kees@kernel.org \
--cc=legion@kernel.org \
--cc=linux-kbuild@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=lossin@kernel.org \
--cc=maddy@linux.ibm.com \
--cc=masahiroy@kernel.org \
--cc=mpe@ellerman.id.au \
--cc=nathan@kernel.org \
--cc=npiggin@gmail.com \
--cc=nsc@kernel.org \
--cc=ojeda@kernel.org \
--cc=pmladek@suse.com \
--cc=rostedt@goodmis.org \
--cc=shivangu@linux.ibm.com \
--cc=sourabhjain@linux.ibm.com \
--cc=sv@linux.ibm.com \
--cc=tamird@kernel.org \
--cc=thomas.weissschuh@linutronix.de \
--cc=thuth@redhat.com \
--cc=yuxuan.zuo@outlook.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.