From patchwork Wed Nov 9 10:32:59 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Graeme Russ X-Patchwork-Id: 124519 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from theia.denx.de (theia.denx.de [85.214.87.163]) by ozlabs.org (Postfix) with ESMTP id 934211007D8 for ; Wed, 9 Nov 2011 21:33:19 +1100 (EST) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id F423529236; Wed, 9 Nov 2011 11:33:15 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at theia.denx.de Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id aSLAbdAAgB02; Wed, 9 Nov 2011 11:33:15 +0100 (CET) Received: from theia.denx.de (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id DBEA428FB4; Wed, 9 Nov 2011 11:33:14 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 0ED3928FB4 for ; Wed, 9 Nov 2011 11:33:13 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at theia.denx.de Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id xuSGcnNdI9q6 for ; Wed, 9 Nov 2011 11:33:12 +0100 (CET) X-policyd-weight: NOT_IN_SBL_XBL_SPAMHAUS=-1.5 NOT_IN_SPAMCOP=-1.5 NOT_IN_BL_NJABL=-1.5 (only DNSBL check requested) Received: from mail-gy0-f172.google.com (mail-gy0-f172.google.com [209.85.160.172]) by theia.denx.de (Postfix) with ESMTPS id 65F8628FA5 for ; Wed, 9 Nov 2011 11:33:11 +0100 (CET) Received: by gye5 with SMTP id 5so1556972gye.3 for ; Wed, 09 Nov 2011 02:33:08 -0800 (PST) Received: by 10.101.171.34 with SMTP id y34mr985334ano.8.1320834788382; Wed, 09 Nov 2011 02:33:08 -0800 (PST) Received: from localhost.localdomain (d122-104-32-210.sbr6.nsw.optusnet.com.au. [122.104.32.210]) by mx.google.com with ESMTPS id v5sm12861979anf.3.2011.11.09.02.33.05 (version=SSLv3 cipher=OTHER); Wed, 09 Nov 2011 02:33:07 -0800 (PST) From: Graeme Russ To: u-boot@lists.denx.de Date: Wed, 9 Nov 2011 21:32:59 +1100 Message-Id: <1320834779-15460-1-git-send-email-graeme.russ@gmail.com> X-Mailer: git-send-email 1.7.5.2.317.g391b14 In-Reply-To: <1320791644-23052-1-git-send-email-gabeblack@chromium.org> Cc: Graeme Russ Subject: [U-Boot] [RFC] x86: Do no use reparm as it break libgcc linkage X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.9 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: u-boot-bounces@lists.denx.de Errors-To: u-boot-bounces@lists.denx.de Hi Gabe, Can you please try this patch - If it solves your libgcc problem, I will add it to the misc cleanup patch Thanks, Graeme --- arch/x86/config.mk | 3 --- arch/x86/cpu/interrupts.c | 2 +- arch/x86/cpu/start.S | 5 ++--- 3 files changed, 3 insertions(+), 7 deletions(-) -- 1.7.5.2.317.g391b14 diff --git a/arch/x86/config.mk b/arch/x86/config.mk index fe9083f..ec5f707 100644 --- a/arch/x86/config.mk +++ b/arch/x86/config.mk @@ -23,10 +23,7 @@ CONFIG_STANDALONE_LOAD_ADDR ?= 0x40000 -PLATFORM_CPPFLAGS += -fno-strict-aliasing PLATFORM_CPPFLAGS += -Wstrict-prototypes -PLATFORM_CPPFLAGS += -mregparm=3 -PLATFORM_CPPFLAGS += -fomit-frame-pointer PF_CPPFLAGS_X86 := $(call cc-option, -ffreestanding) \ $(call cc-option, -fno-toplevel-reorder, \ $(call cc-option, -fno-unit-at-a-time)) \ diff --git a/arch/x86/cpu/interrupts.c b/arch/x86/cpu/interrupts.c index e0958eb..a15d70a 100644 --- a/arch/x86/cpu/interrupts.c +++ b/arch/x86/cpu/interrupts.c @@ -249,7 +249,7 @@ int disable_interrupts(void) } /* IRQ Low-Level Service Routine */ -void irq_llsr(struct irq_regs *regs) +void __attribute__ ((regparm(1))) irq_llsr(struct irq_regs *regs) { /* * For detailed description of each exception, refer to: diff --git a/arch/x86/cpu/start.S b/arch/x86/cpu/start.S index f87633b..119ca2d 100644 --- a/arch/x86/cpu/start.S +++ b/arch/x86/cpu/start.S @@ -84,9 +84,8 @@ car_init_ret: */ movl $CONFIG_SYS_INIT_SP_ADDR, %esp - /* Set parameter to board_init_f() to boot flags */ - xorl %eax, %eax - movw %bx, %ax + /* Set parameter to board_init_f() - Unused dummy value */ + pushl $0 /* Enter, U-boot! */ call board_init_f