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(-)

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
--
1.7.5.2.317.g391b14

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to