* spu/exit.c (libgloss_exit): Rename from this ..
(_exit): .. to this. Overhaul. (exit): Remove.
This commit is contained in:
parent
1ad5a4066d
commit
931e17a3ca
@ -27,18 +27,19 @@ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|||||||
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
POSSIBILITY OF SUCH DAMAGE.
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
Author: Andreas Neukoetter (ti95neuk@de.ibm.com)
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void __attribute__ (( destructor )) libgloss_exit( void )
|
void _exit(int rc)
|
||||||
{
|
{
|
||||||
/* we don't need any cleanup on the SPE ... yet */
|
/* Some self modifying code to return 'rc' in the 'stop' insn. */
|
||||||
/* DEBUG HERE */
|
asm volatile (
|
||||||
|
" ori $3, %0,0\n"
|
||||||
|
" lqr $4, 1f\n"
|
||||||
|
" cbd $5, 1f+3($sp)\n"
|
||||||
|
" shufb $0, %0, $4, $5\n"
|
||||||
|
" stqr $0, 1f\n"
|
||||||
|
" sync\n"
|
||||||
|
"1:\n"
|
||||||
|
" stop 0x2000\n"
|
||||||
|
: : "r" (rc) );
|
||||||
}
|
}
|
||||||
|
|
||||||
void exit( int status )
|
|
||||||
{
|
|
||||||
/* handle atexit, etc here */
|
|
||||||
_exit( status );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user