1              		.cpu cortex-m4
   2              		.eabi_attribute 20, 1
   3              		.eabi_attribute 21, 1
   4              		.eabi_attribute 23, 3
   5              		.eabi_attribute 24, 1
   6              		.eabi_attribute 25, 1
   7              		.eabi_attribute 26, 1
   8              		.eabi_attribute 30, 4
   9              		.eabi_attribute 34, 1
  10              		.eabi_attribute 18, 4
  11              		.file	"stm32f3_sysmem.c"
  12              		.text
  13              	.Ltext0:
  14              		.cfi_sections	.debug_frame
  15              		.section	.text._sbrk,"ax",%progbits
  16              		.align	1
  17              		.global	_sbrk
  18              		.arch armv7e-m
  19              		.syntax unified
  20              		.thumb
  21              		.thumb_func
  22              		.fpu softvfp
  24              	_sbrk:
  25              	.LVL0:
  26              	.LFB3:
  27              		.file 1 "deps//hal/stm32f3/stm32f3_sysmem.c"
   1:deps//hal/stm32f3/stm32f3_sysmem.c **** /**
   2:deps//hal/stm32f3/stm32f3_sysmem.c **** *****************************************************************************
   3:deps//hal/stm32f3/stm32f3_sysmem.c **** **
   4:deps//hal/stm32f3/stm32f3_sysmem.c **** **  File        : sysmem.c
   5:deps//hal/stm32f3/stm32f3_sysmem.c **** **
   6:deps//hal/stm32f3/stm32f3_sysmem.c **** **  Author	    : Ac6
   7:deps//hal/stm32f3/stm32f3_sysmem.c **** **
   8:deps//hal/stm32f3/stm32f3_sysmem.c **** **  Abstract    : System Workbench Minimal System Memory calls file
   9:deps//hal/stm32f3/stm32f3_sysmem.c **** **
  10:deps//hal/stm32f3/stm32f3_sysmem.c **** ** 		          For more information about which c-functions
  11:deps//hal/stm32f3/stm32f3_sysmem.c **** **                need which of these lowlevel functions
  12:deps//hal/stm32f3/stm32f3_sysmem.c **** **                please consult the Newlib libc-manual
  13:deps//hal/stm32f3/stm32f3_sysmem.c **** **
  14:deps//hal/stm32f3/stm32f3_sysmem.c **** **  Environment : System Workbench for MCU
  15:deps//hal/stm32f3/stm32f3_sysmem.c **** **
  16:deps//hal/stm32f3/stm32f3_sysmem.c **** **  Distribution: The file is distributed �as is,� without any warranty
  17:deps//hal/stm32f3/stm32f3_sysmem.c **** **                of any kind.
  18:deps//hal/stm32f3/stm32f3_sysmem.c **** **
  19:deps//hal/stm32f3/stm32f3_sysmem.c **** *****************************************************************************
  20:deps//hal/stm32f3/stm32f3_sysmem.c **** **
  21:deps//hal/stm32f3/stm32f3_sysmem.c **** ** <h2><center>&copy; COPYRIGHT(c) 2014 Ac6</center></h2>
  22:deps//hal/stm32f3/stm32f3_sysmem.c **** **
  23:deps//hal/stm32f3/stm32f3_sysmem.c **** ** Redistribution and use in source and binary forms, with or without modification,
  24:deps//hal/stm32f3/stm32f3_sysmem.c **** ** are permitted provided that the following conditions are met:
  25:deps//hal/stm32f3/stm32f3_sysmem.c **** **   1. Redistributions of source code must retain the above copyright notice,
  26:deps//hal/stm32f3/stm32f3_sysmem.c **** **      this list of conditions and the following disclaimer.
  27:deps//hal/stm32f3/stm32f3_sysmem.c **** **   2. Redistributions in binary form must reproduce the above copyright notice,
  28:deps//hal/stm32f3/stm32f3_sysmem.c **** **      this list of conditions and the following disclaimer in the documentation
  29:deps//hal/stm32f3/stm32f3_sysmem.c **** **      and/or other materials provided with the distribution.
  30:deps//hal/stm32f3/stm32f3_sysmem.c **** **   3. Neither the name of Ac6 nor the names of its contributors
  31:deps//hal/stm32f3/stm32f3_sysmem.c **** **      may be used to endorse or promote products derived from this software
  32:deps//hal/stm32f3/stm32f3_sysmem.c **** **      without specific prior written permission.
  33:deps//hal/stm32f3/stm32f3_sysmem.c **** **
  34:deps//hal/stm32f3/stm32f3_sysmem.c **** ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
  35:deps//hal/stm32f3/stm32f3_sysmem.c **** ** AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  36:deps//hal/stm32f3/stm32f3_sysmem.c **** ** IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
  37:deps//hal/stm32f3/stm32f3_sysmem.c **** ** DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
  38:deps//hal/stm32f3/stm32f3_sysmem.c **** ** FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  39:deps//hal/stm32f3/stm32f3_sysmem.c **** ** DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
  40:deps//hal/stm32f3/stm32f3_sysmem.c **** ** SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
  41:deps//hal/stm32f3/stm32f3_sysmem.c **** ** CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
  42:deps//hal/stm32f3/stm32f3_sysmem.c **** ** OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  43:deps//hal/stm32f3/stm32f3_sysmem.c **** ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  44:deps//hal/stm32f3/stm32f3_sysmem.c **** **
  45:deps//hal/stm32f3/stm32f3_sysmem.c **** *****************************************************************************
  46:deps//hal/stm32f3/stm32f3_sysmem.c **** */
  47:deps//hal/stm32f3/stm32f3_sysmem.c **** 
  48:deps//hal/stm32f3/stm32f3_sysmem.c **** /* Includes */
  49:deps//hal/stm32f3/stm32f3_sysmem.c **** #include <errno.h>
  50:deps//hal/stm32f3/stm32f3_sysmem.c **** #include <stdio.h>
  51:deps//hal/stm32f3/stm32f3_sysmem.c **** 
  52:deps//hal/stm32f3/stm32f3_sysmem.c **** /* Variables */
  53:deps//hal/stm32f3/stm32f3_sysmem.c **** //Uncomment following if needed - commented out for now as not used and causes warning
  54:deps//hal/stm32f3/stm32f3_sysmem.c **** //extern int errno;
  55:deps//hal/stm32f3/stm32f3_sysmem.c **** register char * stack_ptr asm("sp");
  56:deps//hal/stm32f3/stm32f3_sysmem.c **** 
  57:deps//hal/stm32f3/stm32f3_sysmem.c **** /* Functions */
  58:deps//hal/stm32f3/stm32f3_sysmem.c **** 
  59:deps//hal/stm32f3/stm32f3_sysmem.c **** /**
  60:deps//hal/stm32f3/stm32f3_sysmem.c ****  _sbrk
  61:deps//hal/stm32f3/stm32f3_sysmem.c ****  Increase program data space. Malloc and related functions depend on this
  62:deps//hal/stm32f3/stm32f3_sysmem.c **** **/
  63:deps//hal/stm32f3/stm32f3_sysmem.c **** caddr_t _sbrk(int incr)
  64:deps//hal/stm32f3/stm32f3_sysmem.c **** {
  28              		.loc 1 64 1 view -0
  29              		.cfi_startproc
  30              		@ args = 0, pretend = 0, frame = 0
  31              		@ frame_needed = 0, uses_anonymous_args = 0
  65:deps//hal/stm32f3/stm32f3_sysmem.c **** 	extern char end asm("end");
  32              		.loc 1 65 2 view .LVU1
  66:deps//hal/stm32f3/stm32f3_sysmem.c **** 	static char *heap_end;
  33              		.loc 1 66 2 view .LVU2
  67:deps//hal/stm32f3/stm32f3_sysmem.c **** 	char *prev_heap_end;
  34              		.loc 1 67 2 view .LVU3
  68:deps//hal/stm32f3/stm32f3_sysmem.c **** 
  69:deps//hal/stm32f3/stm32f3_sysmem.c **** 	if (heap_end == 0)
  35              		.loc 1 69 2 view .LVU4
  36              		.loc 1 69 15 is_stmt 0 view .LVU5
  37 0000 0A4A     		ldr	r2, .L5
  38              		.loc 1 69 5 view .LVU6
  39 0002 1168     		ldr	r1, [r2]
  64:deps//hal/stm32f3/stm32f3_sysmem.c **** 	extern char end asm("end");
  40              		.loc 1 64 1 view .LVU7
  41 0004 08B5     		push	{r3, lr}
  42              	.LCFI0:
  43              		.cfi_def_cfa_offset 8
  44              		.cfi_offset 3, -8
  45              		.cfi_offset 14, -4
  64:deps//hal/stm32f3/stm32f3_sysmem.c **** 	extern char end asm("end");
  46              		.loc 1 64 1 view .LVU8
  47 0006 0346     		mov	r3, r0
  48              		.loc 1 69 5 view .LVU9
  49 0008 09B9     		cbnz	r1, .L2
  70:deps//hal/stm32f3/stm32f3_sysmem.c **** 		heap_end = &end;
  50              		.loc 1 70 3 is_stmt 1 view .LVU10
  51              		.loc 1 70 12 is_stmt 0 view .LVU11
  52 000a 0949     		ldr	r1, .L5+4
  53 000c 1160     		str	r1, [r2]
  54              	.L2:
  71:deps//hal/stm32f3/stm32f3_sysmem.c **** 
  72:deps//hal/stm32f3/stm32f3_sysmem.c **** 	prev_heap_end = heap_end;
  55              		.loc 1 72 2 is_stmt 1 view .LVU12
  56              		.loc 1 72 16 is_stmt 0 view .LVU13
  57 000e 1068     		ldr	r0, [r2]
  58              	.LVL1:
  73:deps//hal/stm32f3/stm32f3_sysmem.c **** 	if (heap_end + incr > stack_ptr)
  59              		.loc 1 73 2 is_stmt 1 view .LVU14
  60              		.loc 1 73 5 is_stmt 0 view .LVU15
  61 0010 6946     		mov	r1, sp
  62              		.loc 1 73 15 view .LVU16
  63 0012 0344     		add	r3, r3, r0
  64              	.LVL2:
  65              		.loc 1 73 5 view .LVU17
  66 0014 8B42     		cmp	r3, r1
  67 0016 06D9     		bls	.L3
  74:deps//hal/stm32f3/stm32f3_sysmem.c **** 	{
  75:deps//hal/stm32f3/stm32f3_sysmem.c **** 		errno = ENOMEM;
  68              		.loc 1 75 3 is_stmt 1 view .LVU18
  69 0018 FFF7FEFF 		bl	__errno
  70              	.LVL3:
  71              		.loc 1 75 9 is_stmt 0 view .LVU19
  72 001c 0C23     		movs	r3, #12
  73 001e 0360     		str	r3, [r0]
  76:deps//hal/stm32f3/stm32f3_sysmem.c **** 		return (caddr_t) -1;
  74              		.loc 1 76 3 is_stmt 1 view .LVU20
  75              		.loc 1 76 10 is_stmt 0 view .LVU21
  76 0020 4FF0FF30 		mov	r0, #-1
  77              	.L1:
  77:deps//hal/stm32f3/stm32f3_sysmem.c **** 	}
  78:deps//hal/stm32f3/stm32f3_sysmem.c **** 
  79:deps//hal/stm32f3/stm32f3_sysmem.c **** 	heap_end += incr;
  80:deps//hal/stm32f3/stm32f3_sysmem.c **** 
  81:deps//hal/stm32f3/stm32f3_sysmem.c **** 	return (caddr_t) prev_heap_end;
  82:deps//hal/stm32f3/stm32f3_sysmem.c **** }
  78              		.loc 1 82 1 view .LVU22
  79 0024 08BD     		pop	{r3, pc}
  80              	.LVL4:
  81              	.L3:
  79:deps//hal/stm32f3/stm32f3_sysmem.c **** 
  82              		.loc 1 79 2 is_stmt 1 view .LVU23
  79:deps//hal/stm32f3/stm32f3_sysmem.c **** 
  83              		.loc 1 79 11 is_stmt 0 view .LVU24
  84 0026 1360     		str	r3, [r2]
  81:deps//hal/stm32f3/stm32f3_sysmem.c **** }
  85              		.loc 1 81 2 is_stmt 1 view .LVU25
  81:deps//hal/stm32f3/stm32f3_sysmem.c **** }
  86              		.loc 1 81 9 is_stmt 0 view .LVU26
  87 0028 FCE7     		b	.L1
  88              	.L6:
  89 002a 00BF     		.align	2
  90              	.L5:
  91 002c 00000000 		.word	.LANCHOR0
  92 0030 00000000 		.word	end
  93              		.cfi_endproc
  94              	.LFE3:
  96              		.bss
  97              		.align	2
  98              		.set	.LANCHOR0,. + 0
 101              	heap_end.0:
 102 0000 00000000 		.space	4
 103              		.text
 104              	.Letext0:
 105              		.file 2 "/usr/arm-none-eabi/include/sys/types.h"
 106              		.file 3 "/usr/arm-none-eabi/include/sys/errno.h"
DEFINED SYMBOLS
                            *ABS*:0000000000000000 stm32f3_sysmem.c
     /tmp/ccQHxgWA.s:16     .text._sbrk:0000000000000000 $t
     /tmp/ccQHxgWA.s:24     .text._sbrk:0000000000000000 _sbrk
     /tmp/ccQHxgWA.s:91     .text._sbrk:000000000000002c $d
     /tmp/ccQHxgWA.s:97     .bss:0000000000000000 $d
     /tmp/ccQHxgWA.s:101    .bss:0000000000000000 heap_end.0

UNDEFINED SYMBOLS
__errno
end