Joseph Myers <joseph@codesourcery.com> * configure.in: Handle tic6x targets. * configure: Regenerate. * tic6x/Makefile.in, tic6x/configure.in, tic6x/crt0.S, tic6x/getpid.c, tic6x/kill.c, tic6x/sbrk.c, tic6x/syscalls.c: New. * tic6x/configure: New (generated).
		
			
				
	
	
		
			64 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
			
		
		
	
	
			64 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
/* crt0.S for the TI C6X series of processors
 | 
						|
 | 
						|
   Copyright (c) 2010 CodeSourcery, Inc.
 | 
						|
   All rights reserved.
 | 
						|
 | 
						|
   Redistribution and use in source and binary forms, with or without
 | 
						|
   modification, are permitted provided that the following conditions are met:
 | 
						|
    * Redistributions of source code must retain the above copyright
 | 
						|
      notice, this list of conditions and the following disclaimer.
 | 
						|
    * Redistributions in binary form must reproduce the above copyright
 | 
						|
      notice, this list of conditions and the following disclaimer in the
 | 
						|
      documentation and/or other materials provided with the distribution.
 | 
						|
    * Neither the name of CodeSourcery nor the
 | 
						|
      names of its contributors may be used to endorse or promote products
 | 
						|
      derived from this software without specific prior written permission.
 | 
						|
 | 
						|
    THIS SOFTWARE IS PROVIDED BY CODESOURCERY, INC. ``AS IS'' AND ANY
 | 
						|
    EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 | 
						|
    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
 | 
						|
    PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL CODESOURCERY BE LIABLE
 | 
						|
    FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 | 
						|
    CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
 | 
						|
    OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
 | 
						|
    BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
 | 
						|
    LIABILITY, WHETHER IN 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 POSSIBILITY OF SUCH
 | 
						|
    DAMAGE.  */
 | 
						|
 | 
						|
	.text
 | 
						|
	.align 	2
 | 
						|
 | 
						|
	.global	_start
 | 
						|
_start:
 | 
						|
	/* Start by setting up a stack */
 | 
						|
	mvkl .s2	_STACK_START - 4, B15
 | 
						|
	mvkh .s2	_STACK_START - 4, B15
 | 
						|
	and .s2		-8, B15, B15
 | 
						|
 | 
						|
	mvkl .s2	__c6xabi_DSBT_BASE, B14
 | 
						|
	mvkh .s2	__c6xabi_DSBT_BASE, B14
 | 
						|
 | 
						|
#ifdef __DSBT__
 | 
						|
	stw .d2t2	B14, *B14
 | 
						|
#endif
 | 
						|
	/* Zero the memory in the .bss section.  */
 | 
						|
 | 
						|
	/* Set up GOT pointer.  */
 | 
						|
 | 
						|
	mvkl .s2	1f, B3
 | 
						|
	mvkh .s2	1f, B3
 | 
						|
	call .s2	_init
 | 
						|
	nop		5
 | 
						|
1:
 | 
						|
 | 
						|
	mvkl .s2	1f, B3
 | 
						|
	mvkh .s2	1f, B3
 | 
						|
	call .s2	main
 | 
						|
	nop		5
 | 
						|
1:
 | 
						|
 | 
						|
	b .s2		exit
 | 
						|
	nop		5
 |