From: Denys Vlasenko <vda.linux@googlemail.com>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Tim Abbott <tabbott@mit.edu>,
Linux kernel mailing list <linux-kernel@vger.kernel.org>,
Anders Kaseorg <andersk@mit.edu>, Waseem Daher <wdaher@mit.edu>,
Rusty Russell <rusty@rustcorp.com.au>,
Andi Kleen <andi@firstfloor.org>,
"H. Peter Anvin" <hpa@zytor.com>,
Stephen Rothwell <sfr@canb.auug.org.au>,
Jeff Arnold <jbarnold@mit.edu>,
Andrew Morton <akpm@linux-foundation.org>,
Jon Masters <jonathan@jonmasters.org>
Subject: Re: [PATCH v2 0/4] Add support for compiling with -ffunction-sections -fdata-sections
Date: Tue, 21 Apr 2009 03:05:03 +0200 [thread overview]
Message-ID: <200904210305.03933.vda.linux@googlemail.com> (raw)
In-Reply-To: <alpine.LFD.2.00.0904201637280.2199@localhost.localdomain>
On Tuesday 21 April 2009 01:40, Linus Torvalds wrote:
> Quite frankly, every time I see something like this, I shudder.
>
> Why?
>
> The bugs in the toolchains tend to be infinite and _really_ annoying.
Most bugs are annoying. :)
> We'll end up with everything from "gcc-xyz cannot handle it" to
> "binutils-abc which was pre-released by RH/Ubuntu/SUSE will SIGSEGV".
>
> And those are the _good_ cases. The bad cases are just silently
> miscompiled/linked stuff under certain circumstances.
>
> In other words, I'm not going to merge it without a _lot_ of people
> pushing me on it with nice numbers etc. Because I absolutely hate the
> tools issues that I'm convinced will happen the moment I merge it.
In some cases, section garbage collection discards nearly 10% of dead
code/data from kernel image. Actually, every time I add it to
a software project, I see quite an amount of dead code/data
eliminated. Even sadistic manual splitting of every function
and data object into its own .o file doesn't match it.
I can put it another way: let machine do what it does better,
and faster, than humans ever can:
I was pushing a patch for aic7xxx driver which eliminated ~150k
of dead code. It took a lot of time to eventually make it reach
mainline kernel. On and off, it took years.
With section garbage collection, that patch would not be even needed,
as gcc+ld would automagically detect that that code is dead.
--
vda
next prev parent reply other threads:[~2009-04-21 1:04 UTC|newest]
Thread overview: 99+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-04-05 23:14 [PATCH v2 0/4] Add support for compiling with -ffunction-sections -fdata-sections Tim Abbott
2009-04-05 23:14 ` [PATCH v2 1/4] Make section names compatible " Tim Abbott
2009-04-05 23:14 ` [PATCH v2 2/4] modpost: Check the section flags, not name, to catch missing "ax"/"aw" Tim Abbott
2009-04-05 23:14 ` [PATCH v2 3/4] modpost: Support objects with more than 64k sections Tim Abbott
2009-04-05 23:14 ` [PATCH v2 4/4] x86: Add an option to compile with -ffunction-sections -fdata-sections Tim Abbott
2009-04-08 0:34 ` [PATCH v2 0/4] Add support for compiling " Tim Abbott
2009-04-08 5:22 ` Rusty Russell
2009-04-20 20:26 ` Tim Abbott
2009-04-20 23:40 ` Linus Torvalds
2009-04-21 0:26 ` Tim Abbott
2009-04-21 0:35 ` Linus Torvalds
2009-04-21 1:25 ` H. Peter Anvin
2009-04-21 1:49 ` Denys Vlasenko
2009-04-21 3:18 ` Arjan van de Ven
2009-04-21 3:26 ` Anders Kaseorg
2009-04-21 10:26 ` Andi Kleen
2009-04-21 6:01 ` Tim Abbott
2009-04-21 10:24 ` Andi Kleen
2009-04-23 20:48 ` [PATCH v3 0/3] " Tim Abbott
2009-04-23 20:49 ` [PATCH v3 1/3] Make section names compatible " Tim Abbott
2009-04-23 20:49 ` [PATCH v3 2/3] modpost: Check the section flags, not name, to catch missing "ax"/"aw" Tim Abbott
2009-04-23 20:49 ` [PATCH v3 3/3] modpost: Support objects with more than 64k sections Tim Abbott
2009-04-24 0:16 ` [PATCH v3 1/3] Make section names compatible with -ffunction-sections -fdata-sections Paul Mundt
2009-04-24 17:23 ` Sam Ravnborg
2009-04-26 2:10 ` Tim Abbott
2009-04-26 2:10 ` [PATCH 01/15] Add new HEAD_TEXT_SECTION macro Tim Abbott
2009-04-26 2:10 ` [PATCH 02/15] xtensa: convert to use __HEAD and HEAD_TEXT macros Tim Abbott
2009-04-26 2:10 ` [PATCH 03/15] alpha: " Tim Abbott
2009-04-26 2:10 ` [PATCH 04/15] frv: convert frv " Tim Abbott
2009-04-26 2:11 ` [PATCH 05/15] arm: convert " Tim Abbott
2009-04-26 2:11 ` [PATCH 06/15] ia64: " Tim Abbott
2009-04-26 2:11 ` [PATCH 07/15] m32r: " Tim Abbott
2009-04-26 2:11 ` [PATCH 08/15] m68k: " Tim Abbott
2009-04-26 2:11 ` [PATCH 09/15] mn10300: " Tim Abbott
2009-04-26 2:11 ` [PATCH 10/15] powerpc: " Tim Abbott
2009-04-26 2:11 ` [PATCH 11/15] s390: " Tim Abbott
2009-04-26 2:11 ` [PATCH 12/15] sh: " Tim Abbott
2009-04-26 2:11 ` [PATCH 13/15] sparc: " Tim Abbott
2009-04-26 2:11 ` [PATCH 14/15] x86: " Tim Abbott
2009-04-26 2:11 ` [PATCH 15/15] modpost: convert modpost to use HEAD_TEXT_SECTION macro Tim Abbott
2009-04-26 11:30 ` Sam Ravnborg
2009-04-26 22:18 ` Anders Kaseorg
2009-04-26 11:28 ` [PATCH 14/15] x86: convert to use __HEAD and HEAD_TEXT macros Sam Ravnborg
2009-04-26 16:40 ` Linus Torvalds
2009-04-26 17:12 ` Linus Torvalds
2009-04-26 18:34 ` Sam Ravnborg
2009-04-26 18:56 ` Linus Torvalds
2009-04-26 19:23 ` Sam Ravnborg
2009-04-26 21:07 ` [PATCH] x86: beautify vmlinux_64.lds.S Sam Ravnborg
2009-04-27 4:54 ` [tip:x86/kbuild] " tip-bot for Sam Ravnborg
2009-04-27 4:59 ` [PATCH 14/15] x86: convert to use __HEAD and HEAD_TEXT macros Ingo Molnar
2009-04-27 6:42 ` Sam Ravnborg
2009-04-27 7:19 ` Ingo Molnar
2009-04-27 7:37 ` Sam Ravnborg
2009-04-26 20:50 ` Andi Kleen
2009-04-27 3:47 ` Ingo Molnar
2009-04-30 10:39 ` [tip:x86/kbuild] x86: boot/compressed/vmlinux.lds.S: fix build of bzImage with 64 bit compiler tip-bot for Sam Ravnborg
2009-04-30 14:52 ` H. Peter Anvin
2009-04-30 15:09 ` Sam Ravnborg
2009-04-30 16:29 ` H. Peter Anvin
2009-04-30 17:52 ` Sam Ravnborg
2009-04-30 19:02 ` H. Peter Anvin
2009-04-26 11:24 ` [PATCH 13/15] sparc: convert to use __HEAD and HEAD_TEXT macros Sam Ravnborg
2009-04-26 11:24 ` [PATCH 12/15] sh: " Sam Ravnborg
2009-04-26 11:23 ` [PATCH 11/15] s390: " Sam Ravnborg
2009-04-26 11:23 ` [PATCH 10/15] powerpc: " Sam Ravnborg
2009-04-26 11:22 ` [PATCH 09/15] mn10300: " Sam Ravnborg
2009-04-26 11:22 ` [PATCH 08/15] m68k: " Sam Ravnborg
2009-04-26 11:21 ` [PATCH 07/15] m32r: " Sam Ravnborg
2009-04-28 3:34 ` Hirokazu Takata
2009-04-26 11:21 ` [PATCH 06/15] ia64: " Sam Ravnborg
2009-04-26 11:19 ` [PATCH 05/15] arm: " Sam Ravnborg
2009-04-27 16:46 ` Tim Abbott
2009-04-27 17:00 ` Russell King
2009-04-27 17:06 ` Linus Torvalds
2009-04-27 17:29 ` Luck, Tony
2009-04-28 8:56 ` Ralf Baechle
2009-04-26 11:16 ` [PATCH 04/15] frv: convert frv " Sam Ravnborg
2009-04-26 11:15 ` [PATCH 03/15] alpha: convert " Sam Ravnborg
2009-04-26 11:13 ` [PATCH 02/15] xtensa: " Sam Ravnborg
2009-04-26 16:29 ` [PATCH 01/15] Add new HEAD_TEXT_SECTION macro Linus Torvalds
2009-04-26 2:42 ` [PATCH v3 1/3] Make section names compatible with -ffunction-sections -fdata-sections Paul Mundt
2009-04-26 9:15 ` Sam Ravnborg
2009-04-26 9:20 ` [PATCH] kbuild: fix comment in modpost.c Sam Ravnborg
2009-04-26 17:28 ` Tim Abbott
2009-04-26 9:09 ` [PATCH v3 1/3] Make section names compatible with -ffunction-sections -fdata-sections Sam Ravnborg
2009-04-26 21:53 ` Tim Abbott
2009-04-26 13:09 ` Rusty Russell
2009-04-24 0:14 ` [PATCH v3 0/3] Add support for compiling " Paul Mundt
2009-04-24 14:19 ` Masami Hiramatsu
2009-04-24 15:32 ` Tim Abbott
2009-04-25 1:49 ` Masami Hiramatsu
2009-04-21 1:05 ` Denys Vlasenko [this message]
2009-04-21 5:50 ` [PATCH v2 0/4] " Rusty Russell
2009-04-22 12:47 ` Paul Mundt
2009-04-21 14:02 ` Américo Wang
2009-04-21 17:40 ` Anders Kaseorg
2009-04-22 11:38 ` Masami Hiramatsu
2009-04-22 17:13 ` Tim Abbott
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=200904210305.03933.vda.linux@googlemail.com \
--to=vda.linux@googlemail.com \
--cc=akpm@linux-foundation.org \
--cc=andersk@mit.edu \
--cc=andi@firstfloor.org \
--cc=hpa@zytor.com \
--cc=jbarnold@mit.edu \
--cc=jonathan@jonmasters.org \
--cc=linux-kernel@vger.kernel.org \
--cc=rusty@rustcorp.com.au \
--cc=sfr@canb.auug.org.au \
--cc=tabbott@mit.edu \
--cc=torvalds@linux-foundation.org \
--cc=wdaher@mit.edu \
/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.