[ECOS] __mem_fault_handler, RedBoot and no GDB stubs.

David Vrabel dvrabel@arcom.com
Thu May 13 12:13:00 GMT 2004


Hi,

There appears to be some confusion regarding RedBoot use of 
__mem_fault_handler.  This would typically be provided by the GDB stubs 
(CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS) but ARM (but not i386 or powerpc, 
for example) provides it in hal/arm/arch/current/src/hal_misc.c if GDB 
stubs are disabled.  Additionally, RedBoot provides it if GDB stubs are 
disabled.

Here's the patch I used to get it working on ARM.  It won't work on 
other archs as __mem_fault_handler is then undefined.  Is RedBoot at 
fault here, or ARM, or the other archs?

diff -u -B -p -r1.10 main.c
--- a/redboot/current/src/main.c 20 Apr 2004 15:11:31 -0000 1.10
+++ b/redboot/current/src/main.c 13 May 2004 12:01:49 -0000
@@ -225,10 +225,7 @@ _mon_write_char(char c, void **param)
  // Handle illegal memory accesses (and other abort conditions)
  //
  static hal_jmp_buf error_jmpbuf;
-#ifdef CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-externC
-#endif
- void* volatile __mem_fault_handler;
+externC void* volatile __mem_fault_handler;

  static void error_handler(void)
  {

David Vrabel
-- 
David Vrabel, Design Engineer

Arcom, Clifton Road           Tel: +44 (0)1223 411200 ext. 3233
Cambridge CB1 7EA, UK         Web: http://www.arcom.com/

-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss



More information about the Ecos-discuss mailing list