ARM GAS /tmp/ccqbk4Th.s page 1 1 .cpu cortex-m4 2 .arch armv7e-m 3 .fpu fpv4-sp-d16 4 .eabi_attribute 27, 1 5 .eabi_attribute 28, 1 6 .eabi_attribute 20, 1 7 .eabi_attribute 21, 1 8 .eabi_attribute 23, 3 9 .eabi_attribute 24, 1 10 .eabi_attribute 25, 1 11 .eabi_attribute 26, 1 12 .eabi_attribute 30, 6 13 .eabi_attribute 34, 1 14 .eabi_attribute 18, 4 15 .file "syscalls.c" 16 .text 17 .Ltext0: 18 .cfi_sections .debug_frame 19 .file 1 "Core/Src/syscalls.c" 20 .global __env 21 .section .bss.__env,"aw",%nobits 22 .align 2 25 __env: 26 0000 00000000 .space 4 27 .global environ 28 .section .data.environ,"aw" 29 .align 2 32 environ: 33 0000 00000000 .word __env 34 .section .text.initialise_monitor_handles,"ax",%progbits 35 .align 1 36 .global initialise_monitor_handles 37 .syntax unified 38 .thumb 39 .thumb_func 41 initialise_monitor_handles: 42 .LFB25: 1:Core/Src/syscalls.c **** /** 2:Core/Src/syscalls.c **** ****************************************************************************** 3:Core/Src/syscalls.c **** * @file syscalls.c 4:Core/Src/syscalls.c **** * @author Auto-generated by STM32CubeMX 5:Core/Src/syscalls.c **** * @brief Minimal System calls file 6:Core/Src/syscalls.c **** * 7:Core/Src/syscalls.c **** * For more information about which c-functions 8:Core/Src/syscalls.c **** * need which of these lowlevel functions 9:Core/Src/syscalls.c **** * please consult the Newlib libc-manual 10:Core/Src/syscalls.c **** ****************************************************************************** 11:Core/Src/syscalls.c **** * @attention 12:Core/Src/syscalls.c **** * 13:Core/Src/syscalls.c **** * Copyright (c) 2020-2024 STMicroelectronics. 14:Core/Src/syscalls.c **** * All rights reserved. 15:Core/Src/syscalls.c **** * 16:Core/Src/syscalls.c **** * This software is licensed under terms that can be found in the LICENSE file 17:Core/Src/syscalls.c **** * in the root directory of this software component. 18:Core/Src/syscalls.c **** * If no LICENSE file comes with this software, it is provided AS-IS. 19:Core/Src/syscalls.c **** * 20:Core/Src/syscalls.c **** ****************************************************************************** ARM GAS /tmp/ccqbk4Th.s page 2 21:Core/Src/syscalls.c **** */ 22:Core/Src/syscalls.c **** 23:Core/Src/syscalls.c **** /* Includes */ 24:Core/Src/syscalls.c **** #include 25:Core/Src/syscalls.c **** #include 26:Core/Src/syscalls.c **** #include 27:Core/Src/syscalls.c **** #include 28:Core/Src/syscalls.c **** #include 29:Core/Src/syscalls.c **** #include 30:Core/Src/syscalls.c **** #include 31:Core/Src/syscalls.c **** #include 32:Core/Src/syscalls.c **** 33:Core/Src/syscalls.c **** 34:Core/Src/syscalls.c **** /* Variables */ 35:Core/Src/syscalls.c **** extern int __io_putchar(int ch) __attribute__((weak)); 36:Core/Src/syscalls.c **** extern int __io_getchar(void) __attribute__((weak)); 37:Core/Src/syscalls.c **** 38:Core/Src/syscalls.c **** 39:Core/Src/syscalls.c **** char *__env[1] = { 0 }; 40:Core/Src/syscalls.c **** char **environ = __env; 41:Core/Src/syscalls.c **** 42:Core/Src/syscalls.c **** 43:Core/Src/syscalls.c **** /* Functions */ 44:Core/Src/syscalls.c **** void initialise_monitor_handles() 45:Core/Src/syscalls.c **** { 43 .loc 1 45 1 44 .cfi_startproc 45 @ args = 0, pretend = 0, frame = 0 46 @ frame_needed = 1, uses_anonymous_args = 0 47 @ link register save eliminated. 48 0000 80B4 push {r7} 49 .cfi_def_cfa_offset 4 50 .cfi_offset 7, -4 51 0002 00AF add r7, sp, #0 52 .cfi_def_cfa_register 7 46:Core/Src/syscalls.c **** } 53 .loc 1 46 1 54 0004 00BF nop 55 0006 BD46 mov sp, r7 56 .cfi_def_cfa_register 13 57 @ sp needed 58 0008 5DF8047B ldr r7, [sp], #4 59 .cfi_restore 7 60 .cfi_def_cfa_offset 0 61 000c 7047 bx lr 62 .cfi_endproc 63 .LFE25: 65 .section .text._getpid,"ax",%progbits 66 .align 1 67 .global _getpid 68 .syntax unified 69 .thumb 70 .thumb_func 72 _getpid: 73 .LFB26: 47:Core/Src/syscalls.c **** 48:Core/Src/syscalls.c **** int _getpid(void) ARM GAS /tmp/ccqbk4Th.s page 3 49:Core/Src/syscalls.c **** { 74 .loc 1 49 1 75 .cfi_startproc 76 @ args = 0, pretend = 0, frame = 0 77 @ frame_needed = 1, uses_anonymous_args = 0 78 @ link register save eliminated. 79 0000 80B4 push {r7} 80 .cfi_def_cfa_offset 4 81 .cfi_offset 7, -4 82 0002 00AF add r7, sp, #0 83 .cfi_def_cfa_register 7 50:Core/Src/syscalls.c **** return 1; 84 .loc 1 50 10 85 0004 0123 movs r3, #1 51:Core/Src/syscalls.c **** } 86 .loc 1 51 1 87 0006 1846 mov r0, r3 88 0008 BD46 mov sp, r7 89 .cfi_def_cfa_register 13 90 @ sp needed 91 000a 5DF8047B ldr r7, [sp], #4 92 .cfi_restore 7 93 .cfi_def_cfa_offset 0 94 000e 7047 bx lr 95 .cfi_endproc 96 .LFE26: 98 .section .text._kill,"ax",%progbits 99 .align 1 100 .global _kill 101 .syntax unified 102 .thumb 103 .thumb_func 105 _kill: 106 .LFB27: 52:Core/Src/syscalls.c **** 53:Core/Src/syscalls.c **** int _kill(int pid, int sig) 54:Core/Src/syscalls.c **** { 107 .loc 1 54 1 108 .cfi_startproc 109 @ args = 0, pretend = 0, frame = 8 110 @ frame_needed = 1, uses_anonymous_args = 0 111 0000 80B5 push {r7, lr} 112 .cfi_def_cfa_offset 8 113 .cfi_offset 7, -8 114 .cfi_offset 14, -4 115 0002 82B0 sub sp, sp, #8 116 .cfi_def_cfa_offset 16 117 0004 00AF add r7, sp, #0 118 .cfi_def_cfa_register 7 119 0006 7860 str r0, [r7, #4] 120 0008 3960 str r1, [r7] 55:Core/Src/syscalls.c **** (void)pid; 56:Core/Src/syscalls.c **** (void)sig; 57:Core/Src/syscalls.c **** errno = EINVAL; 121 .loc 1 57 3 122 000a FFF7FEFF bl __errno 123 000e 0346 mov r3, r0 ARM GAS /tmp/ccqbk4Th.s page 4 124 .loc 1 57 9 discriminator 1 125 0010 1622 movs r2, #22 126 0012 1A60 str r2, [r3] 58:Core/Src/syscalls.c **** return -1; 127 .loc 1 58 10 128 0014 4FF0FF33 mov r3, #-1 59:Core/Src/syscalls.c **** } 129 .loc 1 59 1 130 0018 1846 mov r0, r3 131 001a 0837 adds r7, r7, #8 132 .cfi_def_cfa_offset 8 133 001c BD46 mov sp, r7 134 .cfi_def_cfa_register 13 135 @ sp needed 136 001e 80BD pop {r7, pc} 137 .cfi_endproc 138 .LFE27: 140 .section .text._exit,"ax",%progbits 141 .align 1 142 .global _exit 143 .syntax unified 144 .thumb 145 .thumb_func 147 _exit: 148 .LFB28: 60:Core/Src/syscalls.c **** 61:Core/Src/syscalls.c **** void _exit (int status) 62:Core/Src/syscalls.c **** { 149 .loc 1 62 1 150 .cfi_startproc 151 @ args = 0, pretend = 0, frame = 8 152 @ frame_needed = 1, uses_anonymous_args = 0 153 0000 80B5 push {r7, lr} 154 .cfi_def_cfa_offset 8 155 .cfi_offset 7, -8 156 .cfi_offset 14, -4 157 0002 82B0 sub sp, sp, #8 158 .cfi_def_cfa_offset 16 159 0004 00AF add r7, sp, #0 160 .cfi_def_cfa_register 7 161 0006 7860 str r0, [r7, #4] 63:Core/Src/syscalls.c **** _kill(status, -1); 162 .loc 1 63 3 163 0008 4FF0FF31 mov r1, #-1 164 000c 7868 ldr r0, [r7, #4] 165 000e FFF7FEFF bl _kill 166 .L7: 64:Core/Src/syscalls.c **** while (1) {} /* Make sure we hang here */ 167 .loc 1 64 9 168 0012 00BF nop 169 0014 FDE7 b .L7 170 .cfi_endproc 171 .LFE28: 173 .section .text._read,"ax",%progbits 174 .align 1 175 .weak _read 176 .syntax unified ARM GAS /tmp/ccqbk4Th.s page 5 177 .thumb 178 .thumb_func 180 _read: 181 .LFB29: 65:Core/Src/syscalls.c **** } 66:Core/Src/syscalls.c **** 67:Core/Src/syscalls.c **** __attribute__((weak)) int _read(int file, char *ptr, int len) 68:Core/Src/syscalls.c **** { 182 .loc 1 68 1 183 .cfi_startproc 184 @ args = 0, pretend = 0, frame = 24 185 @ frame_needed = 1, uses_anonymous_args = 0 186 0000 80B5 push {r7, lr} 187 .cfi_def_cfa_offset 8 188 .cfi_offset 7, -8 189 .cfi_offset 14, -4 190 0002 86B0 sub sp, sp, #24 191 .cfi_def_cfa_offset 32 192 0004 00AF add r7, sp, #0 193 .cfi_def_cfa_register 7 194 0006 F860 str r0, [r7, #12] 195 0008 B960 str r1, [r7, #8] 196 000a 7A60 str r2, [r7, #4] 69:Core/Src/syscalls.c **** (void)file; 70:Core/Src/syscalls.c **** int DataIdx; 71:Core/Src/syscalls.c **** 72:Core/Src/syscalls.c **** for (DataIdx = 0; DataIdx < len; DataIdx++) 197 .loc 1 72 16 198 000c 0023 movs r3, #0 199 000e 7B61 str r3, [r7, #20] 200 .loc 1 72 3 201 0010 0AE0 b .L9 202 .L10: 73:Core/Src/syscalls.c **** { 74:Core/Src/syscalls.c **** *ptr++ = __io_getchar(); 203 .loc 1 74 14 204 0012 FFF7FEFF bl __io_getchar 205 0016 0146 mov r1, r0 206 .loc 1 74 9 discriminator 1 207 0018 BB68 ldr r3, [r7, #8] 208 001a 5A1C adds r2, r3, #1 209 001c BA60 str r2, [r7, #8] 210 .loc 1 74 12 discriminator 1 211 001e CAB2 uxtb r2, r1 212 0020 1A70 strb r2, [r3] 72:Core/Src/syscalls.c **** { 213 .loc 1 72 43 discriminator 3 214 0022 7B69 ldr r3, [r7, #20] 215 0024 0133 adds r3, r3, #1 216 0026 7B61 str r3, [r7, #20] 217 .L9: 72:Core/Src/syscalls.c **** { 218 .loc 1 72 29 discriminator 1 219 0028 7A69 ldr r2, [r7, #20] 220 002a 7B68 ldr r3, [r7, #4] 221 002c 9A42 cmp r2, r3 222 002e F0DB blt .L10 ARM GAS /tmp/ccqbk4Th.s page 6 75:Core/Src/syscalls.c **** } 76:Core/Src/syscalls.c **** 77:Core/Src/syscalls.c **** return len; 223 .loc 1 77 10 224 0030 7B68 ldr r3, [r7, #4] 78:Core/Src/syscalls.c **** } 225 .loc 1 78 1 226 0032 1846 mov r0, r3 227 0034 1837 adds r7, r7, #24 228 .cfi_def_cfa_offset 8 229 0036 BD46 mov sp, r7 230 .cfi_def_cfa_register 13 231 @ sp needed 232 0038 80BD pop {r7, pc} 233 .cfi_endproc 234 .LFE29: 236 .section .text._write,"ax",%progbits 237 .align 1 238 .weak _write 239 .syntax unified 240 .thumb 241 .thumb_func 243 _write: 244 .LFB30: 79:Core/Src/syscalls.c **** 80:Core/Src/syscalls.c **** __attribute__((weak)) int _write(int file, char *ptr, int len) 81:Core/Src/syscalls.c **** { 245 .loc 1 81 1 246 .cfi_startproc 247 @ args = 0, pretend = 0, frame = 24 248 @ frame_needed = 1, uses_anonymous_args = 0 249 0000 80B5 push {r7, lr} 250 .cfi_def_cfa_offset 8 251 .cfi_offset 7, -8 252 .cfi_offset 14, -4 253 0002 86B0 sub sp, sp, #24 254 .cfi_def_cfa_offset 32 255 0004 00AF add r7, sp, #0 256 .cfi_def_cfa_register 7 257 0006 F860 str r0, [r7, #12] 258 0008 B960 str r1, [r7, #8] 259 000a 7A60 str r2, [r7, #4] 82:Core/Src/syscalls.c **** (void)file; 83:Core/Src/syscalls.c **** int DataIdx; 84:Core/Src/syscalls.c **** 85:Core/Src/syscalls.c **** for (DataIdx = 0; DataIdx < len; DataIdx++) 260 .loc 1 85 16 261 000c 0023 movs r3, #0 262 000e 7B61 str r3, [r7, #20] 263 .loc 1 85 3 264 0010 09E0 b .L13 265 .L14: 86:Core/Src/syscalls.c **** { 87:Core/Src/syscalls.c **** __io_putchar(*ptr++); 266 .loc 1 87 22 267 0012 BB68 ldr r3, [r7, #8] 268 0014 5A1C adds r2, r3, #1 ARM GAS /tmp/ccqbk4Th.s page 7 269 0016 BA60 str r2, [r7, #8] 270 .loc 1 87 18 271 0018 1B78 ldrb r3, [r3] @ zero_extendqisi2 272 .loc 1 87 5 273 001a 1846 mov r0, r3 274 001c FFF7FEFF bl __io_putchar 85:Core/Src/syscalls.c **** { 275 .loc 1 85 43 discriminator 3 276 0020 7B69 ldr r3, [r7, #20] 277 0022 0133 adds r3, r3, #1 278 0024 7B61 str r3, [r7, #20] 279 .L13: 85:Core/Src/syscalls.c **** { 280 .loc 1 85 29 discriminator 1 281 0026 7A69 ldr r2, [r7, #20] 282 0028 7B68 ldr r3, [r7, #4] 283 002a 9A42 cmp r2, r3 284 002c F1DB blt .L14 88:Core/Src/syscalls.c **** } 89:Core/Src/syscalls.c **** return len; 285 .loc 1 89 10 286 002e 7B68 ldr r3, [r7, #4] 90:Core/Src/syscalls.c **** } 287 .loc 1 90 1 288 0030 1846 mov r0, r3 289 0032 1837 adds r7, r7, #24 290 .cfi_def_cfa_offset 8 291 0034 BD46 mov sp, r7 292 .cfi_def_cfa_register 13 293 @ sp needed 294 0036 80BD pop {r7, pc} 295 .cfi_endproc 296 .LFE30: 298 .section .text._close,"ax",%progbits 299 .align 1 300 .global _close 301 .syntax unified 302 .thumb 303 .thumb_func 305 _close: 306 .LFB31: 91:Core/Src/syscalls.c **** 92:Core/Src/syscalls.c **** int _close(int file) 93:Core/Src/syscalls.c **** { 307 .loc 1 93 1 308 .cfi_startproc 309 @ args = 0, pretend = 0, frame = 8 310 @ frame_needed = 1, uses_anonymous_args = 0 311 @ link register save eliminated. 312 0000 80B4 push {r7} 313 .cfi_def_cfa_offset 4 314 .cfi_offset 7, -4 315 0002 83B0 sub sp, sp, #12 316 .cfi_def_cfa_offset 16 317 0004 00AF add r7, sp, #0 318 .cfi_def_cfa_register 7 319 0006 7860 str r0, [r7, #4] ARM GAS /tmp/ccqbk4Th.s page 8 94:Core/Src/syscalls.c **** (void)file; 95:Core/Src/syscalls.c **** return -1; 320 .loc 1 95 10 321 0008 4FF0FF33 mov r3, #-1 96:Core/Src/syscalls.c **** } 322 .loc 1 96 1 323 000c 1846 mov r0, r3 324 000e 0C37 adds r7, r7, #12 325 .cfi_def_cfa_offset 4 326 0010 BD46 mov sp, r7 327 .cfi_def_cfa_register 13 328 @ sp needed 329 0012 5DF8047B ldr r7, [sp], #4 330 .cfi_restore 7 331 .cfi_def_cfa_offset 0 332 0016 7047 bx lr 333 .cfi_endproc 334 .LFE31: 336 .section .text._fstat,"ax",%progbits 337 .align 1 338 .global _fstat 339 .syntax unified 340 .thumb 341 .thumb_func 343 _fstat: 344 .LFB32: 97:Core/Src/syscalls.c **** 98:Core/Src/syscalls.c **** 99:Core/Src/syscalls.c **** int _fstat(int file, struct stat *st) 100:Core/Src/syscalls.c **** { 345 .loc 1 100 1 346 .cfi_startproc 347 @ args = 0, pretend = 0, frame = 8 348 @ frame_needed = 1, uses_anonymous_args = 0 349 @ link register save eliminated. 350 0000 80B4 push {r7} 351 .cfi_def_cfa_offset 4 352 .cfi_offset 7, -4 353 0002 83B0 sub sp, sp, #12 354 .cfi_def_cfa_offset 16 355 0004 00AF add r7, sp, #0 356 .cfi_def_cfa_register 7 357 0006 7860 str r0, [r7, #4] 358 0008 3960 str r1, [r7] 101:Core/Src/syscalls.c **** (void)file; 102:Core/Src/syscalls.c **** st->st_mode = S_IFCHR; 359 .loc 1 102 15 360 000a 3B68 ldr r3, [r7] 361 000c 4FF40052 mov r2, #8192 362 0010 5A60 str r2, [r3, #4] 103:Core/Src/syscalls.c **** return 0; 363 .loc 1 103 10 364 0012 0023 movs r3, #0 104:Core/Src/syscalls.c **** } 365 .loc 1 104 1 366 0014 1846 mov r0, r3 367 0016 0C37 adds r7, r7, #12 ARM GAS /tmp/ccqbk4Th.s page 9 368 .cfi_def_cfa_offset 4 369 0018 BD46 mov sp, r7 370 .cfi_def_cfa_register 13 371 @ sp needed 372 001a 5DF8047B ldr r7, [sp], #4 373 .cfi_restore 7 374 .cfi_def_cfa_offset 0 375 001e 7047 bx lr 376 .cfi_endproc 377 .LFE32: 379 .section .text._isatty,"ax",%progbits 380 .align 1 381 .global _isatty 382 .syntax unified 383 .thumb 384 .thumb_func 386 _isatty: 387 .LFB33: 105:Core/Src/syscalls.c **** 106:Core/Src/syscalls.c **** int _isatty(int file) 107:Core/Src/syscalls.c **** { 388 .loc 1 107 1 389 .cfi_startproc 390 @ args = 0, pretend = 0, frame = 8 391 @ frame_needed = 1, uses_anonymous_args = 0 392 @ link register save eliminated. 393 0000 80B4 push {r7} 394 .cfi_def_cfa_offset 4 395 .cfi_offset 7, -4 396 0002 83B0 sub sp, sp, #12 397 .cfi_def_cfa_offset 16 398 0004 00AF add r7, sp, #0 399 .cfi_def_cfa_register 7 400 0006 7860 str r0, [r7, #4] 108:Core/Src/syscalls.c **** (void)file; 109:Core/Src/syscalls.c **** return 1; 401 .loc 1 109 10 402 0008 0123 movs r3, #1 110:Core/Src/syscalls.c **** } 403 .loc 1 110 1 404 000a 1846 mov r0, r3 405 000c 0C37 adds r7, r7, #12 406 .cfi_def_cfa_offset 4 407 000e BD46 mov sp, r7 408 .cfi_def_cfa_register 13 409 @ sp needed 410 0010 5DF8047B ldr r7, [sp], #4 411 .cfi_restore 7 412 .cfi_def_cfa_offset 0 413 0014 7047 bx lr 414 .cfi_endproc 415 .LFE33: 417 .section .text._lseek,"ax",%progbits 418 .align 1 419 .global _lseek 420 .syntax unified 421 .thumb ARM GAS /tmp/ccqbk4Th.s page 10 422 .thumb_func 424 _lseek: 425 .LFB34: 111:Core/Src/syscalls.c **** 112:Core/Src/syscalls.c **** int _lseek(int file, int ptr, int dir) 113:Core/Src/syscalls.c **** { 426 .loc 1 113 1 427 .cfi_startproc 428 @ args = 0, pretend = 0, frame = 16 429 @ frame_needed = 1, uses_anonymous_args = 0 430 @ link register save eliminated. 431 0000 80B4 push {r7} 432 .cfi_def_cfa_offset 4 433 .cfi_offset 7, -4 434 0002 85B0 sub sp, sp, #20 435 .cfi_def_cfa_offset 24 436 0004 00AF add r7, sp, #0 437 .cfi_def_cfa_register 7 438 0006 F860 str r0, [r7, #12] 439 0008 B960 str r1, [r7, #8] 440 000a 7A60 str r2, [r7, #4] 114:Core/Src/syscalls.c **** (void)file; 115:Core/Src/syscalls.c **** (void)ptr; 116:Core/Src/syscalls.c **** (void)dir; 117:Core/Src/syscalls.c **** return 0; 441 .loc 1 117 10 442 000c 0023 movs r3, #0 118:Core/Src/syscalls.c **** } 443 .loc 1 118 1 444 000e 1846 mov r0, r3 445 0010 1437 adds r7, r7, #20 446 .cfi_def_cfa_offset 4 447 0012 BD46 mov sp, r7 448 .cfi_def_cfa_register 13 449 @ sp needed 450 0014 5DF8047B ldr r7, [sp], #4 451 .cfi_restore 7 452 .cfi_def_cfa_offset 0 453 0018 7047 bx lr 454 .cfi_endproc 455 .LFE34: 457 .section .text._open,"ax",%progbits 458 .align 1 459 .global _open 460 .syntax unified 461 .thumb 462 .thumb_func 464 _open: 465 .LFB35: 119:Core/Src/syscalls.c **** 120:Core/Src/syscalls.c **** int _open(char *path, int flags, ...) 121:Core/Src/syscalls.c **** { 466 .loc 1 121 1 467 .cfi_startproc 468 @ args = 4, pretend = 12, frame = 8 469 @ frame_needed = 1, uses_anonymous_args = 1 470 @ link register save eliminated. ARM GAS /tmp/ccqbk4Th.s page 11 471 0000 0EB4 push {r1, r2, r3} 472 .cfi_def_cfa_offset 12 473 .cfi_offset 1, -12 474 .cfi_offset 2, -8 475 .cfi_offset 3, -4 476 0002 80B4 push {r7} 477 .cfi_def_cfa_offset 16 478 .cfi_offset 7, -16 479 0004 82B0 sub sp, sp, #8 480 .cfi_def_cfa_offset 24 481 0006 00AF add r7, sp, #0 482 .cfi_def_cfa_register 7 483 0008 7860 str r0, [r7, #4] 122:Core/Src/syscalls.c **** (void)path; 123:Core/Src/syscalls.c **** (void)flags; 124:Core/Src/syscalls.c **** /* Pretend like we always fail */ 125:Core/Src/syscalls.c **** return -1; 484 .loc 1 125 10 485 000a 4FF0FF33 mov r3, #-1 126:Core/Src/syscalls.c **** } 486 .loc 1 126 1 487 000e 1846 mov r0, r3 488 0010 0837 adds r7, r7, #8 489 .cfi_def_cfa_offset 16 490 0012 BD46 mov sp, r7 491 .cfi_def_cfa_register 13 492 @ sp needed 493 0014 5DF8047B ldr r7, [sp], #4 494 .cfi_restore 7 495 .cfi_def_cfa_offset 12 496 0018 03B0 add sp, sp, #12 497 .cfi_restore 3 498 .cfi_restore 2 499 .cfi_restore 1 500 .cfi_def_cfa_offset 0 501 001a 7047 bx lr 502 .cfi_endproc 503 .LFE35: 505 .section .text._wait,"ax",%progbits 506 .align 1 507 .global _wait 508 .syntax unified 509 .thumb 510 .thumb_func 512 _wait: 513 .LFB36: 127:Core/Src/syscalls.c **** 128:Core/Src/syscalls.c **** int _wait(int *status) 129:Core/Src/syscalls.c **** { 514 .loc 1 129 1 515 .cfi_startproc 516 @ args = 0, pretend = 0, frame = 8 517 @ frame_needed = 1, uses_anonymous_args = 0 518 0000 80B5 push {r7, lr} 519 .cfi_def_cfa_offset 8 520 .cfi_offset 7, -8 521 .cfi_offset 14, -4 ARM GAS /tmp/ccqbk4Th.s page 12 522 0002 82B0 sub sp, sp, #8 523 .cfi_def_cfa_offset 16 524 0004 00AF add r7, sp, #0 525 .cfi_def_cfa_register 7 526 0006 7860 str r0, [r7, #4] 130:Core/Src/syscalls.c **** (void)status; 131:Core/Src/syscalls.c **** errno = ECHILD; 527 .loc 1 131 3 528 0008 FFF7FEFF bl __errno 529 000c 0346 mov r3, r0 530 .loc 1 131 9 discriminator 1 531 000e 0A22 movs r2, #10 532 0010 1A60 str r2, [r3] 132:Core/Src/syscalls.c **** return -1; 533 .loc 1 132 10 534 0012 4FF0FF33 mov r3, #-1 133:Core/Src/syscalls.c **** } 535 .loc 1 133 1 536 0016 1846 mov r0, r3 537 0018 0837 adds r7, r7, #8 538 .cfi_def_cfa_offset 8 539 001a BD46 mov sp, r7 540 .cfi_def_cfa_register 13 541 @ sp needed 542 001c 80BD pop {r7, pc} 543 .cfi_endproc 544 .LFE36: 546 .section .text._unlink,"ax",%progbits 547 .align 1 548 .global _unlink 549 .syntax unified 550 .thumb 551 .thumb_func 553 _unlink: 554 .LFB37: 134:Core/Src/syscalls.c **** 135:Core/Src/syscalls.c **** int _unlink(char *name) 136:Core/Src/syscalls.c **** { 555 .loc 1 136 1 556 .cfi_startproc 557 @ args = 0, pretend = 0, frame = 8 558 @ frame_needed = 1, uses_anonymous_args = 0 559 0000 80B5 push {r7, lr} 560 .cfi_def_cfa_offset 8 561 .cfi_offset 7, -8 562 .cfi_offset 14, -4 563 0002 82B0 sub sp, sp, #8 564 .cfi_def_cfa_offset 16 565 0004 00AF add r7, sp, #0 566 .cfi_def_cfa_register 7 567 0006 7860 str r0, [r7, #4] 137:Core/Src/syscalls.c **** (void)name; 138:Core/Src/syscalls.c **** errno = ENOENT; 568 .loc 1 138 3 569 0008 FFF7FEFF bl __errno 570 000c 0346 mov r3, r0 571 .loc 1 138 9 discriminator 1 ARM GAS /tmp/ccqbk4Th.s page 13 572 000e 0222 movs r2, #2 573 0010 1A60 str r2, [r3] 139:Core/Src/syscalls.c **** return -1; 574 .loc 1 139 10 575 0012 4FF0FF33 mov r3, #-1 140:Core/Src/syscalls.c **** } 576 .loc 1 140 1 577 0016 1846 mov r0, r3 578 0018 0837 adds r7, r7, #8 579 .cfi_def_cfa_offset 8 580 001a BD46 mov sp, r7 581 .cfi_def_cfa_register 13 582 @ sp needed 583 001c 80BD pop {r7, pc} 584 .cfi_endproc 585 .LFE37: 587 .section .text._times,"ax",%progbits 588 .align 1 589 .global _times 590 .syntax unified 591 .thumb 592 .thumb_func 594 _times: 595 .LFB38: 141:Core/Src/syscalls.c **** 142:Core/Src/syscalls.c **** int _times(struct tms *buf) 143:Core/Src/syscalls.c **** { 596 .loc 1 143 1 597 .cfi_startproc 598 @ args = 0, pretend = 0, frame = 8 599 @ frame_needed = 1, uses_anonymous_args = 0 600 @ link register save eliminated. 601 0000 80B4 push {r7} 602 .cfi_def_cfa_offset 4 603 .cfi_offset 7, -4 604 0002 83B0 sub sp, sp, #12 605 .cfi_def_cfa_offset 16 606 0004 00AF add r7, sp, #0 607 .cfi_def_cfa_register 7 608 0006 7860 str r0, [r7, #4] 144:Core/Src/syscalls.c **** (void)buf; 145:Core/Src/syscalls.c **** return -1; 609 .loc 1 145 10 610 0008 4FF0FF33 mov r3, #-1 146:Core/Src/syscalls.c **** } 611 .loc 1 146 1 612 000c 1846 mov r0, r3 613 000e 0C37 adds r7, r7, #12 614 .cfi_def_cfa_offset 4 615 0010 BD46 mov sp, r7 616 .cfi_def_cfa_register 13 617 @ sp needed 618 0012 5DF8047B ldr r7, [sp], #4 619 .cfi_restore 7 620 .cfi_def_cfa_offset 0 621 0016 7047 bx lr 622 .cfi_endproc ARM GAS /tmp/ccqbk4Th.s page 14 623 .LFE38: 625 .section .text._stat,"ax",%progbits 626 .align 1 627 .global _stat 628 .syntax unified 629 .thumb 630 .thumb_func 632 _stat: 633 .LFB39: 147:Core/Src/syscalls.c **** 148:Core/Src/syscalls.c **** int _stat(char *file, struct stat *st) 149:Core/Src/syscalls.c **** { 634 .loc 1 149 1 635 .cfi_startproc 636 @ args = 0, pretend = 0, frame = 8 637 @ frame_needed = 1, uses_anonymous_args = 0 638 @ link register save eliminated. 639 0000 80B4 push {r7} 640 .cfi_def_cfa_offset 4 641 .cfi_offset 7, -4 642 0002 83B0 sub sp, sp, #12 643 .cfi_def_cfa_offset 16 644 0004 00AF add r7, sp, #0 645 .cfi_def_cfa_register 7 646 0006 7860 str r0, [r7, #4] 647 0008 3960 str r1, [r7] 150:Core/Src/syscalls.c **** (void)file; 151:Core/Src/syscalls.c **** st->st_mode = S_IFCHR; 648 .loc 1 151 15 649 000a 3B68 ldr r3, [r7] 650 000c 4FF40052 mov r2, #8192 651 0010 5A60 str r2, [r3, #4] 152:Core/Src/syscalls.c **** return 0; 652 .loc 1 152 10 653 0012 0023 movs r3, #0 153:Core/Src/syscalls.c **** } 654 .loc 1 153 1 655 0014 1846 mov r0, r3 656 0016 0C37 adds r7, r7, #12 657 .cfi_def_cfa_offset 4 658 0018 BD46 mov sp, r7 659 .cfi_def_cfa_register 13 660 @ sp needed 661 001a 5DF8047B ldr r7, [sp], #4 662 .cfi_restore 7 663 .cfi_def_cfa_offset 0 664 001e 7047 bx lr 665 .cfi_endproc 666 .LFE39: 668 .section .text._link,"ax",%progbits 669 .align 1 670 .global _link 671 .syntax unified 672 .thumb 673 .thumb_func 675 _link: 676 .LFB40: ARM GAS /tmp/ccqbk4Th.s page 15 154:Core/Src/syscalls.c **** 155:Core/Src/syscalls.c **** int _link(char *old, char *new) 156:Core/Src/syscalls.c **** { 677 .loc 1 156 1 678 .cfi_startproc 679 @ args = 0, pretend = 0, frame = 8 680 @ frame_needed = 1, uses_anonymous_args = 0 681 0000 80B5 push {r7, lr} 682 .cfi_def_cfa_offset 8 683 .cfi_offset 7, -8 684 .cfi_offset 14, -4 685 0002 82B0 sub sp, sp, #8 686 .cfi_def_cfa_offset 16 687 0004 00AF add r7, sp, #0 688 .cfi_def_cfa_register 7 689 0006 7860 str r0, [r7, #4] 690 0008 3960 str r1, [r7] 157:Core/Src/syscalls.c **** (void)old; 158:Core/Src/syscalls.c **** (void)new; 159:Core/Src/syscalls.c **** errno = EMLINK; 691 .loc 1 159 3 692 000a FFF7FEFF bl __errno 693 000e 0346 mov r3, r0 694 .loc 1 159 9 discriminator 1 695 0010 1F22 movs r2, #31 696 0012 1A60 str r2, [r3] 160:Core/Src/syscalls.c **** return -1; 697 .loc 1 160 10 698 0014 4FF0FF33 mov r3, #-1 161:Core/Src/syscalls.c **** } 699 .loc 1 161 1 700 0018 1846 mov r0, r3 701 001a 0837 adds r7, r7, #8 702 .cfi_def_cfa_offset 8 703 001c BD46 mov sp, r7 704 .cfi_def_cfa_register 13 705 @ sp needed 706 001e 80BD pop {r7, pc} 707 .cfi_endproc 708 .LFE40: 710 .section .text._fork,"ax",%progbits 711 .align 1 712 .global _fork 713 .syntax unified 714 .thumb 715 .thumb_func 717 _fork: 718 .LFB41: 162:Core/Src/syscalls.c **** 163:Core/Src/syscalls.c **** int _fork(void) 164:Core/Src/syscalls.c **** { 719 .loc 1 164 1 720 .cfi_startproc 721 @ args = 0, pretend = 0, frame = 0 722 @ frame_needed = 1, uses_anonymous_args = 0 723 0000 80B5 push {r7, lr} 724 .cfi_def_cfa_offset 8 ARM GAS /tmp/ccqbk4Th.s page 16 725 .cfi_offset 7, -8 726 .cfi_offset 14, -4 727 0002 00AF add r7, sp, #0 728 .cfi_def_cfa_register 7 165:Core/Src/syscalls.c **** errno = EAGAIN; 729 .loc 1 165 3 730 0004 FFF7FEFF bl __errno 731 0008 0346 mov r3, r0 732 .loc 1 165 9 discriminator 1 733 000a 0B22 movs r2, #11 734 000c 1A60 str r2, [r3] 166:Core/Src/syscalls.c **** return -1; 735 .loc 1 166 10 736 000e 4FF0FF33 mov r3, #-1 167:Core/Src/syscalls.c **** } 737 .loc 1 167 1 738 0012 1846 mov r0, r3 739 0014 80BD pop {r7, pc} 740 .cfi_endproc 741 .LFE41: 743 .section .text._execve,"ax",%progbits 744 .align 1 745 .global _execve 746 .syntax unified 747 .thumb 748 .thumb_func 750 _execve: 751 .LFB42: 168:Core/Src/syscalls.c **** 169:Core/Src/syscalls.c **** int _execve(char *name, char **argv, char **env) 170:Core/Src/syscalls.c **** { 752 .loc 1 170 1 753 .cfi_startproc 754 @ args = 0, pretend = 0, frame = 16 755 @ frame_needed = 1, uses_anonymous_args = 0 756 0000 80B5 push {r7, lr} 757 .cfi_def_cfa_offset 8 758 .cfi_offset 7, -8 759 .cfi_offset 14, -4 760 0002 84B0 sub sp, sp, #16 761 .cfi_def_cfa_offset 24 762 0004 00AF add r7, sp, #0 763 .cfi_def_cfa_register 7 764 0006 F860 str r0, [r7, #12] 765 0008 B960 str r1, [r7, #8] 766 000a 7A60 str r2, [r7, #4] 171:Core/Src/syscalls.c **** (void)name; 172:Core/Src/syscalls.c **** (void)argv; 173:Core/Src/syscalls.c **** (void)env; 174:Core/Src/syscalls.c **** errno = ENOMEM; 767 .loc 1 174 3 768 000c FFF7FEFF bl __errno 769 0010 0346 mov r3, r0 770 .loc 1 174 9 discriminator 1 771 0012 0C22 movs r2, #12 772 0014 1A60 str r2, [r3] 175:Core/Src/syscalls.c **** return -1; ARM GAS /tmp/ccqbk4Th.s page 17 773 .loc 1 175 10 774 0016 4FF0FF33 mov r3, #-1 176:Core/Src/syscalls.c **** } 775 .loc 1 176 1 776 001a 1846 mov r0, r3 777 001c 1037 adds r7, r7, #16 778 .cfi_def_cfa_offset 8 779 001e BD46 mov sp, r7 780 .cfi_def_cfa_register 13 781 @ sp needed 782 0020 80BD pop {r7, pc} 783 .cfi_endproc 784 .LFE42: 786 .weak __io_putchar 787 .weak __io_getchar 788 .text 789 .Letext0: 790 .file 2 "/nix/store/p8vkamc9b2vlibs9aw76vnasdbifhcbm-gcc-arm-embedded-13.2.rel1/arm-none-eabi/incl 791 .file 3 "/nix/store/p8vkamc9b2vlibs9aw76vnasdbifhcbm-gcc-arm-embedded-13.2.rel1/arm-none-eabi/incl 792 .file 4 "/nix/store/p8vkamc9b2vlibs9aw76vnasdbifhcbm-gcc-arm-embedded-13.2.rel1/arm-none-eabi/incl 793 .file 5 "/nix/store/p8vkamc9b2vlibs9aw76vnasdbifhcbm-gcc-arm-embedded-13.2.rel1/arm-none-eabi/incl 794 .file 6 "/nix/store/p8vkamc9b2vlibs9aw76vnasdbifhcbm-gcc-arm-embedded-13.2.rel1/arm-none-eabi/incl 795 .file 7 "/nix/store/p8vkamc9b2vlibs9aw76vnasdbifhcbm-gcc-arm-embedded-13.2.rel1/arm-none-eabi/incl 796 .file 8 "/nix/store/p8vkamc9b2vlibs9aw76vnasdbifhcbm-gcc-arm-embedded-13.2.rel1/arm-none-eabi/incl 797 .file 9 "/nix/store/p8vkamc9b2vlibs9aw76vnasdbifhcbm-gcc-arm-embedded-13.2.rel1/arm-none-eabi/incl ARM GAS /tmp/ccqbk4Th.s page 18 DEFINED SYMBOLS *ABS*:00000000 syscalls.c /tmp/ccqbk4Th.s:25 .bss.__env:00000000 __env /tmp/ccqbk4Th.s:22 .bss.__env:00000000 $d /tmp/ccqbk4Th.s:32 .data.environ:00000000 environ /tmp/ccqbk4Th.s:29 .data.environ:00000000 $d /tmp/ccqbk4Th.s:35 .text.initialise_monitor_handles:00000000 $t /tmp/ccqbk4Th.s:41 .text.initialise_monitor_handles:00000000 initialise_monitor_handles /tmp/ccqbk4Th.s:66 .text._getpid:00000000 $t /tmp/ccqbk4Th.s:72 .text._getpid:00000000 _getpid /tmp/ccqbk4Th.s:99 .text._kill:00000000 $t /tmp/ccqbk4Th.s:105 .text._kill:00000000 _kill /tmp/ccqbk4Th.s:141 .text._exit:00000000 $t /tmp/ccqbk4Th.s:147 .text._exit:00000000 _exit /tmp/ccqbk4Th.s:174 .text._read:00000000 $t /tmp/ccqbk4Th.s:180 .text._read:00000000 _read /tmp/ccqbk4Th.s:237 .text._write:00000000 $t /tmp/ccqbk4Th.s:243 .text._write:00000000 _write /tmp/ccqbk4Th.s:299 .text._close:00000000 $t /tmp/ccqbk4Th.s:305 .text._close:00000000 _close /tmp/ccqbk4Th.s:337 .text._fstat:00000000 $t /tmp/ccqbk4Th.s:343 .text._fstat:00000000 _fstat /tmp/ccqbk4Th.s:380 .text._isatty:00000000 $t /tmp/ccqbk4Th.s:386 .text._isatty:00000000 _isatty /tmp/ccqbk4Th.s:418 .text._lseek:00000000 $t /tmp/ccqbk4Th.s:424 .text._lseek:00000000 _lseek /tmp/ccqbk4Th.s:458 .text._open:00000000 $t /tmp/ccqbk4Th.s:464 .text._open:00000000 _open /tmp/ccqbk4Th.s:506 .text._wait:00000000 $t /tmp/ccqbk4Th.s:512 .text._wait:00000000 _wait /tmp/ccqbk4Th.s:547 .text._unlink:00000000 $t /tmp/ccqbk4Th.s:553 .text._unlink:00000000 _unlink /tmp/ccqbk4Th.s:588 .text._times:00000000 $t /tmp/ccqbk4Th.s:594 .text._times:00000000 _times /tmp/ccqbk4Th.s:626 .text._stat:00000000 $t /tmp/ccqbk4Th.s:632 .text._stat:00000000 _stat /tmp/ccqbk4Th.s:669 .text._link:00000000 $t /tmp/ccqbk4Th.s:675 .text._link:00000000 _link /tmp/ccqbk4Th.s:711 .text._fork:00000000 $t /tmp/ccqbk4Th.s:717 .text._fork:00000000 _fork /tmp/ccqbk4Th.s:744 .text._execve:00000000 $t /tmp/ccqbk4Th.s:750 .text._execve:00000000 _execve UNDEFINED SYMBOLS __errno __io_getchar __io_putchar