* configure.in: Add microblaze-*-*.
        * configure: Add microblaze-*-* (not regenerated.)
        * microblaze: NEW microblaze target directory.
        * microblaze/configure.in: NEW.
        * microblaze/configure: Generate.
        * microblaze/Makefile.in: NEW.
        * microblaze/{crt0.S, crt1.S, crt2.S, crt3.S, crt4.S, crtinit.S}: NEW.
        * microblaze/{pgcrtinit.S, _program_clean.S, _program_init.S,
        sbrk.c, sim-crtinit.S, sim-pgcrtinit.S, timer.c, _exception_handler.S,
        _hw_exception_handler.S, _interrupt_handler.S, xil_malloc.c,
        nnxil_printf.c, xil_sbrk.c: NEW.
        * microblaze/xilinx.ld: NEW.
		
	
		
			
				
	
	
		
			59 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			59 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/* Copyright (c) 2004, 2009 Xilinx, 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:
 | 
						|
   
 | 
						|
   1.  Redistributions source code must retain the above copyright notice,
 | 
						|
   this list of conditions and the following disclaimer. 
 | 
						|
   
 | 
						|
   2.  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. 
 | 
						|
   
 | 
						|
   3.  Neither the name of Xilinx 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 THE COPYRIGHT HOLDER AND CONTRIBUTORS "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 THE COPYRIGHT
 | 
						|
   HOLDER OR CONTRIBUTORS 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.
 | 
						|
 | 
						|
*/
 | 
						|
 | 
						|
#include <errno.h>
 | 
						|
 | 
						|
extern char _heap_start[];
 | 
						|
extern char _heap[];
 | 
						|
extern char _heap_end[];
 | 
						|
 | 
						|
static char *heap_ptr;
 | 
						|
 | 
						|
char *sbrk (int nbytes)
 | 
						|
{
 | 
						|
  char *base;
 | 
						|
 | 
						|
  if (!heap_ptr)
 | 
						|
    heap_ptr = (char *)&_heap;
 | 
						|
 | 
						|
  base = heap_ptr;
 | 
						|
  heap_ptr += nbytes;
 | 
						|
 | 
						|
  if (heap_ptr <= ((char *)&_heap_end + 1))
 | 
						|
    return base;
 | 
						|
  else
 | 
						|
    {
 | 
						|
      errno = ENOMEM;
 | 
						|
      return ((char *)-1);
 | 
						|
    }
 | 
						|
}
 | 
						|
 |