This is the mail archive of the
ecos-patches@sourceware.org
mailing list for the eCos project.
i386 RedBoot patch for GCC 4.x
- From: Frank Pagliughi <fpagliughi at mindspring dot com>
- To: ecos-patches at ecos dot sourceware dot org
- Date: Wed, 03 Jan 2007 16:13:18 -0500
- Subject: i386 RedBoot patch for GCC 4.x
- Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=dk20050327; d=mindspring.com; b=sKONeJZE60Bwjw+rpNJX8ZdJ+5+Hp9e/QhF2Lo0ZGlb04IAAhhtyu97lzhQvN5SX; h=Received:Message-ID:Date:From:User-Agent:X-Accept-Language:MIME-Version:To:Subject:Content-Type:Content-Transfer-Encoding:X-ELNK-Trace:X-Originating-IP;
Hello,
Not to be a pain, but last May I had submit this patch to remove the
compiler errors for RedBoot on the i386/PC using a 4.x version of GCC.
My message seemed to go completely unnoticed, so I thought I'd try one
last time...
Please forgive my insolence.
Frank P.
SoRo Systems, Inc
South Royalton, VT
diff -urN ecos-2006-05-13/packages/hal/i386/arch/current/include/hal_arch.h ecos/packages/hal/i386/arch/current/include/hal_arch.h
--- ecos-2006-05-13/packages/hal/i386/arch/current/include/hal_arch.h 2006-05-13 15:55:16.000000000 -0400
+++ ecos/packages/hal/i386/arch/current/include/hal_arch.h 2006-05-13 16:29:57.000000000 -0400
@@ -182,7 +182,7 @@
#define HAL_THREAD_INIT_CONTEXT( _sparg_, _thread_, _entry_, _id_ ) \
CYG_MACRO_START \
- register CYG_WORD* _sp_ = ((CYG_WORD*)((_sparg_) &~15)); \
+ register CYG_WORD* _sp_ = ((CYG_WORD*)(((CYG_ADDRWORD)(_sparg_)) &~15)); \
register CYG_WORD *_fpspace_ = NULL; \
register HAL_SavedRegisters *_regs_; \
\
diff -urN ecos-2006-05-13/packages/redboot/current/src/main.c ecos/packages/redboot/current/src/main.c
--- ecos-2006-05-13/packages/redboot/current/src/main.c 2006-05-13 15:55:52.000000000 -0400
+++ ecos/packages/redboot/current/src/main.c 2006-05-13 16:23:38.000000000 -0400
@@ -397,7 +397,7 @@
CYGACC_CALL_IF_SET_CONSOLE_COMM(cur);
// set up a temporary context that will take us to the trampoline
- HAL_THREAD_INIT_CONTEXT((CYG_ADDRWORD)workspace_end,
+ HAL_THREAD_INIT_CONTEXT(workspace_end,
breakpoint, trampoline,0);
// switch context to trampoline (get GDB stubs started)
@@ -597,7 +597,7 @@
HAL_ICACHE_INVALIDATE_ALL();
HAL_DCACHE_INVALIDATE_ALL();
// set up a temporary context that will take us to the trampoline
- HAL_THREAD_INIT_CONTEXT((CYG_ADDRWORD)workspace_end,
+ HAL_THREAD_INIT_CONTEXT(workspace_end,
entry, trampoline, 0);
// switch context to trampoline