From: Borislav Petkov <bp@alien8.de>
To: Petr Pavlu <petr.pavlu@suse.com>
Cc: tglx@linutronix.de, mingo@redhat.com,
dave.hansen@linux.intel.com, x86@kernel.org, hpa@zytor.com,
nicolas@fjasle.eu, masahiroy@kernel.org,
kirill.shutemov@linux.intel.com, tony.luck@intel.com,
michael.roth@amd.com, nathan@kernel.org, ndesaulniers@google.com,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2] x86: Avoid relocation information in final vmlinux
Date: Wed, 23 Nov 2022 13:30:21 +0100 [thread overview]
Message-ID: <Y34SXeU6JEk+UGfV@zn.tnic> (raw)
In-Reply-To: <20220927084632.14531-1-petr.pavlu@suse.com>
On Tue, Sep 27, 2022 at 10:46:32AM +0200, Petr Pavlu wrote:
> When building a kernel supporting KASLR with CONFIG_X86_NEED_RELOCS,
> vmlinux contains also relocation information produced by using the
> --emit-relocs linker option. This is utilized by subsequent build steps
> to create vmlinux.relocs and produce a relocatable image. However, the
> information is not needed by debuggers and other standard ELF tooling.
Hm, my ld manpage says:
-q
--emit-relocs
Leave relocation sections and contents in fully linked executables. Post
^^^^
link analysis and optimization tools may need this information in order to
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
perform correct modifications of executables. This results in larger
executables.
So what's up?
> The issue is then that the collected vmlinux file and hence distribution
> packages end up unnecessarily large because of this extra data. The
> following is a size comparison of vmlinux v6.0-rc5 with and without the
> relocation information:
> | Configuration | With relocs | Stripped relocs |
> | x86_64_defconfig | 70 MB | 43 MB |
> | +CONFIG_DEBUG_INFO | 818 MB | 367 MB |
Hmm, I see a different story with my tailored config here:
text data bss dec hex filename
17131605 128673450 37339140 183144195 aea8f03 vmlinux.before
17132217 128677706 37363716 183173639 aeb0207 vmlinux.after
361M vmlinux.before
361M vmlinux.after
and
738K vmlinux.relocs
and before and after .configs simply have RANDOMIZE_BASE =n and =y,
respectively.
So how do you see such a big diff, even with defconfig?
> The patch optimizes a resulting vmlinux by adding a postlink step that
Avoid having "This/The patch" or "This commit" in the commit message. It is
tautologically useless.
Also, do
$ git grep 'This patch' Documentation/process
for more details.
Thx.
--
Regards/Gruss,
Boris.
https://people.kernel.org/tglx/notes-about-netiquette
next prev parent reply other threads:[~2022-11-23 12:31 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-09-27 8:46 [PATCH v2] x86: Avoid relocation information in final vmlinux Petr Pavlu
2022-11-23 12:30 ` Borislav Petkov [this message]
2022-11-23 13:31 ` Bagas Sanjaya
2022-11-23 14:38 ` Borislav Petkov
2022-11-23 15:43 ` Petr Pavlu
2022-11-23 15:54 ` Borislav Petkov
2022-11-23 17:45 ` H. Peter Anvin
2022-11-24 10:03 ` Petr Pavlu
2022-11-24 9:21 ` Petr Pavlu
2022-11-24 12:38 ` Borislav Petkov
2022-11-24 13:33 ` Petr Pavlu
2022-11-24 15:41 ` Borislav Petkov
2022-11-25 16:41 ` Borislav Petkov
2022-11-25 19:25 ` Borislav Petkov
2022-11-28 14:38 ` Petr Pavlu
2023-06-14 18:42 ` [tip: x86/build] x86/build: " tip-bot2 for Petr Pavlu
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=Y34SXeU6JEk+UGfV@zn.tnic \
--to=bp@alien8.de \
--cc=dave.hansen@linux.intel.com \
--cc=hpa@zytor.com \
--cc=kirill.shutemov@linux.intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=masahiroy@kernel.org \
--cc=michael.roth@amd.com \
--cc=mingo@redhat.com \
--cc=nathan@kernel.org \
--cc=ndesaulniers@google.com \
--cc=nicolas@fjasle.eu \
--cc=petr.pavlu@suse.com \
--cc=tglx@linutronix.de \
--cc=tony.luck@intel.com \
--cc=x86@kernel.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).