From e667a0bc883ca27bfd0447b3f99bb59793f5e4d5 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Fri, 21 Mar 1997 19:17:46 +0000 Subject: Rewrote to avoid references to C symbols from assembly. This entirely circumvents the problem of leading underscores. --- c/src/lib/libbsp/i960/cvme961/startup/bspclean.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/c/src/lib/libbsp/i960/cvme961/startup/bspclean.c b/c/src/lib/libbsp/i960/cvme961/startup/bspclean.c index fb35e206be..81725fb73b 100644 --- a/c/src/lib/libbsp/i960/cvme961/startup/bspclean.c +++ b/c/src/lib/libbsp/i960/cvme961/startup/bspclean.c @@ -20,11 +20,15 @@ void bsp_cleanup( void ) { - asm volatile( "mov 0,g0; \ - fmark ; \ - syncf ; \ - .word 0xfeedface ; \ - bx start" : : ); + extern void start( void ); + + register volatile void *start_addr = 0; + + asm volatile( "mov 0,g0;" + "fmark ;" + "syncf ;" + ".word 0xfeedface ; " + "bx (%0)" : "=r" (start_addr) : "0" (start_addr) ); /* The constant 0xfeedface is a magic word for break which * is defined by NINDY. The branch extended restarts the * application if the user types "go". -- cgit v1.2.3