mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Andi Kleen <ak@suse.de>
To: jbeulich@novell.com, patches@x86-64.org, linux-kernel@vger.kernel.org
Subject: [PATCH] [8/19] x86: Use -maccumulate-outgoing-args
Date: Sat, 21 Oct 2006 18:51:28 +0200 (CEST)	[thread overview]
Message-ID: <20061021165128.23A8913C4D@wotan.suse.de> (raw)
In-Reply-To: <20061021 651.356252000@suse.de>


This avoids some problems with gcc 4.x and earlier generating
invalid unwind information. In 4.1 the option is default
when unwind information is enabled.

And it seems to generate smaller code too, so it's probably
a good thing on its own. With gcc 4.0:

i386:
4683198  902112  480868 6066178  5c9002 vmlinux (before)
4449895  902112  480868 5832875  5900ab vmlinux (after) 

x86-64:
4939761 1449584  648216 7037561  6b6279 vmlinux (before)
4854193 1449584  648216 6951993  6a1439 vmlinux (after) 

On 4.1 it shouldn't make much difference because it is 
default when unwind is enabled anyways.

Suggested by Michael Matz and Jan Beulich

Cc: jbeulich@novell.com

Signed-off-by: Andi Kleen <ak@suse.de>

---
 arch/i386/Makefile   |    4 ++++
 arch/x86_64/Makefile |    4 ++++
 2 files changed, 8 insertions(+)

Index: linux/arch/i386/Makefile
===================================================================
--- linux.orig/arch/i386/Makefile
+++ linux/arch/i386/Makefile
@@ -42,6 +42,10 @@ cflags-$(CONFIG_REGPARM) += -mregparm=3
 # temporary until string.h is fixed
 cflags-y += -ffreestanding
 
+# this works around some issues with generating unwind tables in older gccs
+# newer gccs do it by default
+cflags-y += -maccumulate-outgoing-args
+
 # Disable unit-at-a-time mode on pre-gcc-4.0 compilers, it makes gcc use
 # a lot more stack due to the lack of sharing of stacklots:
 CFLAGS				+= $(shell if [ $(call cc-version) -lt 0400 ] ; then echo $(call cc-option,-fno-unit-at-a-time); fi ;)
Index: linux/arch/x86_64/Makefile
===================================================================
--- linux.orig/arch/x86_64/Makefile
+++ linux/arch/x86_64/Makefile
@@ -54,6 +54,10 @@ endif
 cflags-y += $(call cc-option,-funit-at-a-time)
 # prevent gcc from generating any FP code by mistake
 cflags-y += $(call cc-option,-mno-sse -mno-mmx -mno-sse2 -mno-3dnow,)
+# this works around some issues with generating unwind tables in older gccs
+# newer gccs do it by default
+cflags-y += -maccumulate-outgoing-args
+
 # do binutils support CFI?
 cflags-y += $(call as-instr,.cfi_startproc\n.cfi_endproc,-DCONFIG_AS_CFI=1,)
 AFLAGS += $(call as-instr,.cfi_startproc\n.cfi_endproc,-DCONFIG_AS_CFI=1,)

  parent reply	other threads:[~2006-10-21 16:56 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20061021 651.356252000@suse.de>
2006-10-21 16:51 ` [PATCH] [1/19] x86_64: Update defconfig Andi Kleen
2006-10-21 16:51 ` [PATCH] [2/19] i386: " Andi Kleen
2006-10-21 16:51 ` [PATCH] [3/19] x86_64: x86_64 hot-add memory srat.c fix Andi Kleen
2006-10-21 16:51 ` [PATCH] [4/19] x86_64: typo in __assign_irq_vector when updating pos for vector and offset Andi Kleen
2006-10-21 16:51 ` [PATCH] [5/19] i386: fix .cfi_signal_frame copy-n-paste error Andi Kleen
2006-10-21 16:51 ` [PATCH] [6/19] x86_64: Fix for arch/x86_64/pci/Makefile CFLAGS Andi Kleen
2006-10-21 16:51 ` [PATCH] [7/19] x86_64: fix page align in e820 allocator Andi Kleen
2006-10-21 16:51 ` Andi Kleen [this message]
2006-10-21 17:18   ` [PATCH] [8/19] x86: Use -maccumulate-outgoing-args Dave Jones
2006-10-21 18:20     ` Andi Kleen
2006-10-21 16:51 ` [PATCH] [9/19] x86_64: Speed up dwarf2 unwinder Andi Kleen
2006-10-21 16:51 ` [PATCH] [10/19] x86_64: x86_64 add NX mask for PTE entry Andi Kleen
2006-10-21 16:51 ` [PATCH] [11/19] i386: Fix fake return address Andi Kleen
2006-10-21 18:12   ` Jeremy Fitzhardinge
2006-10-21 18:14     ` Andi Kleen
2006-10-21 18:17   ` Andreas Schwab
2006-10-21 16:51 ` [PATCH] [12/19] x86_64: Fix ENOSYS in system call tracing Andi Kleen
2006-10-21 16:51 ` [PATCH] [13/19] x86_64: Revert interrupt backlink changes Andi Kleen
2006-10-21 16:51 ` [PATCH] [14/19] i386: Disable nmi watchdog on all ThinkPads Andi Kleen
2006-10-21 17:24   ` Dave Jones
2006-10-21 18:11     ` [patches] " Andi Kleen
2006-10-21 18:14       ` Dave Jones
2006-10-21 18:22         ` Andi Kleen
2006-10-21 16:51 ` [PATCH] [16/19] x86: Revert new unwind kernel stack termination Andi Kleen
2006-10-21 16:51 ` [PATCH] [18/19] x86_64: Overlapping program headers in physical addr space fix Andi Kleen
2006-10-23  7:20   ` [patches] " Jan Beulich
2006-10-23 14:41     ` Vivek Goyal
2006-10-23 15:02       ` Ian Campbell
2006-10-23 16:08       ` Jan Beulich
2006-10-21 16:51 ` [PATCH] [19/19] x86_64: Revert timer routing behaviour back to 2.6.16 state Andi Kleen

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=20061021165128.23A8913C4D@wotan.suse.de \
    --to=ak@suse.de \
    --cc=jbeulich@novell.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=patches@x86-64.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

all inboxes | Powered by JetHome®