From 8c8a72df716634150446fb357eb5ec4f30878484 Mon Sep 17 00:00:00 2001 From: Alexander Heldt Date: Sat, 22 Jun 2024 19:20:43 +0200 Subject: [PATCH] Add linking step --- Makefile | 5 +- build/final.elf | Bin 0 -> 30204 bytes build/final.elf.map | 156 ++ build/startup.S | 3868 +++++++++++++++++++++++++++++++++++++++++++ build/startup.i | 1538 +++++++++++++++++ build/startup.o | Bin 0 -> 30908 bytes link.ld | 43 + src/startup.c | 34 + 8 files changed, 5643 insertions(+), 1 deletion(-) create mode 100755 build/final.elf create mode 100644 build/final.elf.map create mode 100644 build/startup.S create mode 100644 build/startup.i create mode 100644 build/startup.o create mode 100644 link.ld create mode 100644 src/startup.c diff --git a/Makefile b/Makefile index 5fc3a7a..8bb13b4 100644 --- a/Makefile +++ b/Makefile @@ -28,7 +28,10 @@ ASM_FILES := $(patsubst $(BUILD_DIR)/%.i,$(BUILD_DIR)/%.S,$(PREP_FILES)) OBJ_FILES := $(patsubst $(BUILD_DIR)/%.S,$(BUILD_DIR)/%.o,$(ASM_FILES)) .PHONY: build -build: builddir preprocess compile assemble +build: builddir preprocess compile assemble $(BUILD_DIR)/final.elf + +$(BUILD_DIR)/final.elf: $(OBJ_FILES) + $(CC) $(LDFLAGS) $^ -o $@ $(BUILD_DIR)/%.i: $(SRC_DIR)/%.c $(CC) $(CFLAGS) -E $^ -o $@ diff --git a/build/final.elf b/build/final.elf new file mode 100755 index 0000000000000000000000000000000000000000..05862f9015951fa576b3f587f7903cbb94041e6b GIT binary patch literal 30204 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 fhC&90b}$PCo?nHMoIoCZliF-#o*m=8hT literal 0 HcmV?d00001 diff --git a/build/final.elf.map b/build/final.elf.map new file mode 100644 index 0000000..28bc4eb --- /dev/null +++ b/build/final.elf.map @@ -0,0 +1,156 @@ + +Discarded input sections + + .text 0x00000000 0x0 build/main.o + .data 0x00000000 0x0 build/main.o + .bss 0x00000000 0x0 build/main.o + .group 0x00000000 0xc build/startup.o + .group 0x00000000 0xc build/startup.o + .group 0x00000000 0xc build/startup.o + .group 0x00000000 0xc build/startup.o + .group 0x00000000 0xc build/startup.o + .group 0x00000000 0xc build/startup.o + .text 0x00000000 0x0 build/startup.o + .data 0x00000000 0x0 build/startup.o + .bss 0x00000000 0x0 build/startup.o + +Memory Configuration + +Name Origin Length Attributes +flash 0x08000000 0x00080000 xr +sram 0x20000000 0x00020000 xrw +*default* 0x00000000 0xffffffff + +Linker script and memory map + +LOAD /nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/libc_nano.a +LOAD /nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/bin/../lib/gcc/arm-none-eabi/12.3.1/libgcc.a +LOAD build/main.o +LOAD build/startup.o + 0x20020000 stack_start = (ORIGIN (sram) + LENGTH (sram)) + +.isr_vector 0x08000000 0x198 + 0x08000000 . = ALIGN (0x4) + *(.isr_vector) + .isr_vector 0x08000000 0x198 build/startup.o + 0x08000000 interrupt_vector_table + 0x08000198 . = ALIGN (0x4) + +.text 0x08000198 0x84 + 0x08000198 . = ALIGN (0x4) + *(.text) + *(.text.*) + .text.main 0x08000198 0x10 build/main.o + 0x08000198 main + .text.init_memory + 0x080001a8 0x64 build/startup.o + 0x080001a8 init_memory + .text.reset 0x0800020c 0x10 build/startup.o + 0x0800020c reset + *(.rodata) + *(.rodata.*) + 0x0800021c . = ALIGN (0x4) + 0x0800021c _data_addr = LOADADDR (.data) + +.glue_7 0x0800021c 0x0 + .glue_7 0x0800021c 0x0 linker stubs + +.glue_7t 0x0800021c 0x0 + .glue_7t 0x0800021c 0x0 linker stubs + +.vfp11_veneer 0x0800021c 0x0 + .vfp11_veneer 0x0800021c 0x0 linker stubs + +.v4_bx 0x0800021c 0x0 + .v4_bx 0x0800021c 0x0 linker stubs + +.iplt 0x0800021c 0x0 + .iplt 0x0800021c 0x0 build/startup.o + +.rel.dyn 0x0800021c 0x0 + .rel.iplt 0x0800021c 0x0 build/startup.o + +.data 0x20000000 0x0 load address 0x0800021c + 0x20000000 . = ALIGN (0x4) + 0x20000000 _data_start = . + *(.data) + *(.data.*) + 0x20000000 . = ALIGN (0x4) + 0x20000000 _data_end = . + +.igot.plt 0x20000000 0x0 load address 0x0800021c + .igot.plt 0x20000000 0x0 build/startup.o + +.bss 0x20000000 0x0 load address 0x0800021c + 0x20000000 . = ALIGN (0x4) + 0x20000000 _bss_start = . + *(.bss) + *(.bss.*) + 0x20000000 _bss_end = . + 0x20000000 . = ALIGN (0x4) +OUTPUT(build/final.elf elf32-littlearm) +LOAD linker stubs + +.debug_info 0x00000000 0x1be + .debug_info 0x00000000 0x48 build/main.o + .debug_info 0x00000048 0x176 build/startup.o + +.debug_abbrev 0x00000000 0x14a + .debug_abbrev 0x00000000 0x3c build/main.o + .debug_abbrev 0x0000003c 0x10e build/startup.o + +.debug_aranges 0x00000000 0x48 + .debug_aranges + 0x00000000 0x20 build/main.o + .debug_aranges + 0x00000020 0x28 build/startup.o + +.debug_rnglists + 0x00000000 0x2c + .debug_rnglists + 0x00000000 0x13 build/main.o + .debug_rnglists + 0x00000013 0x19 build/startup.o + +.debug_macro 0x00000000 0x19f3 + .debug_macro 0x00000000 0xaaa build/main.o + .debug_macro 0x00000aaa 0xafc build/startup.o + .debug_macro 0x000015a6 0x22 build/startup.o + .debug_macro 0x000015c8 0x8e build/startup.o + .debug_macro 0x00001656 0x51 build/startup.o + .debug_macro 0x000016a7 0x103 build/startup.o + .debug_macro 0x000017aa 0x6a build/startup.o + .debug_macro 0x00001814 0x1df build/startup.o + +.debug_line 0x00000000 0x120 + .debug_line 0x00000000 0x4f build/main.o + .debug_line 0x0000004f 0xd1 build/startup.o + +.debug_str 0x00000000 0x3be8 + .debug_str 0x00000000 0x2da8 build/main.o + .debug_str 0x00002da8 0xe40 build/startup.o + 0x3d41 (size before relaxing) + +.comment 0x00000000 0x45 + .comment 0x00000000 0x45 build/main.o + 0x46 (size before relaxing) + .comment 0x00000045 0x46 build/startup.o + +.ARM.attributes + 0x00000000 0x34 + .ARM.attributes + 0x00000000 0x34 build/main.o + .ARM.attributes + 0x00000034 0x34 build/startup.o + +.debug_line_str + 0x00000000 0x210 + .debug_line_str + 0x00000000 0x35 build/main.o + .debug_line_str + 0x00000035 0x1db build/startup.o + 0x21b (size before relaxing) + +.debug_frame 0x00000000 0x84 + .debug_frame 0x00000000 0x30 build/main.o + .debug_frame 0x00000030 0x54 build/startup.o diff --git a/build/startup.S b/build/startup.S new file mode 100644 index 0000000..b6b3edf --- /dev/null +++ b/build/startup.S @@ -0,0 +1,3868 @@ + .cpu cortex-m4 + .arch armv7e-m + .fpu fpv4-sp-d16 + .eabi_attribute 27, 1 + .eabi_attribute 28, 1 + .eabi_attribute 20, 1 + .eabi_attribute 21, 1 + .eabi_attribute 23, 3 + .eabi_attribute 24, 1 + .eabi_attribute 25, 1 + .eabi_attribute 26, 1 + .eabi_attribute 30, 6 + .eabi_attribute 34, 1 + .eabi_attribute 18, 4 + .file "startup.c" + .text +.Ltext0: + .cfi_sections .debug_frame + .file 1 "src/startup.c" + .section .text.init_memory,"ax",%progbits + .align 1 + .global init_memory + .syntax unified + .thumb + .thumb_func + .type init_memory, %function +init_memory: +.LFB0: + .loc 1 6 24 + .cfi_startproc + @ args = 0, pretend = 0, frame = 16 + @ frame_needed = 1, uses_anonymous_args = 0 + @ link register save eliminated. + push {r7} + .cfi_def_cfa_offset 4 + .cfi_offset 7, -4 + sub sp, sp, #20 + .cfi_def_cfa_offset 24 + add r7, sp, #0 + .cfi_def_cfa_register 7 +.LBB2: + .loc 1 9 18 + ldr r3, .L6 + str r3, [r7, #12] + .loc 1 9 39 + ldr r3, .L6+4 + str r3, [r7, #8] + .loc 1 9 3 + b .L2 +.L3: + .loc 1 10 15 + ldr r2, [r7, #8] + adds r3, r2, #4 + str r3, [r7, #8] + .loc 1 10 6 + ldr r3, [r7, #12] + adds r1, r3, #4 + str r1, [r7, #12] + .loc 1 10 11 + ldr r2, [r2] + .loc 1 10 9 + str r2, [r3] +.L2: + .loc 1 9 62 discriminator 1 + ldr r3, [r7, #12] + ldr r2, .L6+8 + cmp r3, r2 + bcc .L3 +.LBE2: +.LBB3: + .loc 1 15 18 + ldr r3, .L6+12 + str r3, [r7, #4] + .loc 1 15 3 + b .L4 +.L5: + .loc 1 16 7 discriminator 3 + ldr r3, [r7, #4] + movs r2, #0 + str r2, [r3] + .loc 1 15 57 discriminator 3 + ldr r3, [r7, #4] + adds r3, r3, #4 + str r3, [r7, #4] +.L4: + .loc 1 15 41 discriminator 1 + ldr r3, [r7, #4] + ldr r2, .L6+16 + cmp r3, r2 + bcc .L5 +.LBE3: + .loc 1 18 1 + nop + nop + adds r7, r7, #20 + .cfi_def_cfa_offset 4 + mov sp, r7 + .cfi_def_cfa_register 13 + @ sp needed + ldr r7, [sp], #4 + .cfi_restore 7 + .cfi_def_cfa_offset 0 + bx lr +.L7: + .align 2 +.L6: + .word _data_start + .word _data_addr + .word _data_end + .word _bss_start + .word _bss_end + .cfi_endproc +.LFE0: + .size init_memory, .-init_memory + .section .text.reset,"ax",%progbits + .align 1 + .global reset + .syntax unified + .thumb + .thumb_func + .type reset, %function +reset: +.LFB1: + .loc 1 20 18 + .cfi_startproc + @ args = 0, pretend = 0, frame = 0 + @ frame_needed = 1, uses_anonymous_args = 0 + push {r7, lr} + .cfi_def_cfa_offset 8 + .cfi_offset 7, -8 + .cfi_offset 14, -4 + add r7, sp, #0 + .cfi_def_cfa_register 7 + .loc 1 21 3 + bl init_memory + .loc 1 23 3 + bl main +.L9: + .loc 1 26 12 discriminator 1 + nop + b .L9 + .cfi_endproc +.LFE1: + .size reset, .-reset + .global interrupt_vector_table + .section .isr_vector,"a" + .align 2 + .type interrupt_vector_table, %object + .size interrupt_vector_table, 408 +interrupt_vector_table: + .word stack_start + .word reset + .space 400 + .text +.Letext0: + .file 2 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/machine/_default_types.h" + .file 3 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/_stdint.h" + .section .debug_info,"",%progbits +.Ldebug_info0: + .4byte 0x172 + .2byte 0x5 + .byte 0x1 + .byte 0x4 + .4byte .Ldebug_abbrev0 + .uleb128 0x7 + .4byte .LASF628 + .byte 0x1d + .4byte .LASF629 + .4byte .LASF630 + .4byte .LLRL0 + .4byte 0 + .4byte .Ldebug_line0 + .4byte .Ldebug_macro0 + .uleb128 0x1 + .byte 0x1 + .byte 0x6 + .4byte .LASF611 + .uleb128 0x1 + .byte 0x1 + .byte 0x8 + .4byte .LASF612 + .uleb128 0x1 + .byte 0x2 + .byte 0x5 + .4byte .LASF613 + .uleb128 0x1 + .byte 0x2 + .byte 0x7 + .4byte .LASF614 + .uleb128 0x1 + .byte 0x4 + .byte 0x5 + .4byte .LASF615 + .uleb128 0x4 + .4byte .LASF620 + .byte 0x2 + .byte 0x4f + .byte 0x1b + .4byte 0x59 + .uleb128 0x1 + .byte 0x4 + .byte 0x7 + .4byte .LASF616 + .uleb128 0x1 + .byte 0x8 + .byte 0x5 + .4byte .LASF617 + .uleb128 0x1 + .byte 0x8 + .byte 0x7 + .4byte .LASF618 + .uleb128 0x8 + .byte 0x4 + .byte 0x5 + .ascii "int\000" + .uleb128 0x1 + .byte 0x4 + .byte 0x7 + .4byte .LASF619 + .uleb128 0x4 + .4byte .LASF621 + .byte 0x3 + .byte 0x30 + .byte 0x14 + .4byte 0x4d + .uleb128 0x9 + .4byte 0xa2 + .4byte 0x98 + .uleb128 0xa + .4byte 0x75 + .byte 0x65 + .byte 0 + .uleb128 0x5 + .4byte 0x88 + .uleb128 0x6 + .4byte 0xa7 + .uleb128 0x5 + .4byte 0x9d + .uleb128 0xb + .uleb128 0xc + .4byte .LASF622 + .byte 0x1 + .byte 0x1f + .byte 0xe + .4byte 0x98 + .uleb128 0x5 + .byte 0x3 + .4byte interrupt_vector_table + .uleb128 0xd + .4byte .LASF631 + .byte 0x1 + .byte 0x3 + .byte 0xd + .uleb128 0xe + .4byte .LASF632 + .byte 0x1 + .byte 0x4 + .byte 0xc + .4byte 0x6e + .uleb128 0xf + .4byte .LASF633 + .byte 0x1 + .byte 0x14 + .byte 0x6 + .4byte .LFB1 + .4byte .LFE1-.LFB1 + .uleb128 0x1 + .byte 0x9c + .uleb128 0x10 + .4byte .LASF634 + .byte 0x1 + .byte 0x6 + .byte 0x6 + .4byte .LFB0 + .4byte .LFE0-.LFB0 + .uleb128 0x1 + .byte 0x9c + .4byte 0x170 + .uleb128 0x2 + .4byte .LASF623 + .byte 0x8 + .byte 0x13 + .4byte 0x7c + .uleb128 0x2 + .4byte .LASF624 + .byte 0x8 + .byte 0x20 + .4byte 0x7c + .uleb128 0x2 + .4byte .LASF625 + .byte 0x8 + .byte 0x2b + .4byte 0x7c + .uleb128 0x2 + .4byte .LASF626 + .byte 0xe + .byte 0x13 + .4byte 0x7c + .uleb128 0x2 + .4byte .LASF627 + .byte 0xe + .byte 0x1f + .4byte 0x7c + .uleb128 0x11 + .4byte .LBB2 + .4byte .LBE2-.LBB2 + .4byte 0x157 + .uleb128 0x3 + .ascii "dst\000" + .byte 0x9 + .byte 0x12 + .4byte 0x170 + .uleb128 0x2 + .byte 0x91 + .sleb128 -12 + .uleb128 0x3 + .ascii "src\000" + .byte 0x9 + .byte 0x27 + .4byte 0x170 + .uleb128 0x2 + .byte 0x91 + .sleb128 -16 + .byte 0 + .uleb128 0x12 + .4byte .LBB3 + .4byte .LBE3-.LBB3 + .uleb128 0x3 + .ascii "dst\000" + .byte 0xf + .byte 0x12 + .4byte 0x170 + .uleb128 0x2 + .byte 0x91 + .sleb128 -20 + .byte 0 + .byte 0 + .uleb128 0x6 + .4byte 0x7c + .byte 0 + .section .debug_abbrev,"",%progbits +.Ldebug_abbrev0: + .uleb128 0x1 + .uleb128 0x24 + .byte 0 + .uleb128 0xb + .uleb128 0xb + .uleb128 0x3e + .uleb128 0xb + .uleb128 0x3 + .uleb128 0xe + .byte 0 + .byte 0 + .uleb128 0x2 + .uleb128 0x34 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0x21 + .sleb128 1 + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3c + .uleb128 0x19 + .byte 0 + .byte 0 + .uleb128 0x3 + .uleb128 0x34 + .byte 0 + .uleb128 0x3 + .uleb128 0x8 + .uleb128 0x3a + .uleb128 0x21 + .sleb128 1 + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x2 + .uleb128 0x18 + .byte 0 + .byte 0 + .uleb128 0x4 + .uleb128 0x16 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x5 + .uleb128 0x26 + .byte 0 + .uleb128 0x49 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x6 + .uleb128 0xf + .byte 0 + .uleb128 0xb + .uleb128 0x21 + .sleb128 4 + .uleb128 0x49 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x7 + .uleb128 0x11 + .byte 0x1 + .uleb128 0x25 + .uleb128 0xe + .uleb128 0x13 + .uleb128 0xb + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x1b + .uleb128 0xe + .uleb128 0x55 + .uleb128 0x17 + .uleb128 0x11 + .uleb128 0x1 + .uleb128 0x10 + .uleb128 0x17 + .uleb128 0x79 + .uleb128 0x17 + .byte 0 + .byte 0 + .uleb128 0x8 + .uleb128 0x24 + .byte 0 + .uleb128 0xb + .uleb128 0xb + .uleb128 0x3e + .uleb128 0xb + .uleb128 0x3 + .uleb128 0x8 + .byte 0 + .byte 0 + .uleb128 0x9 + .uleb128 0x1 + .byte 0x1 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0xa + .uleb128 0x21 + .byte 0 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x2f + .uleb128 0xb + .byte 0 + .byte 0 + .uleb128 0xb + .uleb128 0x15 + .byte 0 + .uleb128 0x27 + .uleb128 0x19 + .byte 0 + .byte 0 + .uleb128 0xc + .uleb128 0x34 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x2 + .uleb128 0x18 + .byte 0 + .byte 0 + .uleb128 0xd + .uleb128 0x2e + .byte 0 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x27 + .uleb128 0x19 + .uleb128 0x3c + .uleb128 0x19 + .byte 0 + .byte 0 + .uleb128 0xe + .uleb128 0x2e + .byte 0 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x27 + .uleb128 0x19 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x3c + .uleb128 0x19 + .byte 0 + .byte 0 + .uleb128 0xf + .uleb128 0x2e + .byte 0 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x27 + .uleb128 0x19 + .uleb128 0x11 + .uleb128 0x1 + .uleb128 0x12 + .uleb128 0x6 + .uleb128 0x40 + .uleb128 0x18 + .uleb128 0x7c + .uleb128 0x19 + .byte 0 + .byte 0 + .uleb128 0x10 + .uleb128 0x2e + .byte 0x1 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x27 + .uleb128 0x19 + .uleb128 0x11 + .uleb128 0x1 + .uleb128 0x12 + .uleb128 0x6 + .uleb128 0x40 + .uleb128 0x18 + .uleb128 0x7a + .uleb128 0x19 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x11 + .uleb128 0xb + .byte 0x1 + .uleb128 0x11 + .uleb128 0x1 + .uleb128 0x12 + .uleb128 0x6 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x12 + .uleb128 0xb + .byte 0x1 + .uleb128 0x11 + .uleb128 0x1 + .uleb128 0x12 + .uleb128 0x6 + .byte 0 + .byte 0 + .byte 0 + .section .debug_aranges,"",%progbits + .4byte 0x24 + .2byte 0x2 + .4byte .Ldebug_info0 + .byte 0x4 + .byte 0 + .2byte 0 + .2byte 0 + .4byte .LFB0 + .4byte .LFE0-.LFB0 + .4byte .LFB1 + .4byte .LFE1-.LFB1 + .4byte 0 + .4byte 0 + .section .debug_rnglists,"",%progbits +.Ldebug_ranges0: + .4byte .Ldebug_ranges3-.Ldebug_ranges2 +.Ldebug_ranges2: + .2byte 0x5 + .byte 0x4 + .byte 0 + .4byte 0 +.LLRL0: + .byte 0x7 + .4byte .LFB0 + .uleb128 .LFE0-.LFB0 + .byte 0x7 + .4byte .LFB1 + .uleb128 .LFE1-.LFB1 + .byte 0 +.Ldebug_ranges3: + .section .debug_macro,"",%progbits +.Ldebug_macro0: + .2byte 0x5 + .byte 0x2 + .4byte .Ldebug_line0 + .byte 0x3 + .uleb128 0 + .uleb128 0x1 + .byte 0x5 + .uleb128 0 + .4byte .LASF0 + .byte 0x5 + .uleb128 0 + .4byte .LASF1 + .byte 0x5 + .uleb128 0 + .4byte .LASF2 + .byte 0x5 + .uleb128 0 + .4byte .LASF3 + .byte 0x5 + .uleb128 0 + .4byte .LASF4 + .byte 0x5 + .uleb128 0 + .4byte .LASF5 + .byte 0x5 + .uleb128 0 + .4byte .LASF6 + .byte 0x5 + .uleb128 0 + .4byte .LASF7 + .byte 0x5 + .uleb128 0 + .4byte .LASF8 + .byte 0x5 + .uleb128 0 + .4byte .LASF9 + .byte 0x5 + .uleb128 0 + .4byte .LASF10 + .byte 0x5 + .uleb128 0 + .4byte .LASF11 + .byte 0x5 + .uleb128 0 + .4byte .LASF12 + .byte 0x5 + .uleb128 0 + .4byte .LASF13 + .byte 0x5 + .uleb128 0 + .4byte .LASF14 + .byte 0x5 + .uleb128 0 + .4byte .LASF15 + .byte 0x5 + .uleb128 0 + .4byte .LASF16 + .byte 0x5 + .uleb128 0 + .4byte .LASF17 + .byte 0x5 + .uleb128 0 + .4byte .LASF18 + .byte 0x5 + .uleb128 0 + .4byte .LASF19 + .byte 0x5 + .uleb128 0 + .4byte .LASF20 + .byte 0x5 + .uleb128 0 + .4byte .LASF21 + .byte 0x5 + .uleb128 0 + .4byte .LASF22 + .byte 0x5 + .uleb128 0 + .4byte .LASF23 + .byte 0x5 + .uleb128 0 + .4byte .LASF24 + .byte 0x5 + .uleb128 0 + .4byte .LASF25 + .byte 0x5 + .uleb128 0 + .4byte .LASF26 + .byte 0x5 + .uleb128 0 + .4byte .LASF27 + .byte 0x5 + .uleb128 0 + .4byte .LASF28 + .byte 0x5 + .uleb128 0 + .4byte .LASF29 + .byte 0x5 + .uleb128 0 + .4byte .LASF30 + .byte 0x5 + .uleb128 0 + .4byte .LASF31 + .byte 0x5 + .uleb128 0 + .4byte .LASF32 + .byte 0x5 + .uleb128 0 + .4byte .LASF33 + .byte 0x5 + .uleb128 0 + .4byte .LASF34 + .byte 0x5 + .uleb128 0 + .4byte .LASF35 + .byte 0x5 + .uleb128 0 + .4byte .LASF36 + .byte 0x5 + .uleb128 0 + .4byte .LASF37 + .byte 0x5 + .uleb128 0 + .4byte .LASF38 + .byte 0x5 + .uleb128 0 + .4byte .LASF39 + .byte 0x5 + .uleb128 0 + .4byte .LASF40 + .byte 0x5 + .uleb128 0 + .4byte .LASF41 + .byte 0x5 + .uleb128 0 + .4byte .LASF42 + .byte 0x5 + .uleb128 0 + .4byte .LASF43 + .byte 0x5 + .uleb128 0 + .4byte .LASF44 + .byte 0x5 + .uleb128 0 + .4byte .LASF45 + .byte 0x5 + .uleb128 0 + .4byte .LASF46 + .byte 0x5 + .uleb128 0 + .4byte .LASF47 + .byte 0x5 + .uleb128 0 + .4byte .LASF48 + .byte 0x5 + .uleb128 0 + .4byte .LASF49 + .byte 0x5 + .uleb128 0 + .4byte .LASF50 + .byte 0x5 + .uleb128 0 + .4byte .LASF51 + .byte 0x5 + .uleb128 0 + .4byte .LASF52 + .byte 0x5 + .uleb128 0 + .4byte .LASF53 + .byte 0x5 + .uleb128 0 + .4byte .LASF54 + .byte 0x5 + .uleb128 0 + .4byte .LASF55 + .byte 0x5 + .uleb128 0 + .4byte .LASF56 + .byte 0x5 + .uleb128 0 + .4byte .LASF57 + .byte 0x5 + .uleb128 0 + .4byte .LASF58 + .byte 0x5 + .uleb128 0 + .4byte .LASF59 + .byte 0x5 + .uleb128 0 + .4byte .LASF60 + .byte 0x5 + .uleb128 0 + .4byte .LASF61 + .byte 0x5 + .uleb128 0 + .4byte .LASF62 + .byte 0x5 + .uleb128 0 + .4byte .LASF63 + .byte 0x5 + .uleb128 0 + .4byte .LASF64 + .byte 0x5 + .uleb128 0 + .4byte .LASF65 + .byte 0x5 + .uleb128 0 + .4byte .LASF66 + .byte 0x5 + .uleb128 0 + .4byte .LASF67 + .byte 0x5 + .uleb128 0 + .4byte .LASF68 + .byte 0x5 + .uleb128 0 + .4byte .LASF69 + .byte 0x5 + .uleb128 0 + .4byte .LASF70 + .byte 0x5 + .uleb128 0 + .4byte .LASF71 + .byte 0x5 + .uleb128 0 + .4byte .LASF72 + .byte 0x5 + .uleb128 0 + .4byte .LASF73 + .byte 0x5 + .uleb128 0 + .4byte .LASF74 + .byte 0x5 + .uleb128 0 + .4byte .LASF75 + .byte 0x5 + .uleb128 0 + .4byte .LASF76 + .byte 0x5 + .uleb128 0 + .4byte .LASF77 + .byte 0x5 + .uleb128 0 + .4byte .LASF78 + .byte 0x5 + .uleb128 0 + .4byte .LASF79 + .byte 0x5 + .uleb128 0 + .4byte .LASF80 + .byte 0x5 + .uleb128 0 + .4byte .LASF81 + .byte 0x5 + .uleb128 0 + .4byte .LASF82 + .byte 0x5 + .uleb128 0 + .4byte .LASF83 + .byte 0x5 + .uleb128 0 + .4byte .LASF84 + .byte 0x5 + .uleb128 0 + .4byte .LASF85 + .byte 0x5 + .uleb128 0 + .4byte .LASF86 + .byte 0x5 + .uleb128 0 + .4byte .LASF87 + .byte 0x5 + .uleb128 0 + .4byte .LASF88 + .byte 0x5 + .uleb128 0 + .4byte .LASF89 + .byte 0x5 + .uleb128 0 + .4byte .LASF90 + .byte 0x5 + .uleb128 0 + .4byte .LASF91 + .byte 0x5 + .uleb128 0 + .4byte .LASF92 + .byte 0x5 + .uleb128 0 + .4byte .LASF93 + .byte 0x5 + .uleb128 0 + .4byte .LASF94 + .byte 0x5 + .uleb128 0 + .4byte .LASF95 + .byte 0x5 + .uleb128 0 + .4byte .LASF96 + .byte 0x5 + .uleb128 0 + .4byte .LASF97 + .byte 0x5 + .uleb128 0 + .4byte .LASF98 + .byte 0x5 + .uleb128 0 + .4byte .LASF99 + .byte 0x5 + .uleb128 0 + .4byte .LASF100 + .byte 0x5 + .uleb128 0 + .4byte .LASF101 + .byte 0x5 + .uleb128 0 + .4byte .LASF102 + .byte 0x5 + .uleb128 0 + .4byte .LASF103 + .byte 0x5 + .uleb128 0 + .4byte .LASF104 + .byte 0x5 + .uleb128 0 + .4byte .LASF105 + .byte 0x5 + .uleb128 0 + .4byte .LASF106 + .byte 0x5 + .uleb128 0 + .4byte .LASF107 + .byte 0x5 + .uleb128 0 + .4byte .LASF108 + .byte 0x5 + .uleb128 0 + .4byte .LASF109 + .byte 0x5 + .uleb128 0 + .4byte .LASF110 + .byte 0x5 + .uleb128 0 + .4byte .LASF111 + .byte 0x5 + .uleb128 0 + .4byte .LASF112 + .byte 0x5 + .uleb128 0 + .4byte .LASF113 + .byte 0x5 + .uleb128 0 + .4byte .LASF114 + .byte 0x5 + .uleb128 0 + .4byte .LASF115 + .byte 0x5 + .uleb128 0 + .4byte .LASF116 + .byte 0x5 + .uleb128 0 + .4byte .LASF117 + .byte 0x5 + .uleb128 0 + .4byte .LASF118 + .byte 0x5 + .uleb128 0 + .4byte .LASF119 + .byte 0x5 + .uleb128 0 + .4byte .LASF120 + .byte 0x5 + .uleb128 0 + .4byte .LASF121 + .byte 0x5 + .uleb128 0 + .4byte .LASF122 + .byte 0x5 + .uleb128 0 + .4byte .LASF123 + .byte 0x5 + .uleb128 0 + .4byte .LASF124 + .byte 0x5 + .uleb128 0 + .4byte .LASF125 + .byte 0x5 + .uleb128 0 + .4byte .LASF126 + .byte 0x5 + .uleb128 0 + .4byte .LASF127 + .byte 0x5 + .uleb128 0 + .4byte .LASF128 + .byte 0x5 + .uleb128 0 + .4byte .LASF129 + .byte 0x5 + .uleb128 0 + .4byte .LASF130 + .byte 0x5 + .uleb128 0 + .4byte .LASF131 + .byte 0x5 + .uleb128 0 + .4byte .LASF132 + .byte 0x5 + .uleb128 0 + .4byte .LASF133 + .byte 0x5 + .uleb128 0 + .4byte .LASF134 + .byte 0x5 + .uleb128 0 + .4byte .LASF135 + .byte 0x5 + .uleb128 0 + .4byte .LASF136 + .byte 0x5 + .uleb128 0 + .4byte .LASF137 + .byte 0x5 + .uleb128 0 + .4byte .LASF138 + .byte 0x5 + .uleb128 0 + .4byte .LASF139 + .byte 0x5 + .uleb128 0 + .4byte .LASF140 + .byte 0x5 + .uleb128 0 + .4byte .LASF141 + .byte 0x5 + .uleb128 0 + .4byte .LASF142 + .byte 0x5 + .uleb128 0 + .4byte .LASF143 + .byte 0x5 + .uleb128 0 + .4byte .LASF144 + .byte 0x5 + .uleb128 0 + .4byte .LASF145 + .byte 0x5 + .uleb128 0 + .4byte .LASF146 + .byte 0x5 + .uleb128 0 + .4byte .LASF147 + .byte 0x5 + .uleb128 0 + .4byte .LASF148 + .byte 0x5 + .uleb128 0 + .4byte .LASF149 + .byte 0x5 + .uleb128 0 + .4byte .LASF150 + .byte 0x5 + .uleb128 0 + .4byte .LASF151 + .byte 0x5 + .uleb128 0 + .4byte .LASF152 + .byte 0x5 + .uleb128 0 + .4byte .LASF153 + .byte 0x5 + .uleb128 0 + .4byte .LASF154 + .byte 0x5 + .uleb128 0 + .4byte .LASF155 + .byte 0x5 + .uleb128 0 + .4byte .LASF156 + .byte 0x5 + .uleb128 0 + .4byte .LASF157 + .byte 0x5 + .uleb128 0 + .4byte .LASF158 + .byte 0x5 + .uleb128 0 + .4byte .LASF159 + .byte 0x5 + .uleb128 0 + .4byte .LASF160 + .byte 0x5 + .uleb128 0 + .4byte .LASF161 + .byte 0x5 + .uleb128 0 + .4byte .LASF162 + .byte 0x5 + .uleb128 0 + .4byte .LASF163 + .byte 0x5 + .uleb128 0 + .4byte .LASF164 + .byte 0x5 + .uleb128 0 + .4byte .LASF165 + .byte 0x5 + .uleb128 0 + .4byte .LASF166 + .byte 0x5 + .uleb128 0 + .4byte .LASF167 + .byte 0x5 + .uleb128 0 + .4byte .LASF168 + .byte 0x5 + .uleb128 0 + .4byte .LASF169 + .byte 0x5 + .uleb128 0 + .4byte .LASF170 + .byte 0x5 + .uleb128 0 + .4byte .LASF171 + .byte 0x5 + .uleb128 0 + .4byte .LASF172 + .byte 0x5 + .uleb128 0 + .4byte .LASF173 + .byte 0x5 + .uleb128 0 + .4byte .LASF174 + .byte 0x5 + .uleb128 0 + .4byte .LASF175 + .byte 0x5 + .uleb128 0 + .4byte .LASF176 + .byte 0x5 + .uleb128 0 + .4byte .LASF177 + .byte 0x5 + .uleb128 0 + .4byte .LASF178 + .byte 0x5 + .uleb128 0 + .4byte .LASF179 + .byte 0x5 + .uleb128 0 + .4byte .LASF180 + .byte 0x5 + .uleb128 0 + .4byte .LASF181 + .byte 0x5 + .uleb128 0 + .4byte .LASF182 + .byte 0x5 + .uleb128 0 + .4byte .LASF183 + .byte 0x5 + .uleb128 0 + .4byte .LASF184 + .byte 0x5 + .uleb128 0 + .4byte .LASF185 + .byte 0x5 + .uleb128 0 + .4byte .LASF186 + .byte 0x5 + .uleb128 0 + .4byte .LASF187 + .byte 0x5 + .uleb128 0 + .4byte .LASF188 + .byte 0x5 + .uleb128 0 + .4byte .LASF189 + .byte 0x5 + .uleb128 0 + .4byte .LASF190 + .byte 0x5 + .uleb128 0 + .4byte .LASF191 + .byte 0x5 + .uleb128 0 + .4byte .LASF192 + .byte 0x5 + .uleb128 0 + .4byte .LASF193 + .byte 0x5 + .uleb128 0 + .4byte .LASF194 + .byte 0x5 + .uleb128 0 + .4byte .LASF195 + .byte 0x5 + .uleb128 0 + .4byte .LASF196 + .byte 0x5 + .uleb128 0 + .4byte .LASF197 + .byte 0x5 + .uleb128 0 + .4byte .LASF198 + .byte 0x5 + .uleb128 0 + .4byte .LASF199 + .byte 0x5 + .uleb128 0 + .4byte .LASF200 + .byte 0x5 + .uleb128 0 + .4byte .LASF201 + .byte 0x5 + .uleb128 0 + .4byte .LASF202 + .byte 0x5 + .uleb128 0 + .4byte .LASF203 + .byte 0x5 + .uleb128 0 + .4byte .LASF204 + .byte 0x5 + .uleb128 0 + .4byte .LASF205 + .byte 0x5 + .uleb128 0 + .4byte .LASF206 + .byte 0x5 + .uleb128 0 + .4byte .LASF207 + .byte 0x5 + .uleb128 0 + .4byte .LASF208 + .byte 0x5 + .uleb128 0 + .4byte .LASF209 + .byte 0x5 + .uleb128 0 + .4byte .LASF210 + .byte 0x5 + .uleb128 0 + .4byte .LASF211 + .byte 0x5 + .uleb128 0 + .4byte .LASF212 + .byte 0x5 + .uleb128 0 + .4byte .LASF213 + .byte 0x5 + .uleb128 0 + .4byte .LASF214 + .byte 0x5 + .uleb128 0 + .4byte .LASF215 + .byte 0x5 + .uleb128 0 + .4byte .LASF216 + .byte 0x5 + .uleb128 0 + .4byte .LASF217 + .byte 0x5 + .uleb128 0 + .4byte .LASF218 + .byte 0x5 + .uleb128 0 + .4byte .LASF219 + .byte 0x5 + .uleb128 0 + .4byte .LASF220 + .byte 0x5 + .uleb128 0 + .4byte .LASF221 + .byte 0x5 + .uleb128 0 + .4byte .LASF222 + .byte 0x5 + .uleb128 0 + .4byte .LASF223 + .byte 0x5 + .uleb128 0 + .4byte .LASF224 + .byte 0x5 + .uleb128 0 + .4byte .LASF225 + .byte 0x5 + .uleb128 0 + .4byte .LASF226 + .byte 0x5 + .uleb128 0 + .4byte .LASF227 + .byte 0x5 + .uleb128 0 + .4byte .LASF228 + .byte 0x5 + .uleb128 0 + .4byte .LASF229 + .byte 0x5 + .uleb128 0 + .4byte .LASF230 + .byte 0x5 + .uleb128 0 + .4byte .LASF231 + .byte 0x5 + .uleb128 0 + .4byte .LASF232 + .byte 0x5 + .uleb128 0 + .4byte .LASF233 + .byte 0x5 + .uleb128 0 + .4byte .LASF234 + .byte 0x5 + .uleb128 0 + .4byte .LASF235 + .byte 0x5 + .uleb128 0 + .4byte .LASF236 + .byte 0x5 + .uleb128 0 + .4byte .LASF237 + .byte 0x5 + .uleb128 0 + .4byte .LASF238 + .byte 0x5 + .uleb128 0 + .4byte .LASF239 + .byte 0x5 + .uleb128 0 + .4byte .LASF240 + .byte 0x5 + .uleb128 0 + .4byte .LASF241 + .byte 0x5 + .uleb128 0 + .4byte .LASF242 + .byte 0x5 + .uleb128 0 + .4byte .LASF243 + .byte 0x5 + .uleb128 0 + .4byte .LASF244 + .byte 0x5 + .uleb128 0 + .4byte .LASF245 + .byte 0x5 + .uleb128 0 + .4byte .LASF246 + .byte 0x5 + .uleb128 0 + .4byte .LASF247 + .byte 0x5 + .uleb128 0 + .4byte .LASF248 + .byte 0x5 + .uleb128 0 + .4byte .LASF249 + .byte 0x5 + .uleb128 0 + .4byte .LASF250 + .byte 0x5 + .uleb128 0 + .4byte .LASF251 + .byte 0x5 + .uleb128 0 + .4byte .LASF252 + .byte 0x5 + .uleb128 0 + .4byte .LASF253 + .byte 0x5 + .uleb128 0 + .4byte .LASF254 + .byte 0x5 + .uleb128 0 + .4byte .LASF255 + .byte 0x5 + .uleb128 0 + .4byte .LASF256 + .byte 0x5 + .uleb128 0 + .4byte .LASF257 + .byte 0x5 + .uleb128 0 + .4byte .LASF258 + .byte 0x5 + .uleb128 0 + .4byte .LASF259 + .byte 0x5 + .uleb128 0 + .4byte .LASF260 + .byte 0x5 + .uleb128 0 + .4byte .LASF261 + .byte 0x5 + .uleb128 0 + .4byte .LASF262 + .byte 0x5 + .uleb128 0 + .4byte .LASF263 + .byte 0x5 + .uleb128 0 + .4byte .LASF264 + .byte 0x5 + .uleb128 0 + .4byte .LASF265 + .byte 0x5 + .uleb128 0 + .4byte .LASF266 + .byte 0x5 + .uleb128 0 + .4byte .LASF267 + .byte 0x5 + .uleb128 0 + .4byte .LASF268 + .byte 0x5 + .uleb128 0 + .4byte .LASF269 + .byte 0x5 + .uleb128 0 + .4byte .LASF270 + .byte 0x5 + .uleb128 0 + .4byte .LASF271 + .byte 0x5 + .uleb128 0 + .4byte .LASF272 + .byte 0x5 + .uleb128 0 + .4byte .LASF273 + .byte 0x5 + .uleb128 0 + .4byte .LASF274 + .byte 0x5 + .uleb128 0 + .4byte .LASF275 + .byte 0x5 + .uleb128 0 + .4byte .LASF276 + .byte 0x5 + .uleb128 0 + .4byte .LASF277 + .byte 0x5 + .uleb128 0 + .4byte .LASF278 + .byte 0x5 + .uleb128 0 + .4byte .LASF279 + .byte 0x5 + .uleb128 0 + .4byte .LASF280 + .byte 0x5 + .uleb128 0 + .4byte .LASF281 + .byte 0x5 + .uleb128 0 + .4byte .LASF282 + .byte 0x5 + .uleb128 0 + .4byte .LASF283 + .byte 0x5 + .uleb128 0 + .4byte .LASF284 + .byte 0x5 + .uleb128 0 + .4byte .LASF285 + .byte 0x5 + .uleb128 0 + .4byte .LASF286 + .byte 0x5 + .uleb128 0 + .4byte .LASF287 + .byte 0x5 + .uleb128 0 + .4byte .LASF288 + .byte 0x5 + .uleb128 0 + .4byte .LASF289 + .byte 0x5 + .uleb128 0 + .4byte .LASF290 + .byte 0x5 + .uleb128 0 + .4byte .LASF291 + .byte 0x5 + .uleb128 0 + .4byte .LASF292 + .byte 0x5 + .uleb128 0 + .4byte .LASF293 + .byte 0x5 + .uleb128 0 + .4byte .LASF294 + .byte 0x5 + .uleb128 0 + .4byte .LASF295 + .byte 0x5 + .uleb128 0 + .4byte .LASF296 + .byte 0x5 + .uleb128 0 + .4byte .LASF297 + .byte 0x5 + .uleb128 0 + .4byte .LASF298 + .byte 0x5 + .uleb128 0 + .4byte .LASF299 + .byte 0x5 + .uleb128 0 + .4byte .LASF300 + .byte 0x5 + .uleb128 0 + .4byte .LASF301 + .byte 0x5 + .uleb128 0 + .4byte .LASF302 + .byte 0x5 + .uleb128 0 + .4byte .LASF303 + .byte 0x5 + .uleb128 0 + .4byte .LASF304 + .byte 0x5 + .uleb128 0 + .4byte .LASF305 + .byte 0x5 + .uleb128 0 + .4byte .LASF306 + .byte 0x5 + .uleb128 0 + .4byte .LASF307 + .byte 0x5 + .uleb128 0 + .4byte .LASF308 + .byte 0x5 + .uleb128 0 + .4byte .LASF309 + .byte 0x5 + .uleb128 0 + .4byte .LASF310 + .byte 0x5 + .uleb128 0 + .4byte .LASF311 + .byte 0x5 + .uleb128 0 + .4byte .LASF312 + .byte 0x5 + .uleb128 0 + .4byte .LASF313 + .byte 0x5 + .uleb128 0 + .4byte .LASF314 + .byte 0x5 + .uleb128 0 + .4byte .LASF315 + .byte 0x5 + .uleb128 0 + .4byte .LASF316 + .byte 0x5 + .uleb128 0 + .4byte .LASF317 + .byte 0x5 + .uleb128 0 + .4byte .LASF318 + .byte 0x5 + .uleb128 0 + .4byte .LASF319 + .byte 0x5 + .uleb128 0 + .4byte .LASF320 + .byte 0x5 + .uleb128 0 + .4byte .LASF321 + .byte 0x5 + .uleb128 0 + .4byte .LASF322 + .byte 0x5 + .uleb128 0 + .4byte .LASF323 + .byte 0x5 + .uleb128 0 + .4byte .LASF324 + .byte 0x5 + .uleb128 0 + .4byte .LASF325 + .byte 0x5 + .uleb128 0 + .4byte .LASF326 + .byte 0x5 + .uleb128 0 + .4byte .LASF327 + .byte 0x5 + .uleb128 0 + .4byte .LASF328 + .byte 0x5 + .uleb128 0 + .4byte .LASF329 + .byte 0x5 + .uleb128 0 + .4byte .LASF330 + .byte 0x5 + .uleb128 0 + .4byte .LASF331 + .byte 0x5 + .uleb128 0 + .4byte .LASF332 + .byte 0x5 + .uleb128 0 + .4byte .LASF333 + .byte 0x5 + .uleb128 0 + .4byte .LASF334 + .byte 0x5 + .uleb128 0 + .4byte .LASF335 + .byte 0x5 + .uleb128 0 + .4byte .LASF336 + .byte 0x5 + .uleb128 0 + .4byte .LASF337 + .byte 0x5 + .uleb128 0 + .4byte .LASF338 + .byte 0x5 + .uleb128 0 + .4byte .LASF339 + .byte 0x5 + .uleb128 0 + .4byte .LASF340 + .byte 0x5 + .uleb128 0 + .4byte .LASF341 + .byte 0x5 + .uleb128 0 + .4byte .LASF342 + .byte 0x5 + .uleb128 0 + .4byte .LASF343 + .byte 0x5 + .uleb128 0 + .4byte .LASF344 + .byte 0x5 + .uleb128 0 + .4byte .LASF345 + .byte 0x5 + .uleb128 0 + .4byte .LASF346 + .byte 0x5 + .uleb128 0 + .4byte .LASF347 + .byte 0x5 + .uleb128 0 + .4byte .LASF348 + .byte 0x5 + .uleb128 0 + .4byte .LASF349 + .byte 0x5 + .uleb128 0 + .4byte .LASF350 + .byte 0x5 + .uleb128 0 + .4byte .LASF351 + .byte 0x5 + .uleb128 0 + .4byte .LASF352 + .byte 0x5 + .uleb128 0 + .4byte .LASF353 + .byte 0x5 + .uleb128 0 + .4byte .LASF354 + .byte 0x5 + .uleb128 0 + .4byte .LASF355 + .byte 0x5 + .uleb128 0 + .4byte .LASF356 + .byte 0x5 + .uleb128 0 + .4byte .LASF357 + .byte 0x5 + .uleb128 0 + .4byte .LASF358 + .byte 0x5 + .uleb128 0 + .4byte .LASF359 + .byte 0x5 + .uleb128 0 + .4byte .LASF360 + .byte 0x5 + .uleb128 0 + .4byte .LASF361 + .byte 0x5 + .uleb128 0 + .4byte .LASF362 + .byte 0x5 + .uleb128 0 + .4byte .LASF363 + .byte 0x5 + .uleb128 0 + .4byte .LASF364 + .byte 0x5 + .uleb128 0 + .4byte .LASF365 + .byte 0x5 + .uleb128 0 + .4byte .LASF366 + .byte 0x5 + .uleb128 0 + .4byte .LASF367 + .byte 0x5 + .uleb128 0 + .4byte .LASF368 + .byte 0x5 + .uleb128 0 + .4byte .LASF369 + .byte 0x5 + .uleb128 0 + .4byte .LASF370 + .byte 0x5 + .uleb128 0 + .4byte .LASF371 + .byte 0x5 + .uleb128 0 + .4byte .LASF372 + .byte 0x5 + .uleb128 0 + .4byte .LASF373 + .byte 0x5 + .uleb128 0 + .4byte .LASF374 + .byte 0x5 + .uleb128 0 + .4byte .LASF375 + .byte 0x5 + .uleb128 0 + .4byte .LASF376 + .byte 0x5 + .uleb128 0 + .4byte .LASF377 + .byte 0x5 + .uleb128 0 + .4byte .LASF378 + .byte 0x5 + .uleb128 0 + .4byte .LASF379 + .byte 0x5 + .uleb128 0 + .4byte .LASF380 + .byte 0x5 + .uleb128 0 + .4byte .LASF381 + .byte 0x5 + .uleb128 0 + .4byte .LASF382 + .byte 0x5 + .uleb128 0 + .4byte .LASF383 + .byte 0x5 + .uleb128 0 + .4byte .LASF384 + .byte 0x5 + .uleb128 0 + .4byte .LASF385 + .byte 0x5 + .uleb128 0 + .4byte .LASF386 + .byte 0x5 + .uleb128 0 + .4byte .LASF387 + .byte 0x5 + .uleb128 0 + .4byte .LASF388 + .byte 0x5 + .uleb128 0 + .4byte .LASF389 + .byte 0x5 + .uleb128 0 + .4byte .LASF390 + .byte 0x5 + .uleb128 0 + .4byte .LASF391 + .byte 0x6 + .uleb128 0 + .4byte .LASF392 + .byte 0x5 + .uleb128 0 + .4byte .LASF393 + .byte 0x6 + .uleb128 0 + .4byte .LASF394 + .byte 0x6 + .uleb128 0 + .4byte .LASF395 + .byte 0x6 + .uleb128 0 + .4byte .LASF396 + .byte 0x6 + .uleb128 0 + .4byte .LASF397 + .byte 0x5 + .uleb128 0 + .4byte .LASF398 + .byte 0x6 + .uleb128 0 + .4byte .LASF399 + .byte 0x6 + .uleb128 0 + .4byte .LASF400 + .byte 0x6 + .uleb128 0 + .4byte .LASF401 + .byte 0x5 + .uleb128 0 + .4byte .LASF402 + .byte 0x5 + .uleb128 0 + .4byte .LASF403 + .byte 0x6 + .uleb128 0 + .4byte .LASF404 + .byte 0x5 + .uleb128 0 + .4byte .LASF405 + .byte 0x5 + .uleb128 0 + .4byte .LASF406 + .byte 0x5 + .uleb128 0 + .4byte .LASF407 + .byte 0x6 + .uleb128 0 + .4byte .LASF408 + .byte 0x5 + .uleb128 0 + .4byte .LASF409 + .byte 0x5 + .uleb128 0 + .4byte .LASF410 + .byte 0x6 + .uleb128 0 + .4byte .LASF411 + .byte 0x5 + .uleb128 0 + .4byte .LASF412 + .byte 0x5 + .uleb128 0 + .4byte .LASF413 + .byte 0x5 + .uleb128 0 + .4byte .LASF414 + .byte 0x5 + .uleb128 0 + .4byte .LASF415 + .byte 0x5 + .uleb128 0 + .4byte .LASF416 + .byte 0x5 + .uleb128 0 + .4byte .LASF417 + .byte 0x6 + .uleb128 0 + .4byte .LASF418 + .byte 0x5 + .uleb128 0 + .4byte .LASF419 + .byte 0x5 + .uleb128 0 + .4byte .LASF420 + .byte 0x5 + .uleb128 0 + .4byte .LASF421 + .byte 0x6 + .uleb128 0 + .4byte .LASF422 + .byte 0x5 + .uleb128 0 + .4byte .LASF423 + .byte 0x6 + .uleb128 0 + .4byte .LASF424 + .byte 0x6 + .uleb128 0 + .4byte .LASF425 + .byte 0x6 + .uleb128 0 + .4byte .LASF426 + .byte 0x6 + .uleb128 0 + .4byte .LASF427 + .byte 0x6 + .uleb128 0 + .4byte .LASF428 + .byte 0x6 + .uleb128 0 + .4byte .LASF429 + .byte 0x5 + .uleb128 0 + .4byte .LASF430 + .byte 0x6 + .uleb128 0 + .4byte .LASF431 + .byte 0x6 + .uleb128 0 + .4byte .LASF432 + .byte 0x6 + .uleb128 0 + .4byte .LASF433 + .byte 0x5 + .uleb128 0 + .4byte .LASF434 + .byte 0x5 + .uleb128 0 + .4byte .LASF435 + .byte 0x5 + .uleb128 0 + .4byte .LASF436 + .byte 0x5 + .uleb128 0 + .4byte .LASF437 + .byte 0x6 + .uleb128 0 + .4byte .LASF438 + .byte 0x5 + .uleb128 0 + .4byte .LASF439 + .byte 0x5 + .uleb128 0 + .4byte .LASF440 + .byte 0x5 + .uleb128 0 + .4byte .LASF441 + .byte 0x6 + .uleb128 0 + .4byte .LASF442 + .byte 0x5 + .uleb128 0 + .4byte .LASF443 + .byte 0x6 + .uleb128 0 + .4byte .LASF444 + .byte 0x6 + .uleb128 0 + .4byte .LASF445 + .byte 0x6 + .uleb128 0 + .4byte .LASF446 + .byte 0x6 + .uleb128 0 + .4byte .LASF447 + .byte 0x6 + .uleb128 0 + .4byte .LASF448 + .byte 0x6 + .uleb128 0 + .4byte .LASF449 + .byte 0x5 + .uleb128 0 + .4byte .LASF450 + .byte 0x5 + .uleb128 0 + .4byte .LASF451 + .byte 0x5 + .uleb128 0 + .4byte .LASF452 + .file 4 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/lib/gcc/arm-none-eabi/12.3.1/include/stdint.h" + .byte 0x3 + .uleb128 0x1 + .uleb128 0x4 + .file 5 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/stdint.h" + .byte 0x3 + .uleb128 0x9 + .uleb128 0x5 + .byte 0x5 + .uleb128 0xa + .4byte .LASF453 + .byte 0x3 + .uleb128 0xc + .uleb128 0x2 + .byte 0x5 + .uleb128 0x6 + .4byte .LASF454 + .file 6 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/features.h" + .byte 0x3 + .uleb128 0x8 + .uleb128 0x6 + .byte 0x5 + .uleb128 0x16 + .4byte .LASF455 + .file 7 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/_newlib_version.h" + .byte 0x3 + .uleb128 0x1c + .uleb128 0x7 + .byte 0x7 + .4byte .Ldebug_macro2 + .byte 0x4 + .byte 0x7 + .4byte .Ldebug_macro3 + .byte 0x4 + .byte 0x7 + .4byte .Ldebug_macro4 + .byte 0x4 + .file 8 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/_intsup.h" + .byte 0x3 + .uleb128 0xd + .uleb128 0x8 + .byte 0x7 + .4byte .Ldebug_macro5 + .byte 0x4 + .byte 0x3 + .uleb128 0xe + .uleb128 0x3 + .byte 0x7 + .4byte .Ldebug_macro6 + .byte 0x4 + .byte 0x7 + .4byte .Ldebug_macro7 + .byte 0x4 + .byte 0x5 + .uleb128 0xd + .4byte .LASF610 + .byte 0x4 + .byte 0x4 + .byte 0 + .section .debug_macro,"G",%progbits,wm4._newlib_version.h.4.6d111ab2e95434b664b53815e5c8ccba,comdat +.Ldebug_macro2: + .2byte 0x5 + .byte 0 + .byte 0x5 + .uleb128 0x4 + .4byte .LASF456 + .byte 0x5 + .uleb128 0x6 + .4byte .LASF457 + .byte 0x5 + .uleb128 0x7 + .4byte .LASF458 + .byte 0x5 + .uleb128 0x8 + .4byte .LASF459 + .byte 0x5 + .uleb128 0x9 + .4byte .LASF460 + .byte 0 + .section .debug_macro,"G",%progbits,wm4.features.h.33.3e67abe6fb64142d4f6fa9496796153c,comdat +.Ldebug_macro3: + .2byte 0x5 + .byte 0 + .byte 0x5 + .uleb128 0x21 + .4byte .LASF461 + .byte 0x5 + .uleb128 0x28 + .4byte .LASF462 + .byte 0x6 + .uleb128 0x83 + .4byte .LASF463 + .byte 0x5 + .uleb128 0x84 + .4byte .LASF464 + .byte 0x6 + .uleb128 0x88 + .4byte .LASF465 + .byte 0x5 + .uleb128 0x89 + .4byte .LASF466 + .byte 0x6 + .uleb128 0x8a + .4byte .LASF467 + .byte 0x5 + .uleb128 0x8b + .4byte .LASF468 + .byte 0x6 + .uleb128 0x9e + .4byte .LASF469 + .byte 0x5 + .uleb128 0x9f + .4byte .LASF470 + .byte 0x5 + .uleb128 0xf7 + .4byte .LASF471 + .byte 0x5 + .uleb128 0xfd + .4byte .LASF472 + .byte 0x5 + .uleb128 0x105 + .4byte .LASF473 + .byte 0x5 + .uleb128 0x10a + .4byte .LASF474 + .byte 0x5 + .uleb128 0x115 + .4byte .LASF475 + .byte 0x5 + .uleb128 0x119 + .4byte .LASF476 + .byte 0x5 + .uleb128 0x11f + .4byte .LASF477 + .byte 0x5 + .uleb128 0x12f + .4byte .LASF478 + .byte 0x5 + .uleb128 0x13f + .4byte .LASF479 + .byte 0x5 + .uleb128 0x14b + .4byte .LASF480 + .byte 0 + .section .debug_macro,"G",%progbits,wm4._default_types.h.15.247e5cd201eca3442cbf5404108c4935,comdat +.Ldebug_macro4: + .2byte 0x5 + .byte 0 + .byte 0x5 + .uleb128 0xf + .4byte .LASF481 + .byte 0x5 + .uleb128 0x1a + .4byte .LASF482 + .byte 0x5 + .uleb128 0x21 + .4byte .LASF483 + .byte 0x5 + .uleb128 0x2f + .4byte .LASF484 + .byte 0x5 + .uleb128 0x3d + .4byte .LASF485 + .byte 0x5 + .uleb128 0x53 + .4byte .LASF486 + .byte 0x5 + .uleb128 0x6d + .4byte .LASF487 + .byte 0x5 + .uleb128 0x8c + .4byte .LASF488 + .byte 0x5 + .uleb128 0xa6 + .4byte .LASF489 + .byte 0x5 + .uleb128 0xbc + .4byte .LASF490 + .byte 0x5 + .uleb128 0xce + .4byte .LASF491 + .byte 0x6 + .uleb128 0xf4 + .4byte .LASF492 + .byte 0 + .section .debug_macro,"G",%progbits,wm4._intsup.h.10.48bafbb683905c4daa4565a85aeeb264,comdat +.Ldebug_macro5: + .2byte 0x5 + .byte 0 + .byte 0x5 + .uleb128 0xa + .4byte .LASF493 + .byte 0x5 + .uleb128 0x10 + .4byte .LASF494 + .byte 0x6 + .uleb128 0x2b + .4byte .LASF495 + .byte 0x6 + .uleb128 0x2c + .4byte .LASF496 + .byte 0x6 + .uleb128 0x2d + .4byte .LASF497 + .byte 0x6 + .uleb128 0x2e + .4byte .LASF498 + .byte 0x2 + .uleb128 0x2f + .ascii "int\000" + .byte 0x6 + .uleb128 0x30 + .4byte .LASF499 + .byte 0x6 + .uleb128 0x31 + .4byte .LASF500 + .byte 0x6 + .uleb128 0x32 + .4byte .LASF501 + .byte 0x5 + .uleb128 0x33 + .4byte .LASF502 + .byte 0x5 + .uleb128 0x34 + .4byte .LASF503 + .byte 0x5 + .uleb128 0x35 + .4byte .LASF504 + .byte 0x5 + .uleb128 0x36 + .4byte .LASF505 + .byte 0x5 + .uleb128 0x37 + .4byte .LASF506 + .byte 0x5 + .uleb128 0x38 + .4byte .LASF507 + .byte 0x5 + .uleb128 0x39 + .4byte .LASF508 + .byte 0x5 + .uleb128 0x3a + .4byte .LASF509 + .byte 0x5 + .uleb128 0x43 + .4byte .LASF510 + .byte 0x5 + .uleb128 0x4a + .4byte .LASF511 + .byte 0x5 + .uleb128 0x52 + .4byte .LASF512 + .byte 0x5 + .uleb128 0x5d + .4byte .LASF513 + .byte 0x5 + .uleb128 0x68 + .4byte .LASF514 + .byte 0x5 + .uleb128 0x71 + .4byte .LASF515 + .byte 0x5 + .uleb128 0x78 + .4byte .LASF516 + .byte 0x5 + .uleb128 0x81 + .4byte .LASF517 + .byte 0x5 + .uleb128 0x88 + .4byte .LASF518 + .byte 0x5 + .uleb128 0x93 + .4byte .LASF519 + .byte 0x5 + .uleb128 0x97 + .4byte .LASF520 + .byte 0x5 + .uleb128 0xa2 + .4byte .LASF521 + .byte 0x5 + .uleb128 0xad + .4byte .LASF522 + .byte 0x5 + .uleb128 0xb6 + .4byte .LASF523 + .byte 0x6 + .uleb128 0xb8 + .4byte .LASF495 + .byte 0x6 + .uleb128 0xb9 + .4byte .LASF496 + .byte 0x6 + .uleb128 0xba + .4byte .LASF497 + .byte 0x6 + .uleb128 0xbb + .4byte .LASF498 + .byte 0x2 + .uleb128 0xbc + .ascii "int\000" + .byte 0x6 + .uleb128 0xbd + .4byte .LASF501 + .byte 0x6 + .uleb128 0xc2 + .4byte .LASF499 + .byte 0x6 + .uleb128 0xc3 + .4byte .LASF500 + .byte 0 + .section .debug_macro,"G",%progbits,wm4._stdint.h.10.c24fa3af3bc1706662bb5593a907e841,comdat +.Ldebug_macro6: + .2byte 0x5 + .byte 0 + .byte 0x5 + .uleb128 0xa + .4byte .LASF524 + .byte 0x5 + .uleb128 0x15 + .4byte .LASF525 + .byte 0x5 + .uleb128 0x19 + .4byte .LASF526 + .byte 0x5 + .uleb128 0x1b + .4byte .LASF527 + .byte 0x5 + .uleb128 0x21 + .4byte .LASF528 + .byte 0x5 + .uleb128 0x25 + .4byte .LASF529 + .byte 0x5 + .uleb128 0x27 + .4byte .LASF530 + .byte 0x5 + .uleb128 0x2d + .4byte .LASF531 + .byte 0x5 + .uleb128 0x31 + .4byte .LASF532 + .byte 0x5 + .uleb128 0x33 + .4byte .LASF533 + .byte 0x5 + .uleb128 0x39 + .4byte .LASF534 + .byte 0x5 + .uleb128 0x3d + .4byte .LASF535 + .byte 0x5 + .uleb128 0x3f + .4byte .LASF536 + .byte 0x5 + .uleb128 0x44 + .4byte .LASF537 + .byte 0x5 + .uleb128 0x49 + .4byte .LASF538 + .byte 0x5 + .uleb128 0x4e + .4byte .LASF539 + .byte 0x5 + .uleb128 0x53 + .4byte .LASF540 + .byte 0 + .section .debug_macro,"G",%progbits,wm4.stdint.h.23.d53047a68f4a85177f80b422d52785ed,comdat +.Ldebug_macro7: + .2byte 0x5 + .byte 0 + .byte 0x5 + .uleb128 0x17 + .4byte .LASF541 + .byte 0x5 + .uleb128 0x1d + .4byte .LASF542 + .byte 0x5 + .uleb128 0x23 + .4byte .LASF543 + .byte 0x5 + .uleb128 0x29 + .4byte .LASF544 + .byte 0x5 + .uleb128 0x35 + .4byte .LASF545 + .byte 0x5 + .uleb128 0x3f + .4byte .LASF546 + .byte 0x5 + .uleb128 0x49 + .4byte .LASF547 + .byte 0x5 + .uleb128 0x53 + .4byte .LASF548 + .byte 0x5 + .uleb128 0x80 + .4byte .LASF549 + .byte 0x5 + .uleb128 0x81 + .4byte .LASF550 + .byte 0x5 + .uleb128 0x82 + .4byte .LASF551 + .byte 0x5 + .uleb128 0x98 + .4byte .LASF552 + .byte 0x5 + .uleb128 0x99 + .4byte .LASF553 + .byte 0x5 + .uleb128 0x9a + .4byte .LASF554 + .byte 0x5 + .uleb128 0xa2 + .4byte .LASF555 + .byte 0x5 + .uleb128 0xa3 + .4byte .LASF556 + .byte 0x5 + .uleb128 0xa4 + .4byte .LASF557 + .byte 0x5 + .uleb128 0xae + .4byte .LASF558 + .byte 0x5 + .uleb128 0xaf + .4byte .LASF559 + .byte 0x5 + .uleb128 0xb0 + .4byte .LASF560 + .byte 0x5 + .uleb128 0xb8 + .4byte .LASF561 + .byte 0x5 + .uleb128 0xb9 + .4byte .LASF562 + .byte 0x5 + .uleb128 0xba + .4byte .LASF563 + .byte 0x5 + .uleb128 0xc4 + .4byte .LASF564 + .byte 0x5 + .uleb128 0xc5 + .4byte .LASF565 + .byte 0x5 + .uleb128 0xc6 + .4byte .LASF566 + .byte 0x5 + .uleb128 0xd4 + .4byte .LASF567 + .byte 0x5 + .uleb128 0xd5 + .4byte .LASF568 + .byte 0x5 + .uleb128 0xd6 + .4byte .LASF569 + .byte 0x5 + .uleb128 0xe6 + .4byte .LASF570 + .byte 0x5 + .uleb128 0xe7 + .4byte .LASF571 + .byte 0x5 + .uleb128 0xe8 + .4byte .LASF572 + .byte 0x5 + .uleb128 0xf6 + .4byte .LASF573 + .byte 0x5 + .uleb128 0xf7 + .4byte .LASF574 + .byte 0x5 + .uleb128 0xf8 + .4byte .LASF575 + .byte 0x5 + .uleb128 0x106 + .4byte .LASF576 + .byte 0x5 + .uleb128 0x107 + .4byte .LASF577 + .byte 0x5 + .uleb128 0x108 + .4byte .LASF578 + .byte 0x5 + .uleb128 0x116 + .4byte .LASF579 + .byte 0x5 + .uleb128 0x117 + .4byte .LASF580 + .byte 0x5 + .uleb128 0x118 + .4byte .LASF581 + .byte 0x5 + .uleb128 0x126 + .4byte .LASF582 + .byte 0x5 + .uleb128 0x127 + .4byte .LASF583 + .byte 0x5 + .uleb128 0x128 + .4byte .LASF584 + .byte 0x5 + .uleb128 0x136 + .4byte .LASF585 + .byte 0x5 + .uleb128 0x137 + .4byte .LASF586 + .byte 0x5 + .uleb128 0x138 + .4byte .LASF587 + .byte 0x5 + .uleb128 0x146 + .4byte .LASF588 + .byte 0x5 + .uleb128 0x147 + .4byte .LASF589 + .byte 0x5 + .uleb128 0x14f + .4byte .LASF590 + .byte 0x5 + .uleb128 0x157 + .4byte .LASF591 + .byte 0x5 + .uleb128 0x15d + .4byte .LASF592 + .byte 0x5 + .uleb128 0x15e + .4byte .LASF593 + .byte 0x5 + .uleb128 0x162 + .4byte .LASF594 + .byte 0x5 + .uleb128 0x166 + .4byte .LASF595 + .byte 0x5 + .uleb128 0x16b + .4byte .LASF596 + .byte 0x5 + .uleb128 0x176 + .4byte .LASF597 + .byte 0x5 + .uleb128 0x180 + .4byte .LASF598 + .byte 0x5 + .uleb128 0x185 + .4byte .LASF599 + .byte 0x5 + .uleb128 0x18c + .4byte .LASF600 + .byte 0x5 + .uleb128 0x18d + .4byte .LASF601 + .byte 0x5 + .uleb128 0x198 + .4byte .LASF602 + .byte 0x5 + .uleb128 0x199 + .4byte .LASF603 + .byte 0x5 + .uleb128 0x1a4 + .4byte .LASF604 + .byte 0x5 + .uleb128 0x1a5 + .4byte .LASF605 + .byte 0x5 + .uleb128 0x1b1 + .4byte .LASF606 + .byte 0x5 + .uleb128 0x1b2 + .4byte .LASF607 + .byte 0x5 + .uleb128 0x1c1 + .4byte .LASF608 + .byte 0x5 + .uleb128 0x1c2 + .4byte .LASF609 + .byte 0 + .section .debug_line,"",%progbits +.Ldebug_line0: + .section .debug_str,"MS",%progbits,1 +.LASF428: + .ascii "__ARM_FEATURE_FP16_VECTOR_ARITHMETIC\000" +.LASF95: + .ascii "__SIG_ATOMIC_MAX__ 0x7fffffff\000" +.LASF228: + .ascii "__FLT64_HAS_QUIET_NAN__ 1\000" +.LASF262: + .ascii "__UFRACT_IBIT__ 0\000" +.LASF210: + .ascii "__FLT32_HAS_INFINITY__ 1\000" +.LASF453: + .ascii "_STDINT_H \000" +.LASF63: + .ascii "__UINT_FAST8_TYPE__ unsigned int\000" +.LASF218: + .ascii "__FLT64_MAX_EXP__ 1024\000" +.LASF556: + .ascii "INT_LEAST8_MAX (__INT_LEAST8_MAX__)\000" +.LASF483: + .ascii "__have_long32 1\000" +.LASF416: + .ascii "__thumb2__ 1\000" +.LASF234: + .ascii "__FLT32X_MAX_EXP__ 1024\000" +.LASF129: + .ascii "__INT_FAST16_WIDTH__ 32\000" +.LASF379: + .ascii "__GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1\000" +.LASF589: + .ascii "INTMAX_MIN (-INTMAX_MAX - 1)\000" +.LASF315: + .ascii "__ULACCUM_EPSILON__ 0x1P-32ULK\000" +.LASF629: + .ascii "src/startup.c\000" +.LASF476: + .ascii "__MISC_VISIBLE 1\000" +.LASF197: + .ascii "__FLT32_MANT_DIG__ 24\000" +.LASF341: + .ascii "__USQ_IBIT__ 0\000" +.LASF573: + .ascii "INT_LEAST64_MIN (-__INT_LEAST64_MAX__ - 1)\000" +.LASF119: + .ascii "__UINT8_C(c) c\000" +.LASF431: + .ascii "__ARM_NEON__\000" +.LASF387: + .ascii "__SIZEOF_WINT_T__ 4\000" +.LASF327: + .ascii "__QQ_IBIT__ 0\000" +.LASF343: + .ascii "__UDQ_IBIT__ 0\000" +.LASF500: + .ascii "__int20__\000" +.LASF607: + .ascii "UINT64_C(x) __UINT64_C(x)\000" +.LASF569: + .ascii "UINT_LEAST32_MAX (__UINT_LEAST32_MAX__)\000" +.LASF236: + .ascii "__FLT32X_DECIMAL_DIG__ 17\000" +.LASF479: + .ascii "__XSI_VISIBLE 0\000" +.LASF166: + .ascii "__DBL_MIN_EXP__ (-1021)\000" +.LASF85: + .ascii "__LONG_LONG_WIDTH__ 64\000" +.LASF372: + .ascii "__GCC_ATOMIC_CHAR16_T_LOCK_FREE 2\000" +.LASF445: + .ascii "__ARM_FEATURE_CDE_COPROC\000" +.LASF407: + .ascii "__ARM_SIZEOF_WCHAR_T 4\000" +.LASF424: + .ascii "__ARM_FP16_FORMAT_IEEE\000" +.LASF477: + .ascii "__POSIX_VISIBLE 200809\000" +.LASF397: + .ascii "__ARM_FEATURE_COMPLEX\000" +.LASF277: + .ascii "__LLFRACT_IBIT__ 0\000" +.LASF461: + .ascii "__GNUC_PREREQ(maj,min) ((__GNUC__ << 16) + __GNUC_M" + .ascii "INOR__ >= ((maj) << 16) + (min))\000" +.LASF171: + .ascii "__DBL_MAX__ ((double)1.7976931348623157e+308L)\000" +.LASF467: + .ascii "_POSIX_C_SOURCE\000" +.LASF253: + .ascii "__USFRACT_MIN__ 0.0UHR\000" +.LASF585: + .ascii "INT_FAST64_MIN (-__INT_FAST64_MAX__ - 1)\000" +.LASF581: + .ascii "UINT_FAST16_MAX (__UINT_FAST16_MAX__)\000" +.LASF6: + .ascii "__GNUC_MINOR__ 3\000" +.LASF441: + .ascii "__ARM_ASM_SYNTAX_UNIFIED__ 1\000" +.LASF619: + .ascii "unsigned int\000" +.LASF593: + .ascii "SIG_ATOMIC_MAX (__STDINT_EXP(INT_MAX))\000" +.LASF392: + .ascii "__ARM_FEATURE_CRYPTO\000" +.LASF172: + .ascii "__DBL_NORM_MAX__ ((double)1.7976931348623157e+308L)" + .ascii "\000" +.LASF454: + .ascii "_MACHINE__DEFAULT_TYPES_H \000" +.LASF121: + .ascii "__UINT16_C(c) c\000" +.LASF465: + .ascii "_POSIX_SOURCE\000" +.LASF23: + .ascii "__SIZEOF_SIZE_T__ 4\000" +.LASF351: + .ascii "__DA_IBIT__ 32\000" +.LASF22: + .ascii "__SIZEOF_LONG_DOUBLE__ 8\000" +.LASF126: + .ascii "__INT_FAST8_MAX__ 0x7fffffff\000" +.LASF27: + .ascii "__ORDER_BIG_ENDIAN__ 4321\000" +.LASF284: + .ascii "__ULLFRACT_MAX__ 0XFFFFFFFFFFFFFFFFP-64ULLR\000" +.LASF381: + .ascii "__GCC_CONSTRUCTIVE_SIZE 64\000" +.LASF389: + .ascii "__ARM_FEATURE_DSP 1\000" +.LASF505: + .ascii "short +1\000" +.LASF360: + .ascii "__UTA_FBIT__ 64\000" +.LASF164: + .ascii "__DBL_MANT_DIG__ 53\000" +.LASF58: + .ascii "__UINT_LEAST64_TYPE__ long long unsigned int\000" +.LASF72: + .ascii "__INT_MAX__ 0x7fffffff\000" +.LASF12: + .ascii "__ATOMIC_RELEASE 3\000" +.LASF163: + .ascii "__FLT_IS_IEC_60559__ 2\000" +.LASF35: + .ascii "__PTRDIFF_TYPE__ int\000" +.LASF366: + .ascii "__CHAR_UNSIGNED__ 1\000" +.LASF44: + .ascii "__INT16_TYPE__ short int\000" +.LASF394: + .ascii "__ARM_FEATURE_QRDMX\000" +.LASF527: + .ascii "__int8_t_defined 1\000" +.LASF181: + .ascii "__LDBL_DIG__ 15\000" +.LASF204: + .ascii "__FLT32_MAX__ 3.4028234663852886e+38F32\000" +.LASF317: + .ascii "__LLACCUM_IBIT__ 32\000" +.LASF10: + .ascii "__ATOMIC_SEQ_CST 5\000" +.LASF19: + .ascii "__SIZEOF_SHORT__ 2\000" +.LASF456: + .ascii "_NEWLIB_VERSION_H__ 1\000" +.LASF106: + .ascii "__INT_LEAST8_MAX__ 0x7f\000" +.LASF51: + .ascii "__INT_LEAST8_TYPE__ signed char\000" +.LASF214: + .ascii "__FLT64_MANT_DIG__ 53\000" +.LASF93: + .ascii "__UINTMAX_C(c) c ## ULL\000" +.LASF604: + .ascii "INT32_C(x) __INT32_C(x)\000" +.LASF508: + .ascii "int +2\000" +.LASF458: + .ascii "__NEWLIB__ 4\000" +.LASF29: + .ascii "__BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__\000" +.LASF200: + .ascii "__FLT32_MIN_10_EXP__ (-37)\000" +.LASF176: + .ascii "__DBL_HAS_DENORM__ 1\000" +.LASF267: + .ascii "__LFRACT_IBIT__ 0\000" +.LASF472: + .ascii "__BSD_VISIBLE 1\000" +.LASF504: + .ascii "char +0\000" +.LASF412: + .ascii "__ARM_ARCH 7\000" +.LASF3: + .ascii "__STDC_UTF_32__ 1\000" +.LASF575: + .ascii "UINT_LEAST64_MAX (__UINT_LEAST64_MAX__)\000" +.LASF109: + .ascii "__INT_LEAST16_MAX__ 0x7fff\000" +.LASF550: + .ascii "INTPTR_MAX (__INTPTR_MAX__)\000" +.LASF70: + .ascii "__SCHAR_MAX__ 0x7f\000" +.LASF222: + .ascii "__FLT64_NORM_MAX__ 1.7976931348623157e+308F64\000" +.LASF404: + .ascii "__ARM_FEATURE_NUMERIC_MAXMIN\000" +.LASF282: + .ascii "__ULLFRACT_IBIT__ 0\000" +.LASF215: + .ascii "__FLT64_DIG__ 15\000" +.LASF518: + .ascii "__FAST32 \000" +.LASF9: + .ascii "__ATOMIC_RELAXED 0\000" +.LASF429: + .ascii "__ARM_FEATURE_FP16_FML\000" +.LASF80: + .ascii "__SIZE_MAX__ 0xffffffffU\000" +.LASF196: + .ascii "__LDBL_IS_IEC_60559__ 2\000" +.LASF308: + .ascii "__LACCUM_MIN__ (-0X1P31LK-0X1P31LK)\000" +.LASF324: + .ascii "__ULLACCUM_MAX__ 0XFFFFFFFFFFFFFFFFP-32ULLK\000" +.LASF313: + .ascii "__ULACCUM_MIN__ 0.0ULK\000" +.LASF423: + .ascii "__ARM_FP 4\000" +.LASF160: + .ascii "__FLT_HAS_INFINITY__ 1\000" +.LASF469: + .ascii "_ATFILE_SOURCE\000" +.LASF459: + .ascii "__NEWLIB_MINOR__ 3\000" +.LASF207: + .ascii "__FLT32_EPSILON__ 1.1920928955078125e-7F32\000" +.LASF359: + .ascii "__UDA_IBIT__ 32\000" +.LASF526: + .ascii "_UINT8_T_DECLARED \000" +.LASF62: + .ascii "__INT_FAST64_TYPE__ long long int\000" +.LASF107: + .ascii "__INT8_C(c) c\000" +.LASF212: + .ascii "__FP_FAST_FMAF32 1\000" +.LASF611: + .ascii "signed char\000" +.LASF398: + .ascii "__ARM_32BIT_STATE 1\000" +.LASF438: + .ascii "__FDPIC__\000" +.LASF111: + .ascii "__INT_LEAST16_WIDTH__ 16\000" +.LASF168: + .ascii "__DBL_MAX_EXP__ 1024\000" +.LASF529: + .ascii "_UINT16_T_DECLARED \000" +.LASF523: + .ascii "__LEAST64 \"ll\"\000" +.LASF496: + .ascii "unsigned\000" +.LASF323: + .ascii "__ULLACCUM_MIN__ 0.0ULLK\000" +.LASF621: + .ascii "uint32_t\000" +.LASF610: + .ascii "_GCC_WRAP_STDINT_H \000" +.LASF396: + .ascii "__ARM_FEATURE_DOTPROD\000" +.LASF432: + .ascii "__ARM_NEON\000" +.LASF400: + .ascii "__ARM_FEATURE_CMSE\000" +.LASF630: + .ascii "/home/alex/code/own/c-compile-experiments\000" +.LASF229: + .ascii "__FLT64_IS_IEC_60559__ 2\000" +.LASF209: + .ascii "__FLT32_HAS_DENORM__ 1\000" +.LASF225: + .ascii "__FLT64_DENORM_MIN__ 4.9406564584124654e-324F64\000" +.LASF367: + .ascii "__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1\000" +.LASF349: + .ascii "__SA_IBIT__ 16\000" +.LASF279: + .ascii "__LLFRACT_MAX__ 0X7FFFFFFFFFFFFFFFP-63LLR\000" +.LASF132: + .ascii "__INT_FAST64_MAX__ 0x7fffffffffffffffLL\000" +.LASF480: + .ascii "__SSP_FORTIFY_LEVEL 0\000" +.LASF162: + .ascii "__FP_FAST_FMAF 1\000" +.LASF148: + .ascii "__FLT_DIG__ 6\000" +.LASF174: + .ascii "__DBL_EPSILON__ ((double)2.2204460492503131e-16L)\000" +.LASF370: + .ascii "__GCC_ATOMIC_BOOL_LOCK_FREE 2\000" +.LASF368: + .ascii "__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1\000" +.LASF501: + .ascii "long\000" +.LASF350: + .ascii "__DA_FBIT__ 31\000" +.LASF406: + .ascii "__ARM_SIZEOF_MINIMAL_ENUM 1\000" +.LASF452: + .ascii "__USES_INITFINI__ 1\000" +.LASF555: + .ascii "INT_LEAST8_MIN (-__INT_LEAST8_MAX__ - 1)\000" +.LASF502: + .ascii "signed +0\000" +.LASF295: + .ascii "__USACCUM_EPSILON__ 0x1P-8UHK\000" +.LASF484: + .ascii "___int8_t_defined 1\000" +.LASF79: + .ascii "__PTRDIFF_MAX__ 0x7fffffff\000" +.LASF211: + .ascii "__FLT32_HAS_QUIET_NAN__ 1\000" +.LASF566: + .ascii "UINT32_MAX (__UINT32_MAX__)\000" +.LASF314: + .ascii "__ULACCUM_MAX__ 0XFFFFFFFFFFFFFFFFP-32ULK\000" +.LASF264: + .ascii "__UFRACT_MAX__ 0XFFFFP-16UR\000" +.LASF249: + .ascii "__SFRACT_MAX__ 0X7FP-7HR\000" +.LASF5: + .ascii "__GNUC__ 12\000" +.LASF437: + .ascii "__ARM_EABI__ 1\000" +.LASF455: + .ascii "_SYS_FEATURES_H \000" +.LASF618: + .ascii "long long unsigned int\000" +.LASF101: + .ascii "__INT64_MAX__ 0x7fffffffffffffffLL\000" +.LASF98: + .ascii "__INT8_MAX__ 0x7f\000" +.LASF275: + .ascii "__ULFRACT_EPSILON__ 0x1P-32ULR\000" +.LASF53: + .ascii "__INT_LEAST32_TYPE__ long int\000" +.LASF634: + .ascii "init_memory\000" +.LASF272: + .ascii "__ULFRACT_IBIT__ 0\000" +.LASF316: + .ascii "__LLACCUM_FBIT__ 31\000" +.LASF124: + .ascii "__UINT_LEAST64_MAX__ 0xffffffffffffffffULL\000" +.LASF146: + .ascii "__FLT_RADIX__ 2\000" +.LASF283: + .ascii "__ULLFRACT_MIN__ 0.0ULLR\000" +.LASF178: + .ascii "__DBL_HAS_QUIET_NAN__ 1\000" +.LASF303: + .ascii "__UACCUM_MIN__ 0.0UK\000" +.LASF270: + .ascii "__LFRACT_EPSILON__ 0x1P-31LR\000" +.LASF59: + .ascii "__INT_FAST8_TYPE__ int\000" +.LASF562: + .ascii "INT_LEAST16_MAX (__INT_LEAST16_MAX__)\000" +.LASF227: + .ascii "__FLT64_HAS_INFINITY__ 1\000" +.LASF241: + .ascii "__FLT32X_DENORM_MIN__ 4.9406564584124654e-324F32x\000" +.LASF427: + .ascii "__ARM_FEATURE_FP16_SCALAR_ARITHMETIC\000" +.LASF631: + .ascii "stack_start\000" +.LASF286: + .ascii "__SACCUM_FBIT__ 7\000" +.LASF36: + .ascii "__WCHAR_TYPE__ unsigned int\000" +.LASF173: + .ascii "__DBL_MIN__ ((double)2.2250738585072014e-308L)\000" +.LASF624: + .ascii "_data_end\000" +.LASF258: + .ascii "__FRACT_MIN__ (-0.5R-0.5R)\000" +.LASF376: + .ascii "__GCC_ATOMIC_INT_LOCK_FREE 2\000" +.LASF90: + .ascii "__INTMAX_MAX__ 0x7fffffffffffffffLL\000" +.LASF535: + .ascii "_UINT64_T_DECLARED \000" +.LASF305: + .ascii "__UACCUM_EPSILON__ 0x1P-16UK\000" +.LASF590: + .ascii "UINTMAX_MAX (__UINTMAX_MAX__)\000" +.LASF297: + .ascii "__ACCUM_IBIT__ 16\000" +.LASF192: + .ascii "__LDBL_DENORM_MIN__ 4.9406564584124654e-324L\000" +.LASF219: + .ascii "__FLT64_MAX_10_EXP__ 308\000" +.LASF287: + .ascii "__SACCUM_IBIT__ 8\000" +.LASF388: + .ascii "__SIZEOF_PTRDIFF_T__ 4\000" +.LASF248: + .ascii "__SFRACT_MIN__ (-0.5HR-0.5HR)\000" +.LASF357: + .ascii "__USA_IBIT__ 16\000" +.LASF560: + .ascii "UINT16_MAX (__UINT16_MAX__)\000" +.LASF487: + .ascii "___int64_t_defined 1\000" +.LASF495: + .ascii "signed\000" +.LASF439: + .ascii "__ARM_ARCH_EXT_IDIV__ 1\000" +.LASF602: + .ascii "INT16_C(x) __INT16_C(x)\000" +.LASF393: + .ascii "__ARM_FEATURE_UNALIGNED 1\000" +.LASF468: + .ascii "_POSIX_C_SOURCE 200809L\000" +.LASF20: + .ascii "__SIZEOF_FLOAT__ 4\000" +.LASF294: + .ascii "__USACCUM_MAX__ 0XFFFFP-8UHK\000" +.LASF123: + .ascii "__UINT32_C(c) c ## UL\000" +.LASF358: + .ascii "__UDA_FBIT__ 32\000" +.LASF582: + .ascii "INT_FAST32_MIN (-__INT_FAST32_MAX__ - 1)\000" +.LASF625: + .ascii "_data_addr\000" +.LASF627: + .ascii "_bss_end\000" +.LASF417: + .ascii "__THUMBEL__ 1\000" +.LASF536: + .ascii "__int64_t_defined 1\000" +.LASF568: + .ascii "INT_LEAST32_MAX (__INT_LEAST32_MAX__)\000" +.LASF25: + .ascii "__BIGGEST_ALIGNMENT__ 8\000" +.LASF307: + .ascii "__LACCUM_IBIT__ 32\000" +.LASF524: + .ascii "_SYS__STDINT_H \000" +.LASF254: + .ascii "__USFRACT_MAX__ 0XFFP-8UHR\000" +.LASF134: + .ascii "__UINT_FAST8_MAX__ 0xffffffffU\000" +.LASF26: + .ascii "__ORDER_LITTLE_ENDIAN__ 1234\000" +.LASF383: + .ascii "__HAVE_SPECULATION_SAFE_VALUE 1\000" +.LASF318: + .ascii "__LLACCUM_MIN__ (-0X1P31LLK-0X1P31LLK)\000" +.LASF521: + .ascii "__LEAST16 \"h\"\000" +.LASF348: + .ascii "__SA_FBIT__ 15\000" +.LASF217: + .ascii "__FLT64_MIN_10_EXP__ (-307)\000" +.LASF464: + .ascii "_DEFAULT_SOURCE 1\000" +.LASF290: + .ascii "__SACCUM_EPSILON__ 0x1P-7HK\000" +.LASF486: + .ascii "___int32_t_defined 1\000" +.LASF60: + .ascii "__INT_FAST16_TYPE__ int\000" +.LASF473: + .ascii "__GNU_VISIBLE 0\000" +.LASF203: + .ascii "__FLT32_DECIMAL_DIG__ 9\000" +.LASF48: + .ascii "__UINT16_TYPE__ short unsigned int\000" +.LASF86: + .ascii "__WCHAR_WIDTH__ 32\000" +.LASF364: + .ascii "__GNUC_STDC_INLINE__ 1\000" +.LASF339: + .ascii "__UHQ_IBIT__ 0\000" +.LASF261: + .ascii "__UFRACT_FBIT__ 16\000" +.LASF403: + .ascii "__ARM_FEATURE_CLZ 1\000" +.LASF74: + .ascii "__LONG_LONG_MAX__ 0x7fffffffffffffffLL\000" +.LASF519: + .ascii "__FAST64 \"ll\"\000" +.LASF46: + .ascii "__INT64_TYPE__ long long int\000" +.LASF152: + .ascii "__FLT_MAX_10_EXP__ 38\000" +.LASF517: + .ascii "__FAST16 \000" +.LASF319: + .ascii "__LLACCUM_MAX__ 0X7FFFFFFFFFFFFFFFP-31LLK\000" +.LASF320: + .ascii "__LLACCUM_EPSILON__ 0x1P-31LLK\000" +.LASF442: + .ascii "__ARM_FEATURE_COPROC\000" +.LASF365: + .ascii "__NO_INLINE__ 1\000" +.LASF574: + .ascii "INT_LEAST64_MAX (__INT_LEAST64_MAX__)\000" +.LASF273: + .ascii "__ULFRACT_MIN__ 0.0ULR\000" +.LASF147: + .ascii "__FLT_MANT_DIG__ 24\000" +.LASF411: + .ascii "__ARM_ARCH\000" +.LASF220: + .ascii "__FLT64_DECIMAL_DIG__ 17\000" +.LASF362: + .ascii "__REGISTER_PREFIX__ \000" +.LASF199: + .ascii "__FLT32_MIN_EXP__ (-125)\000" +.LASF302: + .ascii "__UACCUM_IBIT__ 16\000" +.LASF135: + .ascii "__UINT_FAST16_MAX__ 0xffffffffU\000" +.LASF64: + .ascii "__UINT_FAST16_TYPE__ unsigned int\000" +.LASF167: + .ascii "__DBL_MIN_10_EXP__ (-307)\000" +.LASF292: + .ascii "__USACCUM_IBIT__ 8\000" +.LASF460: + .ascii "__NEWLIB_PATCHLEVEL__ 0\000" +.LASF159: + .ascii "__FLT_HAS_DENORM__ 1\000" +.LASF434: + .ascii "__THUMB_INTERWORK__ 1\000" +.LASF436: + .ascii "__ARM_PCS_VFP 1\000" +.LASF198: + .ascii "__FLT32_DIG__ 6\000" +.LASF226: + .ascii "__FLT64_HAS_DENORM__ 1\000" +.LASF491: + .ascii "___int_least64_t_defined 1\000" +.LASF143: + .ascii "__FLT_EVAL_METHOD__ 0\000" +.LASF242: + .ascii "__FLT32X_HAS_DENORM__ 1\000" +.LASF510: + .ascii "_INTPTR_EQ_INT \000" +.LASF115: + .ascii "__INT_LEAST64_MAX__ 0x7fffffffffffffffLL\000" +.LASF564: + .ascii "INT32_MIN (-__INT32_MAX__ - 1)\000" +.LASF296: + .ascii "__ACCUM_FBIT__ 15\000" +.LASF493: + .ascii "_SYS__INTSUP_H \000" +.LASF374: + .ascii "__GCC_ATOMIC_WCHAR_T_LOCK_FREE 2\000" +.LASF312: + .ascii "__ULACCUM_IBIT__ 32\000" +.LASF597: + .ascii "WCHAR_MAX (__WCHAR_MAX__)\000" +.LASF276: + .ascii "__LLFRACT_FBIT__ 63\000" +.LASF378: + .ascii "__GCC_ATOMIC_LLONG_LOCK_FREE 1\000" +.LASF108: + .ascii "__INT_LEAST8_WIDTH__ 8\000" +.LASF356: + .ascii "__USA_FBIT__ 16\000" +.LASF102: + .ascii "__UINT8_MAX__ 0xff\000" +.LASF103: + .ascii "__UINT16_MAX__ 0xffff\000" +.LASF567: + .ascii "INT_LEAST32_MIN (-__INT_LEAST32_MAX__ - 1)\000" +.LASF572: + .ascii "UINT64_MAX (__UINT64_MAX__)\000" +.LASF301: + .ascii "__UACCUM_FBIT__ 16\000" +.LASF489: + .ascii "___int_least16_t_defined 1\000" +.LASF94: + .ascii "__INTMAX_WIDTH__ 64\000" +.LASF444: + .ascii "__ARM_FEATURE_CDE\000" +.LASF266: + .ascii "__LFRACT_FBIT__ 31\000" +.LASF179: + .ascii "__DBL_IS_IEC_60559__ 2\000" +.LASF557: + .ascii "UINT_LEAST8_MAX (__UINT_LEAST8_MAX__)\000" +.LASF336: + .ascii "__UQQ_FBIT__ 8\000" +.LASF52: + .ascii "__INT_LEAST16_TYPE__ short int\000" +.LASF201: + .ascii "__FLT32_MAX_EXP__ 128\000" +.LASF522: + .ascii "__LEAST32 \"l\"\000" +.LASF223: + .ascii "__FLT64_MIN__ 2.2250738585072014e-308F64\000" +.LASF165: + .ascii "__DBL_DIG__ 15\000" +.LASF490: + .ascii "___int_least32_t_defined 1\000" +.LASF420: + .ascii "__ARMEL__ 1\000" +.LASF418: + .ascii "__ARM_ARCH_ISA_THUMB\000" +.LASF306: + .ascii "__LACCUM_FBIT__ 31\000" +.LASF345: + .ascii "__UTQ_IBIT__ 0\000" +.LASF156: + .ascii "__FLT_MIN__ 1.1754943508222875e-38F\000" +.LASF377: + .ascii "__GCC_ATOMIC_LONG_LOCK_FREE 2\000" +.LASF231: + .ascii "__FLT32X_DIG__ 15\000" +.LASF300: + .ascii "__ACCUM_EPSILON__ 0x1P-15K\000" +.LASF559: + .ascii "INT16_MAX (__INT16_MAX__)\000" +.LASF342: + .ascii "__UDQ_FBIT__ 64\000" +.LASF230: + .ascii "__FLT32X_MANT_DIG__ 53\000" +.LASF347: + .ascii "__HA_IBIT__ 8\000" +.LASF548: + .ascii "__int_fast64_t_defined 1\000" +.LASF419: + .ascii "__ARM_ARCH_ISA_THUMB 2\000" +.LASF603: + .ascii "UINT16_C(x) __UINT16_C(x)\000" +.LASF344: + .ascii "__UTQ_FBIT__ 128\000" +.LASF506: + .ascii "__int20 +2\000" +.LASF617: + .ascii "long long int\000" +.LASF24: + .ascii "__CHAR_BIT__ 8\000" +.LASF245: + .ascii "__FLT32X_IS_IEC_60559__ 2\000" +.LASF544: + .ascii "__int_least64_t_defined 1\000" +.LASF139: + .ascii "__INTPTR_WIDTH__ 32\000" +.LASF55: + .ascii "__UINT_LEAST8_TYPE__ unsigned char\000" +.LASF188: + .ascii "__LDBL_MAX__ 1.7976931348623157e+308L\000" +.LASF15: + .ascii "__FINITE_MATH_ONLY__ 0\000" +.LASF289: + .ascii "__SACCUM_MAX__ 0X7FFFP-7HK\000" +.LASF410: + .ascii "__arm__ 1\000" +.LASF532: + .ascii "_UINT32_T_DECLARED \000" +.LASF180: + .ascii "__LDBL_MANT_DIG__ 53\000" +.LASF335: + .ascii "__TQ_IBIT__ 0\000" +.LASF354: + .ascii "__UHA_FBIT__ 8\000" +.LASF478: + .ascii "__SVID_VISIBLE 1\000" +.LASF414: + .ascii "__GCC_ASM_FLAG_OUTPUTS__ 1\000" +.LASF623: + .ascii "_data_start\000" +.LASF601: + .ascii "UINT8_C(x) __UINT8_C(x)\000" +.LASF580: + .ascii "INT_FAST16_MAX (__INT_FAST16_MAX__)\000" +.LASF451: + .ascii "__ELF__ 1\000" +.LASF408: + .ascii "__ARM_ARCH_PROFILE\000" +.LASF110: + .ascii "__INT16_C(c) c\000" +.LASF384: + .ascii "__GCC_HAVE_DWARF2_CFI_ASM 1\000" +.LASF105: + .ascii "__UINT64_MAX__ 0xffffffffffffffffULL\000" +.LASF309: + .ascii "__LACCUM_MAX__ 0X7FFFFFFFFFFFFFFFP-31LK\000" +.LASF130: + .ascii "__INT_FAST32_MAX__ 0x7fffffff\000" +.LASF255: + .ascii "__USFRACT_EPSILON__ 0x1P-8UHR\000" +.LASF11: + .ascii "__ATOMIC_ACQUIRE 2\000" +.LASF542: + .ascii "__int_least16_t_defined 1\000" +.LASF538: + .ascii "_UINTMAX_T_DECLARED \000" +.LASF443: + .ascii "__ARM_FEATURE_COPROC 15\000" +.LASF0: + .ascii "__STDC__ 1\000" +.LASF17: + .ascii "__SIZEOF_LONG__ 4\000" +.LASF499: + .ascii "__int20\000" +.LASF118: + .ascii "__UINT_LEAST8_MAX__ 0xff\000" +.LASF463: + .ascii "_DEFAULT_SOURCE\000" +.LASF14: + .ascii "__ATOMIC_CONSUME 1\000" +.LASF543: + .ascii "__int_least32_t_defined 1\000" +.LASF131: + .ascii "__INT_FAST32_WIDTH__ 32\000" +.LASF449: + .ascii "__ARM_BF16_FORMAT_ALTERNATIVE\000" +.LASF579: + .ascii "INT_FAST16_MIN (-__INT_FAST16_MAX__ - 1)\000" +.LASF37: + .ascii "__WINT_TYPE__ unsigned int\000" +.LASF73: + .ascii "__LONG_MAX__ 0x7fffffffL\000" +.LASF99: + .ascii "__INT16_MAX__ 0x7fff\000" +.LASF271: + .ascii "__ULFRACT_FBIT__ 32\000" +.LASF81: + .ascii "__SCHAR_WIDTH__ 8\000" +.LASF298: + .ascii "__ACCUM_MIN__ (-0X1P15K-0X1P15K)\000" +.LASF21: + .ascii "__SIZEOF_DOUBLE__ 8\000" +.LASF7: + .ascii "__GNUC_PATCHLEVEL__ 1\000" +.LASF450: + .ascii "__GXX_TYPEINFO_EQUALITY_INLINE 0\000" +.LASF598: + .ascii "WINT_MAX (__WINT_MAX__)\000" +.LASF259: + .ascii "__FRACT_MAX__ 0X7FFFP-15R\000" +.LASF78: + .ascii "__WINT_MIN__ 0U\000" +.LASF311: + .ascii "__ULACCUM_FBIT__ 32\000" +.LASF155: + .ascii "__FLT_NORM_MAX__ 3.4028234663852886e+38F\000" +.LASF263: + .ascii "__UFRACT_MIN__ 0.0UR\000" +.LASF537: + .ascii "_INTMAX_T_DECLARED \000" +.LASF512: + .ascii "__INT8 \"hh\"\000" +.LASF433: + .ascii "__ARM_NEON_FP\000" +.LASF528: + .ascii "_INT16_T_DECLARED \000" +.LASF2: + .ascii "__STDC_UTF_16__ 1\000" +.LASF322: + .ascii "__ULLACCUM_IBIT__ 32\000" +.LASF213: + .ascii "__FLT32_IS_IEC_60559__ 2\000" +.LASF605: + .ascii "UINT32_C(x) __UINT32_C(x)\000" +.LASF257: + .ascii "__FRACT_IBIT__ 0\000" +.LASF190: + .ascii "__LDBL_MIN__ 2.2250738585072014e-308L\000" +.LASF352: + .ascii "__TA_FBIT__ 63\000" +.LASF194: + .ascii "__LDBL_HAS_INFINITY__ 1\000" +.LASF142: + .ascii "__GCC_IEC_559_COMPLEX 0\000" +.LASF104: + .ascii "__UINT32_MAX__ 0xffffffffUL\000" +.LASF545: + .ascii "__int_fast8_t_defined 1\000" +.LASF182: + .ascii "__LDBL_MIN_EXP__ (-1021)\000" +.LASF281: + .ascii "__ULLFRACT_FBIT__ 64\000" +.LASF386: + .ascii "__SIZEOF_WCHAR_T__ 4\000" +.LASF30: + .ascii "__FLOAT_WORD_ORDER__ __ORDER_LITTLE_ENDIAN__\000" +.LASF299: + .ascii "__ACCUM_MAX__ 0X7FFFFFFFP-15K\000" +.LASF89: + .ascii "__SIZE_WIDTH__ 32\000" +.LASF399: + .ascii "__ARM_FEATURE_MVE\000" +.LASF520: + .ascii "__LEAST8 \"hh\"\000" +.LASF96: + .ascii "__SIG_ATOMIC_MIN__ (-__SIG_ATOMIC_MAX__ - 1)\000" +.LASF280: + .ascii "__LLFRACT_EPSILON__ 0x1P-63LLR\000" +.LASF84: + .ascii "__LONG_WIDTH__ 32\000" +.LASF246: + .ascii "__SFRACT_FBIT__ 7\000" +.LASF41: + .ascii "__CHAR32_TYPE__ long unsigned int\000" +.LASF247: + .ascii "__SFRACT_IBIT__ 0\000" +.LASF329: + .ascii "__HQ_IBIT__ 0\000" +.LASF546: + .ascii "__int_fast16_t_defined 1\000" +.LASF470: + .ascii "_ATFILE_SOURCE 1\000" +.LASF363: + .ascii "__USER_LABEL_PREFIX__ \000" +.LASF158: + .ascii "__FLT_DENORM_MIN__ 1.4012984643248171e-45F\000" +.LASF57: + .ascii "__UINT_LEAST32_TYPE__ long unsigned int\000" +.LASF332: + .ascii "__DQ_FBIT__ 63\000" +.LASF39: + .ascii "__UINTMAX_TYPE__ long long unsigned int\000" +.LASF507: + .ascii "__int20__ +2\000" +.LASF402: + .ascii "__ARM_FEATURE_LDREX 7\000" +.LASF558: + .ascii "INT16_MIN (-__INT16_MAX__ - 1)\000" +.LASF97: + .ascii "__SIG_ATOMIC_WIDTH__ 32\000" +.LASF448: + .ascii "__ARM_FEATURE_BF16_VECTOR_ARITHMETIC\000" +.LASF462: + .ascii "__GNUC_PREREQ__(ma,mi) __GNUC_PREREQ(ma, mi)\000" +.LASF516: + .ascii "__FAST8 \000" +.LASF71: + .ascii "__SHRT_MAX__ 0x7fff\000" +.LASF426: + .ascii "__ARM_FP16_ARGS\000" +.LASF28: + .ascii "__ORDER_PDP_ENDIAN__ 3412\000" +.LASF331: + .ascii "__SQ_IBIT__ 0\000" +.LASF497: + .ascii "char\000" +.LASF205: + .ascii "__FLT32_NORM_MAX__ 3.4028234663852886e+38F32\000" +.LASF153: + .ascii "__FLT_DECIMAL_DIG__ 9\000" +.LASF100: + .ascii "__INT32_MAX__ 0x7fffffffL\000" +.LASF87: + .ascii "__WINT_WIDTH__ 32\000" +.LASF498: + .ascii "short\000" +.LASF626: + .ascii "_bss_start\000" +.LASF471: + .ascii "__ATFILE_VISIBLE 1\000" +.LASF530: + .ascii "__int16_t_defined 1\000" +.LASF613: + .ascii "short int\000" +.LASF265: + .ascii "__UFRACT_EPSILON__ 0x1P-16UR\000" +.LASF69: + .ascii "__GXX_ABI_VERSION 1017\000" +.LASF117: + .ascii "__INT_LEAST64_WIDTH__ 64\000" +.LASF45: + .ascii "__INT32_TYPE__ long int\000" +.LASF233: + .ascii "__FLT32X_MIN_10_EXP__ (-307)\000" +.LASF447: + .ascii "__ARM_FEATURE_BF16_SCALAR_ARITHMETIC\000" +.LASF615: + .ascii "long int\000" +.LASF440: + .ascii "__ARM_FEATURE_IDIV 1\000" +.LASF533: + .ascii "__int32_t_defined 1\000" +.LASF184: + .ascii "__LDBL_MAX_EXP__ 1024\000" +.LASF330: + .ascii "__SQ_FBIT__ 31\000" +.LASF481: + .ascii "__EXP(x) __ ##x ##__\000" +.LASF268: + .ascii "__LFRACT_MIN__ (-0.5LR-0.5LR)\000" +.LASF76: + .ascii "__WCHAR_MIN__ 0U\000" +.LASF221: + .ascii "__FLT64_MAX__ 1.7976931348623157e+308F64\000" +.LASF514: + .ascii "__INT32 \"l\"\000" +.LASF122: + .ascii "__UINT_LEAST32_MAX__ 0xffffffffUL\000" +.LASF380: + .ascii "__GCC_DESTRUCTIVE_SIZE 64\000" +.LASF415: + .ascii "__thumb__ 1\000" +.LASF195: + .ascii "__LDBL_HAS_QUIET_NAN__ 1\000" +.LASF43: + .ascii "__INT8_TYPE__ signed char\000" +.LASF77: + .ascii "__WINT_MAX__ 0xffffffffU\000" +.LASF599: + .ascii "WINT_MIN (__WINT_MIN__)\000" +.LASF565: + .ascii "INT32_MAX (__INT32_MAX__)\000" +.LASF515: + .ascii "__INT64 \"ll\"\000" +.LASF187: + .ascii "__LDBL_DECIMAL_DIG__ 17\000" +.LASF475: + .ascii "__LARGEFILE_VISIBLE 0\000" +.LASF586: + .ascii "INT_FAST64_MAX (__INT_FAST64_MAX__)\000" +.LASF531: + .ascii "_INT32_T_DECLARED \000" +.LASF334: + .ascii "__TQ_FBIT__ 127\000" +.LASF338: + .ascii "__UHQ_FBIT__ 16\000" +.LASF551: + .ascii "UINTPTR_MAX (__UINTPTR_MAX__)\000" +.LASF137: + .ascii "__UINT_FAST64_MAX__ 0xffffffffffffffffULL\000" +.LASF136: + .ascii "__UINT_FAST32_MAX__ 0xffffffffU\000" +.LASF513: + .ascii "__INT16 \"h\"\000" +.LASF251: + .ascii "__USFRACT_FBIT__ 8\000" +.LASF116: + .ascii "__INT64_C(c) c ## LL\000" +.LASF328: + .ascii "__HQ_FBIT__ 15\000" +.LASF355: + .ascii "__UHA_IBIT__ 8\000" +.LASF405: + .ascii "__ARM_FEATURE_SIMD32 1\000" +.LASF75: + .ascii "__WCHAR_MAX__ 0xffffffffU\000" +.LASF633: + .ascii "reset\000" +.LASF18: + .ascii "__SIZEOF_LONG_LONG__ 8\000" +.LASF47: + .ascii "__UINT8_TYPE__ unsigned char\000" +.LASF82: + .ascii "__SHRT_WIDTH__ 16\000" +.LASF422: + .ascii "__ARM_FP\000" +.LASF577: + .ascii "INT_FAST8_MAX (__INT_FAST8_MAX__)\000" +.LASF485: + .ascii "___int16_t_defined 1\000" +.LASF157: + .ascii "__FLT_EPSILON__ 1.1920928955078125e-7F\000" +.LASF591: + .ascii "SIZE_MAX (__SIZE_MAX__)\000" +.LASF54: + .ascii "__INT_LEAST64_TYPE__ long long int\000" +.LASF609: + .ascii "UINTMAX_C(x) __UINTMAX_C(x)\000" +.LASF49: + .ascii "__UINT32_TYPE__ long unsigned int\000" +.LASF183: + .ascii "__LDBL_MIN_10_EXP__ (-307)\000" +.LASF592: + .ascii "SIG_ATOMIC_MIN (-__STDINT_EXP(INT_MAX) - 1)\000" +.LASF31: + .ascii "__SIZEOF_POINTER__ 4\000" +.LASF304: + .ascii "__UACCUM_MAX__ 0XFFFFFFFFP-16UK\000" +.LASF421: + .ascii "__VFP_FP__ 1\000" +.LASF274: + .ascii "__ULFRACT_MAX__ 0XFFFFFFFFP-32ULR\000" +.LASF346: + .ascii "__HA_FBIT__ 7\000" +.LASF88: + .ascii "__PTRDIFF_WIDTH__ 32\000" +.LASF208: + .ascii "__FLT32_DENORM_MIN__ 1.4012984643248171e-45F32\000" +.LASF474: + .ascii "__ISO_C_VISIBLE 2011\000" +.LASF288: + .ascii "__SACCUM_MIN__ (-0X1P7HK-0X1P7HK)\000" +.LASF83: + .ascii "__INT_WIDTH__ 32\000" +.LASF382: + .ascii "__GCC_ATOMIC_POINTER_LOCK_FREE 2\000" +.LASF125: + .ascii "__UINT64_C(c) c ## ULL\000" +.LASF310: + .ascii "__LACCUM_EPSILON__ 0x1P-31LK\000" +.LASF632: + .ascii "main\000" +.LASF250: + .ascii "__SFRACT_EPSILON__ 0x1P-7HR\000" +.LASF337: + .ascii "__UQQ_IBIT__ 0\000" +.LASF237: + .ascii "__FLT32X_MAX__ 1.7976931348623157e+308F32x\000" +.LASF340: + .ascii "__USQ_FBIT__ 32\000" +.LASF1: + .ascii "__STDC_VERSION__ 201710L\000" +.LASF616: + .ascii "long unsigned int\000" +.LASF594: + .ascii "PTRDIFF_MAX (__PTRDIFF_MAX__)\000" +.LASF373: + .ascii "__GCC_ATOMIC_CHAR32_T_LOCK_FREE 2\000" +.LASF584: + .ascii "UINT_FAST32_MAX (__UINT_FAST32_MAX__)\000" +.LASF596: + .ascii "WCHAR_MIN (__WCHAR_MIN__)\000" +.LASF260: + .ascii "__FRACT_EPSILON__ 0x1P-15R\000" +.LASF4: + .ascii "__STDC_HOSTED__ 1\000" +.LASF540: + .ascii "_UINTPTR_T_DECLARED \000" +.LASF578: + .ascii "UINT_FAST8_MAX (__UINT_FAST8_MAX__)\000" +.LASF138: + .ascii "__INTPTR_MAX__ 0x7fffffff\000" +.LASF595: + .ascii "PTRDIFF_MIN (-PTRDIFF_MAX - 1)\000" +.LASF385: + .ascii "__PRAGMA_REDEFINE_EXTNAME 1\000" +.LASF494: + .ascii "__STDINT_EXP(x) __ ##x ##__\000" +.LASF224: + .ascii "__FLT64_EPSILON__ 2.2204460492503131e-16F64\000" +.LASF571: + .ascii "INT64_MAX (__INT64_MAX__)\000" +.LASF525: + .ascii "_INT8_T_DECLARED \000" +.LASF40: + .ascii "__CHAR16_TYPE__ short unsigned int\000" +.LASF369: + .ascii "__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1\000" +.LASF151: + .ascii "__FLT_MAX_EXP__ 128\000" +.LASF13: + .ascii "__ATOMIC_ACQ_REL 4\000" +.LASF66: + .ascii "__UINT_FAST64_TYPE__ long long unsigned int\000" +.LASF503: + .ascii "unsigned +0\000" +.LASF612: + .ascii "unsigned char\000" +.LASF553: + .ascii "INT8_MAX (__INT8_MAX__)\000" +.LASF620: + .ascii "__uint32_t\000" +.LASF238: + .ascii "__FLT32X_NORM_MAX__ 1.7976931348623157e+308F32x\000" +.LASF191: + .ascii "__LDBL_EPSILON__ 2.2204460492503131e-16L\000" +.LASF67: + .ascii "__INTPTR_TYPE__ int\000" +.LASF622: + .ascii "interrupt_vector_table\000" +.LASF145: + .ascii "__DEC_EVAL_METHOD__ 2\000" +.LASF293: + .ascii "__USACCUM_MIN__ 0.0UHK\000" +.LASF587: + .ascii "UINT_FAST64_MAX (__UINT_FAST64_MAX__)\000" +.LASF252: + .ascii "__USFRACT_IBIT__ 0\000" +.LASF114: + .ascii "__INT_LEAST32_WIDTH__ 32\000" +.LASF563: + .ascii "UINT_LEAST16_MAX (__UINT_LEAST16_MAX__)\000" +.LASF33: + .ascii "__GNUC_WIDE_EXECUTION_CHARSET_NAME \"UTF-32LE\"\000" +.LASF65: + .ascii "__UINT_FAST32_TYPE__ unsigned int\000" +.LASF466: + .ascii "_POSIX_SOURCE 1\000" +.LASF333: + .ascii "__DQ_IBIT__ 0\000" +.LASF154: + .ascii "__FLT_MAX__ 3.4028234663852886e+38F\000" +.LASF206: + .ascii "__FLT32_MIN__ 1.1754943508222875e-38F32\000" +.LASF34: + .ascii "__SIZE_TYPE__ unsigned int\000" +.LASF457: + .ascii "_NEWLIB_VERSION \"4.3.0\"\000" +.LASF321: + .ascii "__ULLACCUM_FBIT__ 32\000" +.LASF628: + .ascii "GNU C17 12.3.1 20230626 -mcpu=cortex-m4 -mthumb -mf" + .ascii "loat-abi=hard -mfpu=fpv4-sp-d16 -march=armv7e-m+fp " + .ascii "-g3 -ggdb -O0 -ffunction-sections -fdata-sections -" + .ascii "fno-builtin -fno-common\000" +.LASF216: + .ascii "__FLT64_MIN_EXP__ (-1021)\000" +.LASF492: + .ascii "__EXP\000" +.LASF606: + .ascii "INT64_C(x) __INT64_C(x)\000" +.LASF256: + .ascii "__FRACT_FBIT__ 15\000" +.LASF375: + .ascii "__GCC_ATOMIC_SHORT_LOCK_FREE 2\000" +.LASF488: + .ascii "___int_least8_t_defined 1\000" +.LASF583: + .ascii "INT_FAST32_MAX (__INT_FAST32_MAX__)\000" +.LASF361: + .ascii "__UTA_IBIT__ 64\000" +.LASF150: + .ascii "__FLT_MIN_10_EXP__ (-37)\000" +.LASF232: + .ascii "__FLT32X_MIN_EXP__ (-1021)\000" +.LASF240: + .ascii "__FLT32X_EPSILON__ 2.2204460492503131e-16F32x\000" +.LASF144: + .ascii "__FLT_EVAL_METHOD_TS_18661_3__ 0\000" +.LASF177: + .ascii "__DBL_HAS_INFINITY__ 1\000" +.LASF390: + .ascii "__ARM_FEATURE_QBIT 1\000" +.LASF61: + .ascii "__INT_FAST32_TYPE__ int\000" +.LASF161: + .ascii "__FLT_HAS_QUIET_NAN__ 1\000" +.LASF16: + .ascii "__SIZEOF_INT__ 4\000" +.LASF38: + .ascii "__INTMAX_TYPE__ long long int\000" +.LASF511: + .ascii "_INT32_EQ_LONG \000" +.LASF91: + .ascii "__INTMAX_C(c) c ## LL\000" +.LASF549: + .ascii "INTPTR_MIN (-__INTPTR_MAX__ - 1)\000" +.LASF413: + .ascii "__APCS_32__ 1\000" +.LASF570: + .ascii "INT64_MIN (-__INT64_MAX__ - 1)\000" +.LASF608: + .ascii "INTMAX_C(x) __INTMAX_C(x)\000" +.LASF175: + .ascii "__DBL_DENORM_MIN__ ((double)4.9406564584124654e-324" + .ascii "L)\000" +.LASF50: + .ascii "__UINT64_TYPE__ long long unsigned int\000" +.LASF588: + .ascii "INTMAX_MAX (__INTMAX_MAX__)\000" +.LASF244: + .ascii "__FLT32X_HAS_QUIET_NAN__ 1\000" +.LASF169: + .ascii "__DBL_MAX_10_EXP__ 308\000" +.LASF239: + .ascii "__FLT32X_MIN__ 2.2250738585072014e-308F32x\000" +.LASF614: + .ascii "short unsigned int\000" +.LASF371: + .ascii "__GCC_ATOMIC_CHAR_LOCK_FREE 2\000" +.LASF353: + .ascii "__TA_IBIT__ 64\000" +.LASF326: + .ascii "__QQ_FBIT__ 7\000" +.LASF547: + .ascii "__int_fast32_t_defined 1\000" +.LASF243: + .ascii "__FLT32X_HAS_INFINITY__ 1\000" +.LASF576: + .ascii "INT_FAST8_MIN (-__INT_FAST8_MAX__ - 1)\000" +.LASF539: + .ascii "_INTPTR_T_DECLARED \000" +.LASF56: + .ascii "__UINT_LEAST16_TYPE__ short unsigned int\000" +.LASF409: + .ascii "__ARM_ARCH_PROFILE 77\000" +.LASF127: + .ascii "__INT_FAST8_WIDTH__ 32\000" +.LASF8: + .ascii "__VERSION__ \"12.3.1 20230626\"\000" +.LASF149: + .ascii "__FLT_MIN_EXP__ (-125)\000" +.LASF446: + .ascii "__ARM_FEATURE_MATMUL_INT8\000" +.LASF561: + .ascii "INT_LEAST16_MIN (-__INT_LEAST16_MAX__ - 1)\000" +.LASF186: + .ascii "__DECIMAL_DIG__ 17\000" +.LASF113: + .ascii "__INT32_C(c) c ## L\000" +.LASF534: + .ascii "_INT64_T_DECLARED \000" +.LASF425: + .ascii "__ARM_FP16_FORMAT_ALTERNATIVE\000" +.LASF185: + .ascii "__LDBL_MAX_10_EXP__ 308\000" +.LASF235: + .ascii "__FLT32X_MAX_10_EXP__ 308\000" +.LASF140: + .ascii "__UINTPTR_MAX__ 0xffffffffU\000" +.LASF128: + .ascii "__INT_FAST16_MAX__ 0x7fffffff\000" +.LASF32: + .ascii "__GNUC_EXECUTION_CHARSET_NAME \"UTF-8\"\000" +.LASF482: + .ascii "__have_longlong64 1\000" +.LASF554: + .ascii "UINT8_MAX (__UINT8_MAX__)\000" +.LASF395: + .ascii "__ARM_FEATURE_CRC32\000" +.LASF202: + .ascii "__FLT32_MAX_10_EXP__ 38\000" +.LASF552: + .ascii "INT8_MIN (-__INT8_MAX__ - 1)\000" +.LASF391: + .ascii "__ARM_FEATURE_SAT 1\000" +.LASF269: + .ascii "__LFRACT_MAX__ 0X7FFFFFFFP-31LR\000" +.LASF435: + .ascii "__ARM_ARCH_7EM__ 1\000" +.LASF600: + .ascii "INT8_C(x) __INT8_C(x)\000" +.LASF112: + .ascii "__INT_LEAST32_MAX__ 0x7fffffffL\000" +.LASF509: + .ascii "long +4\000" +.LASF541: + .ascii "__int_least8_t_defined 1\000" +.LASF68: + .ascii "__UINTPTR_TYPE__ unsigned int\000" +.LASF92: + .ascii "__UINTMAX_MAX__ 0xffffffffffffffffULL\000" +.LASF42: + .ascii "__SIG_ATOMIC_TYPE__ int\000" +.LASF278: + .ascii "__LLFRACT_MIN__ (-0.5LLR-0.5LLR)\000" +.LASF430: + .ascii "__ARM_FEATURE_FMA 1\000" +.LASF285: + .ascii "__ULLFRACT_EPSILON__ 0x1P-64ULLR\000" +.LASF193: + .ascii "__LDBL_HAS_DENORM__ 1\000" +.LASF120: + .ascii "__UINT_LEAST16_MAX__ 0xffff\000" +.LASF401: + .ascii "__ARM_FEATURE_LDREX\000" +.LASF189: + .ascii "__LDBL_NORM_MAX__ 1.7976931348623157e+308L\000" +.LASF325: + .ascii "__ULLACCUM_EPSILON__ 0x1P-32ULLK\000" +.LASF291: + .ascii "__USACCUM_FBIT__ 8\000" +.LASF141: + .ascii "__GCC_IEC_559 0\000" +.LASF133: + .ascii "__INT_FAST64_WIDTH__ 64\000" +.LASF170: + .ascii "__DBL_DECIMAL_DIG__ 17\000" + .ident "GCC: (Arm GNU Toolchain 12.3.Rel1 (Build arm-12.35)) 12.3.1 20230626" diff --git a/build/startup.i b/build/startup.i new file mode 100644 index 0000000..f69501f --- /dev/null +++ b/build/startup.i @@ -0,0 +1,1538 @@ +# 0 "src/startup.c" +# 1 "/home/alex/code/own/c-compile-experiments//" +# 0 "" +#define __STDC__ 1 +# 0 "" +#define __STDC_VERSION__ 201710L +# 0 "" +#define __STDC_UTF_16__ 1 +# 0 "" +#define __STDC_UTF_32__ 1 +# 0 "" +#define __STDC_HOSTED__ 1 +# 0 "" +#define __GNUC__ 12 +# 0 "" +#define __GNUC_MINOR__ 3 +# 0 "" +#define __GNUC_PATCHLEVEL__ 1 +# 0 "" +#define __VERSION__ "12.3.1 20230626" +# 0 "" +#define __ATOMIC_RELAXED 0 +# 0 "" +#define __ATOMIC_SEQ_CST 5 +# 0 "" +#define __ATOMIC_ACQUIRE 2 +# 0 "" +#define __ATOMIC_RELEASE 3 +# 0 "" +#define __ATOMIC_ACQ_REL 4 +# 0 "" +#define __ATOMIC_CONSUME 1 +# 0 "" +#define __FINITE_MATH_ONLY__ 0 +# 0 "" +#define __SIZEOF_INT__ 4 +# 0 "" +#define __SIZEOF_LONG__ 4 +# 0 "" +#define __SIZEOF_LONG_LONG__ 8 +# 0 "" +#define __SIZEOF_SHORT__ 2 +# 0 "" +#define __SIZEOF_FLOAT__ 4 +# 0 "" +#define __SIZEOF_DOUBLE__ 8 +# 0 "" +#define __SIZEOF_LONG_DOUBLE__ 8 +# 0 "" +#define __SIZEOF_SIZE_T__ 4 +# 0 "" +#define __CHAR_BIT__ 8 +# 0 "" +#define __BIGGEST_ALIGNMENT__ 8 +# 0 "" +#define __ORDER_LITTLE_ENDIAN__ 1234 +# 0 "" +#define __ORDER_BIG_ENDIAN__ 4321 +# 0 "" +#define __ORDER_PDP_ENDIAN__ 3412 +# 0 "" +#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__ +# 0 "" +#define __FLOAT_WORD_ORDER__ __ORDER_LITTLE_ENDIAN__ +# 0 "" +#define __SIZEOF_POINTER__ 4 +# 0 "" +#define __GNUC_EXECUTION_CHARSET_NAME "UTF-8" +# 0 "" +#define __GNUC_WIDE_EXECUTION_CHARSET_NAME "UTF-32LE" +# 0 "" +#define __SIZE_TYPE__ unsigned int +# 0 "" +#define __PTRDIFF_TYPE__ int +# 0 "" +#define __WCHAR_TYPE__ unsigned int +# 0 "" +#define __WINT_TYPE__ unsigned int +# 0 "" +#define __INTMAX_TYPE__ long long int +# 0 "" +#define __UINTMAX_TYPE__ long long unsigned int +# 0 "" +#define __CHAR16_TYPE__ short unsigned int +# 0 "" +#define __CHAR32_TYPE__ long unsigned int +# 0 "" +#define __SIG_ATOMIC_TYPE__ int +# 0 "" +#define __INT8_TYPE__ signed char +# 0 "" +#define __INT16_TYPE__ short int +# 0 "" +#define __INT32_TYPE__ long int +# 0 "" +#define __INT64_TYPE__ long long int +# 0 "" +#define __UINT8_TYPE__ unsigned char +# 0 "" +#define __UINT16_TYPE__ short unsigned int +# 0 "" +#define __UINT32_TYPE__ long unsigned int +# 0 "" +#define __UINT64_TYPE__ long long unsigned int +# 0 "" +#define __INT_LEAST8_TYPE__ signed char +# 0 "" +#define __INT_LEAST16_TYPE__ short int +# 0 "" +#define __INT_LEAST32_TYPE__ long int +# 0 "" +#define __INT_LEAST64_TYPE__ long long int +# 0 "" +#define __UINT_LEAST8_TYPE__ unsigned char +# 0 "" +#define __UINT_LEAST16_TYPE__ short unsigned int +# 0 "" +#define __UINT_LEAST32_TYPE__ long unsigned int +# 0 "" +#define __UINT_LEAST64_TYPE__ long long unsigned int +# 0 "" +#define __INT_FAST8_TYPE__ int +# 0 "" +#define __INT_FAST16_TYPE__ int +# 0 "" +#define __INT_FAST32_TYPE__ int +# 0 "" +#define __INT_FAST64_TYPE__ long long int +# 0 "" +#define __UINT_FAST8_TYPE__ unsigned int +# 0 "" +#define __UINT_FAST16_TYPE__ unsigned int +# 0 "" +#define __UINT_FAST32_TYPE__ unsigned int +# 0 "" +#define __UINT_FAST64_TYPE__ long long unsigned int +# 0 "" +#define __INTPTR_TYPE__ int +# 0 "" +#define __UINTPTR_TYPE__ unsigned int +# 0 "" +#define __GXX_ABI_VERSION 1017 +# 0 "" +#define __SCHAR_MAX__ 0x7f +# 0 "" +#define __SHRT_MAX__ 0x7fff +# 0 "" +#define __INT_MAX__ 0x7fffffff +# 0 "" +#define __LONG_MAX__ 0x7fffffffL +# 0 "" +#define __LONG_LONG_MAX__ 0x7fffffffffffffffLL +# 0 "" +#define __WCHAR_MAX__ 0xffffffffU +# 0 "" +#define __WCHAR_MIN__ 0U +# 0 "" +#define __WINT_MAX__ 0xffffffffU +# 0 "" +#define __WINT_MIN__ 0U +# 0 "" +#define __PTRDIFF_MAX__ 0x7fffffff +# 0 "" +#define __SIZE_MAX__ 0xffffffffU +# 0 "" +#define __SCHAR_WIDTH__ 8 +# 0 "" +#define __SHRT_WIDTH__ 16 +# 0 "" +#define __INT_WIDTH__ 32 +# 0 "" +#define __LONG_WIDTH__ 32 +# 0 "" +#define __LONG_LONG_WIDTH__ 64 +# 0 "" +#define __WCHAR_WIDTH__ 32 +# 0 "" +#define __WINT_WIDTH__ 32 +# 0 "" +#define __PTRDIFF_WIDTH__ 32 +# 0 "" +#define __SIZE_WIDTH__ 32 +# 0 "" +#define __INTMAX_MAX__ 0x7fffffffffffffffLL +# 0 "" +#define __INTMAX_C(c) c ## LL +# 0 "" +#define __UINTMAX_MAX__ 0xffffffffffffffffULL +# 0 "" +#define __UINTMAX_C(c) c ## ULL +# 0 "" +#define __INTMAX_WIDTH__ 64 +# 0 "" +#define __SIG_ATOMIC_MAX__ 0x7fffffff +# 0 "" +#define __SIG_ATOMIC_MIN__ (-__SIG_ATOMIC_MAX__ - 1) +# 0 "" +#define __SIG_ATOMIC_WIDTH__ 32 +# 0 "" +#define __INT8_MAX__ 0x7f +# 0 "" +#define __INT16_MAX__ 0x7fff +# 0 "" +#define __INT32_MAX__ 0x7fffffffL +# 0 "" +#define __INT64_MAX__ 0x7fffffffffffffffLL +# 0 "" +#define __UINT8_MAX__ 0xff +# 0 "" +#define __UINT16_MAX__ 0xffff +# 0 "" +#define __UINT32_MAX__ 0xffffffffUL +# 0 "" +#define __UINT64_MAX__ 0xffffffffffffffffULL +# 0 "" +#define __INT_LEAST8_MAX__ 0x7f +# 0 "" +#define __INT8_C(c) c +# 0 "" +#define __INT_LEAST8_WIDTH__ 8 +# 0 "" +#define __INT_LEAST16_MAX__ 0x7fff +# 0 "" +#define __INT16_C(c) c +# 0 "" +#define __INT_LEAST16_WIDTH__ 16 +# 0 "" +#define __INT_LEAST32_MAX__ 0x7fffffffL +# 0 "" +#define __INT32_C(c) c ## L +# 0 "" +#define __INT_LEAST32_WIDTH__ 32 +# 0 "" +#define __INT_LEAST64_MAX__ 0x7fffffffffffffffLL +# 0 "" +#define __INT64_C(c) c ## LL +# 0 "" +#define __INT_LEAST64_WIDTH__ 64 +# 0 "" +#define __UINT_LEAST8_MAX__ 0xff +# 0 "" +#define __UINT8_C(c) c +# 0 "" +#define __UINT_LEAST16_MAX__ 0xffff +# 0 "" +#define __UINT16_C(c) c +# 0 "" +#define __UINT_LEAST32_MAX__ 0xffffffffUL +# 0 "" +#define __UINT32_C(c) c ## UL +# 0 "" +#define __UINT_LEAST64_MAX__ 0xffffffffffffffffULL +# 0 "" +#define __UINT64_C(c) c ## ULL +# 0 "" +#define __INT_FAST8_MAX__ 0x7fffffff +# 0 "" +#define __INT_FAST8_WIDTH__ 32 +# 0 "" +#define __INT_FAST16_MAX__ 0x7fffffff +# 0 "" +#define __INT_FAST16_WIDTH__ 32 +# 0 "" +#define __INT_FAST32_MAX__ 0x7fffffff +# 0 "" +#define __INT_FAST32_WIDTH__ 32 +# 0 "" +#define __INT_FAST64_MAX__ 0x7fffffffffffffffLL +# 0 "" +#define __INT_FAST64_WIDTH__ 64 +# 0 "" +#define __UINT_FAST8_MAX__ 0xffffffffU +# 0 "" +#define __UINT_FAST16_MAX__ 0xffffffffU +# 0 "" +#define __UINT_FAST32_MAX__ 0xffffffffU +# 0 "" +#define __UINT_FAST64_MAX__ 0xffffffffffffffffULL +# 0 "" +#define __INTPTR_MAX__ 0x7fffffff +# 0 "" +#define __INTPTR_WIDTH__ 32 +# 0 "" +#define __UINTPTR_MAX__ 0xffffffffU +# 0 "" +#define __GCC_IEC_559 0 +# 0 "" +#define __GCC_IEC_559_COMPLEX 0 +# 0 "" +#define __FLT_EVAL_METHOD__ 0 +# 0 "" +#define __FLT_EVAL_METHOD_TS_18661_3__ 0 +# 0 "" +#define __DEC_EVAL_METHOD__ 2 +# 0 "" +#define __FLT_RADIX__ 2 +# 0 "" +#define __FLT_MANT_DIG__ 24 +# 0 "" +#define __FLT_DIG__ 6 +# 0 "" +#define __FLT_MIN_EXP__ (-125) +# 0 "" +#define __FLT_MIN_10_EXP__ (-37) +# 0 "" +#define __FLT_MAX_EXP__ 128 +# 0 "" +#define __FLT_MAX_10_EXP__ 38 +# 0 "" +#define __FLT_DECIMAL_DIG__ 9 +# 0 "" +#define __FLT_MAX__ 3.4028234663852886e+38F +# 0 "" +#define __FLT_NORM_MAX__ 3.4028234663852886e+38F +# 0 "" +#define __FLT_MIN__ 1.1754943508222875e-38F +# 0 "" +#define __FLT_EPSILON__ 1.1920928955078125e-7F +# 0 "" +#define __FLT_DENORM_MIN__ 1.4012984643248171e-45F +# 0 "" +#define __FLT_HAS_DENORM__ 1 +# 0 "" +#define __FLT_HAS_INFINITY__ 1 +# 0 "" +#define __FLT_HAS_QUIET_NAN__ 1 +# 0 "" +#define __FP_FAST_FMAF 1 +# 0 "" +#define __FLT_IS_IEC_60559__ 2 +# 0 "" +#define __DBL_MANT_DIG__ 53 +# 0 "" +#define __DBL_DIG__ 15 +# 0 "" +#define __DBL_MIN_EXP__ (-1021) +# 0 "" +#define __DBL_MIN_10_EXP__ (-307) +# 0 "" +#define __DBL_MAX_EXP__ 1024 +# 0 "" +#define __DBL_MAX_10_EXP__ 308 +# 0 "" +#define __DBL_DECIMAL_DIG__ 17 +# 0 "" +#define __DBL_MAX__ ((double)1.7976931348623157e+308L) +# 0 "" +#define __DBL_NORM_MAX__ ((double)1.7976931348623157e+308L) +# 0 "" +#define __DBL_MIN__ ((double)2.2250738585072014e-308L) +# 0 "" +#define __DBL_EPSILON__ ((double)2.2204460492503131e-16L) +# 0 "" +#define __DBL_DENORM_MIN__ ((double)4.9406564584124654e-324L) +# 0 "" +#define __DBL_HAS_DENORM__ 1 +# 0 "" +#define __DBL_HAS_INFINITY__ 1 +# 0 "" +#define __DBL_HAS_QUIET_NAN__ 1 +# 0 "" +#define __DBL_IS_IEC_60559__ 2 +# 0 "" +#define __LDBL_MANT_DIG__ 53 +# 0 "" +#define __LDBL_DIG__ 15 +# 0 "" +#define __LDBL_MIN_EXP__ (-1021) +# 0 "" +#define __LDBL_MIN_10_EXP__ (-307) +# 0 "" +#define __LDBL_MAX_EXP__ 1024 +# 0 "" +#define __LDBL_MAX_10_EXP__ 308 +# 0 "" +#define __DECIMAL_DIG__ 17 +# 0 "" +#define __LDBL_DECIMAL_DIG__ 17 +# 0 "" +#define __LDBL_MAX__ 1.7976931348623157e+308L +# 0 "" +#define __LDBL_NORM_MAX__ 1.7976931348623157e+308L +# 0 "" +#define __LDBL_MIN__ 2.2250738585072014e-308L +# 0 "" +#define __LDBL_EPSILON__ 2.2204460492503131e-16L +# 0 "" +#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L +# 0 "" +#define __LDBL_HAS_DENORM__ 1 +# 0 "" +#define __LDBL_HAS_INFINITY__ 1 +# 0 "" +#define __LDBL_HAS_QUIET_NAN__ 1 +# 0 "" +#define __LDBL_IS_IEC_60559__ 2 +# 0 "" +#define __FLT32_MANT_DIG__ 24 +# 0 "" +#define __FLT32_DIG__ 6 +# 0 "" +#define __FLT32_MIN_EXP__ (-125) +# 0 "" +#define __FLT32_MIN_10_EXP__ (-37) +# 0 "" +#define __FLT32_MAX_EXP__ 128 +# 0 "" +#define __FLT32_MAX_10_EXP__ 38 +# 0 "" +#define __FLT32_DECIMAL_DIG__ 9 +# 0 "" +#define __FLT32_MAX__ 3.4028234663852886e+38F32 +# 0 "" +#define __FLT32_NORM_MAX__ 3.4028234663852886e+38F32 +# 0 "" +#define __FLT32_MIN__ 1.1754943508222875e-38F32 +# 0 "" +#define __FLT32_EPSILON__ 1.1920928955078125e-7F32 +# 0 "" +#define __FLT32_DENORM_MIN__ 1.4012984643248171e-45F32 +# 0 "" +#define __FLT32_HAS_DENORM__ 1 +# 0 "" +#define __FLT32_HAS_INFINITY__ 1 +# 0 "" +#define __FLT32_HAS_QUIET_NAN__ 1 +# 0 "" +#define __FP_FAST_FMAF32 1 +# 0 "" +#define __FLT32_IS_IEC_60559__ 2 +# 0 "" +#define __FLT64_MANT_DIG__ 53 +# 0 "" +#define __FLT64_DIG__ 15 +# 0 "" +#define __FLT64_MIN_EXP__ (-1021) +# 0 "" +#define __FLT64_MIN_10_EXP__ (-307) +# 0 "" +#define __FLT64_MAX_EXP__ 1024 +# 0 "" +#define __FLT64_MAX_10_EXP__ 308 +# 0 "" +#define __FLT64_DECIMAL_DIG__ 17 +# 0 "" +#define __FLT64_MAX__ 1.7976931348623157e+308F64 +# 0 "" +#define __FLT64_NORM_MAX__ 1.7976931348623157e+308F64 +# 0 "" +#define __FLT64_MIN__ 2.2250738585072014e-308F64 +# 0 "" +#define __FLT64_EPSILON__ 2.2204460492503131e-16F64 +# 0 "" +#define __FLT64_DENORM_MIN__ 4.9406564584124654e-324F64 +# 0 "" +#define __FLT64_HAS_DENORM__ 1 +# 0 "" +#define __FLT64_HAS_INFINITY__ 1 +# 0 "" +#define __FLT64_HAS_QUIET_NAN__ 1 +# 0 "" +#define __FLT64_IS_IEC_60559__ 2 +# 0 "" +#define __FLT32X_MANT_DIG__ 53 +# 0 "" +#define __FLT32X_DIG__ 15 +# 0 "" +#define __FLT32X_MIN_EXP__ (-1021) +# 0 "" +#define __FLT32X_MIN_10_EXP__ (-307) +# 0 "" +#define __FLT32X_MAX_EXP__ 1024 +# 0 "" +#define __FLT32X_MAX_10_EXP__ 308 +# 0 "" +#define __FLT32X_DECIMAL_DIG__ 17 +# 0 "" +#define __FLT32X_MAX__ 1.7976931348623157e+308F32x +# 0 "" +#define __FLT32X_NORM_MAX__ 1.7976931348623157e+308F32x +# 0 "" +#define __FLT32X_MIN__ 2.2250738585072014e-308F32x +# 0 "" +#define __FLT32X_EPSILON__ 2.2204460492503131e-16F32x +# 0 "" +#define __FLT32X_DENORM_MIN__ 4.9406564584124654e-324F32x +# 0 "" +#define __FLT32X_HAS_DENORM__ 1 +# 0 "" +#define __FLT32X_HAS_INFINITY__ 1 +# 0 "" +#define __FLT32X_HAS_QUIET_NAN__ 1 +# 0 "" +#define __FLT32X_IS_IEC_60559__ 2 +# 0 "" +#define __SFRACT_FBIT__ 7 +# 0 "" +#define __SFRACT_IBIT__ 0 +# 0 "" +#define __SFRACT_MIN__ (-0.5HR-0.5HR) +# 0 "" +#define __SFRACT_MAX__ 0X7FP-7HR +# 0 "" +#define __SFRACT_EPSILON__ 0x1P-7HR +# 0 "" +#define __USFRACT_FBIT__ 8 +# 0 "" +#define __USFRACT_IBIT__ 0 +# 0 "" +#define __USFRACT_MIN__ 0.0UHR +# 0 "" +#define __USFRACT_MAX__ 0XFFP-8UHR +# 0 "" +#define __USFRACT_EPSILON__ 0x1P-8UHR +# 0 "" +#define __FRACT_FBIT__ 15 +# 0 "" +#define __FRACT_IBIT__ 0 +# 0 "" +#define __FRACT_MIN__ (-0.5R-0.5R) +# 0 "" +#define __FRACT_MAX__ 0X7FFFP-15R +# 0 "" +#define __FRACT_EPSILON__ 0x1P-15R +# 0 "" +#define __UFRACT_FBIT__ 16 +# 0 "" +#define __UFRACT_IBIT__ 0 +# 0 "" +#define __UFRACT_MIN__ 0.0UR +# 0 "" +#define __UFRACT_MAX__ 0XFFFFP-16UR +# 0 "" +#define __UFRACT_EPSILON__ 0x1P-16UR +# 0 "" +#define __LFRACT_FBIT__ 31 +# 0 "" +#define __LFRACT_IBIT__ 0 +# 0 "" +#define __LFRACT_MIN__ (-0.5LR-0.5LR) +# 0 "" +#define __LFRACT_MAX__ 0X7FFFFFFFP-31LR +# 0 "" +#define __LFRACT_EPSILON__ 0x1P-31LR +# 0 "" +#define __ULFRACT_FBIT__ 32 +# 0 "" +#define __ULFRACT_IBIT__ 0 +# 0 "" +#define __ULFRACT_MIN__ 0.0ULR +# 0 "" +#define __ULFRACT_MAX__ 0XFFFFFFFFP-32ULR +# 0 "" +#define __ULFRACT_EPSILON__ 0x1P-32ULR +# 0 "" +#define __LLFRACT_FBIT__ 63 +# 0 "" +#define __LLFRACT_IBIT__ 0 +# 0 "" +#define __LLFRACT_MIN__ (-0.5LLR-0.5LLR) +# 0 "" +#define __LLFRACT_MAX__ 0X7FFFFFFFFFFFFFFFP-63LLR +# 0 "" +#define __LLFRACT_EPSILON__ 0x1P-63LLR +# 0 "" +#define __ULLFRACT_FBIT__ 64 +# 0 "" +#define __ULLFRACT_IBIT__ 0 +# 0 "" +#define __ULLFRACT_MIN__ 0.0ULLR +# 0 "" +#define __ULLFRACT_MAX__ 0XFFFFFFFFFFFFFFFFP-64ULLR +# 0 "" +#define __ULLFRACT_EPSILON__ 0x1P-64ULLR +# 0 "" +#define __SACCUM_FBIT__ 7 +# 0 "" +#define __SACCUM_IBIT__ 8 +# 0 "" +#define __SACCUM_MIN__ (-0X1P7HK-0X1P7HK) +# 0 "" +#define __SACCUM_MAX__ 0X7FFFP-7HK +# 0 "" +#define __SACCUM_EPSILON__ 0x1P-7HK +# 0 "" +#define __USACCUM_FBIT__ 8 +# 0 "" +#define __USACCUM_IBIT__ 8 +# 0 "" +#define __USACCUM_MIN__ 0.0UHK +# 0 "" +#define __USACCUM_MAX__ 0XFFFFP-8UHK +# 0 "" +#define __USACCUM_EPSILON__ 0x1P-8UHK +# 0 "" +#define __ACCUM_FBIT__ 15 +# 0 "" +#define __ACCUM_IBIT__ 16 +# 0 "" +#define __ACCUM_MIN__ (-0X1P15K-0X1P15K) +# 0 "" +#define __ACCUM_MAX__ 0X7FFFFFFFP-15K +# 0 "" +#define __ACCUM_EPSILON__ 0x1P-15K +# 0 "" +#define __UACCUM_FBIT__ 16 +# 0 "" +#define __UACCUM_IBIT__ 16 +# 0 "" +#define __UACCUM_MIN__ 0.0UK +# 0 "" +#define __UACCUM_MAX__ 0XFFFFFFFFP-16UK +# 0 "" +#define __UACCUM_EPSILON__ 0x1P-16UK +# 0 "" +#define __LACCUM_FBIT__ 31 +# 0 "" +#define __LACCUM_IBIT__ 32 +# 0 "" +#define __LACCUM_MIN__ (-0X1P31LK-0X1P31LK) +# 0 "" +#define __LACCUM_MAX__ 0X7FFFFFFFFFFFFFFFP-31LK +# 0 "" +#define __LACCUM_EPSILON__ 0x1P-31LK +# 0 "" +#define __ULACCUM_FBIT__ 32 +# 0 "" +#define __ULACCUM_IBIT__ 32 +# 0 "" +#define __ULACCUM_MIN__ 0.0ULK +# 0 "" +#define __ULACCUM_MAX__ 0XFFFFFFFFFFFFFFFFP-32ULK +# 0 "" +#define __ULACCUM_EPSILON__ 0x1P-32ULK +# 0 "" +#define __LLACCUM_FBIT__ 31 +# 0 "" +#define __LLACCUM_IBIT__ 32 +# 0 "" +#define __LLACCUM_MIN__ (-0X1P31LLK-0X1P31LLK) +# 0 "" +#define __LLACCUM_MAX__ 0X7FFFFFFFFFFFFFFFP-31LLK +# 0 "" +#define __LLACCUM_EPSILON__ 0x1P-31LLK +# 0 "" +#define __ULLACCUM_FBIT__ 32 +# 0 "" +#define __ULLACCUM_IBIT__ 32 +# 0 "" +#define __ULLACCUM_MIN__ 0.0ULLK +# 0 "" +#define __ULLACCUM_MAX__ 0XFFFFFFFFFFFFFFFFP-32ULLK +# 0 "" +#define __ULLACCUM_EPSILON__ 0x1P-32ULLK +# 0 "" +#define __QQ_FBIT__ 7 +# 0 "" +#define __QQ_IBIT__ 0 +# 0 "" +#define __HQ_FBIT__ 15 +# 0 "" +#define __HQ_IBIT__ 0 +# 0 "" +#define __SQ_FBIT__ 31 +# 0 "" +#define __SQ_IBIT__ 0 +# 0 "" +#define __DQ_FBIT__ 63 +# 0 "" +#define __DQ_IBIT__ 0 +# 0 "" +#define __TQ_FBIT__ 127 +# 0 "" +#define __TQ_IBIT__ 0 +# 0 "" +#define __UQQ_FBIT__ 8 +# 0 "" +#define __UQQ_IBIT__ 0 +# 0 "" +#define __UHQ_FBIT__ 16 +# 0 "" +#define __UHQ_IBIT__ 0 +# 0 "" +#define __USQ_FBIT__ 32 +# 0 "" +#define __USQ_IBIT__ 0 +# 0 "" +#define __UDQ_FBIT__ 64 +# 0 "" +#define __UDQ_IBIT__ 0 +# 0 "" +#define __UTQ_FBIT__ 128 +# 0 "" +#define __UTQ_IBIT__ 0 +# 0 "" +#define __HA_FBIT__ 7 +# 0 "" +#define __HA_IBIT__ 8 +# 0 "" +#define __SA_FBIT__ 15 +# 0 "" +#define __SA_IBIT__ 16 +# 0 "" +#define __DA_FBIT__ 31 +# 0 "" +#define __DA_IBIT__ 32 +# 0 "" +#define __TA_FBIT__ 63 +# 0 "" +#define __TA_IBIT__ 64 +# 0 "" +#define __UHA_FBIT__ 8 +# 0 "" +#define __UHA_IBIT__ 8 +# 0 "" +#define __USA_FBIT__ 16 +# 0 "" +#define __USA_IBIT__ 16 +# 0 "" +#define __UDA_FBIT__ 32 +# 0 "" +#define __UDA_IBIT__ 32 +# 0 "" +#define __UTA_FBIT__ 64 +# 0 "" +#define __UTA_IBIT__ 64 +# 0 "" +#define __REGISTER_PREFIX__ +# 0 "" +#define __USER_LABEL_PREFIX__ +# 0 "" +#define __GNUC_STDC_INLINE__ 1 +# 0 "" +#define __NO_INLINE__ 1 +# 0 "" +#define __CHAR_UNSIGNED__ 1 +# 0 "" +#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1 +# 0 "" +#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1 +# 0 "" +#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1 +# 0 "" +#define __GCC_ATOMIC_BOOL_LOCK_FREE 2 +# 0 "" +#define __GCC_ATOMIC_CHAR_LOCK_FREE 2 +# 0 "" +#define __GCC_ATOMIC_CHAR16_T_LOCK_FREE 2 +# 0 "" +#define __GCC_ATOMIC_CHAR32_T_LOCK_FREE 2 +# 0 "" +#define __GCC_ATOMIC_WCHAR_T_LOCK_FREE 2 +# 0 "" +#define __GCC_ATOMIC_SHORT_LOCK_FREE 2 +# 0 "" +#define __GCC_ATOMIC_INT_LOCK_FREE 2 +# 0 "" +#define __GCC_ATOMIC_LONG_LOCK_FREE 2 +# 0 "" +#define __GCC_ATOMIC_LLONG_LOCK_FREE 1 +# 0 "" +#define __GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1 +# 0 "" +#define __GCC_DESTRUCTIVE_SIZE 64 +# 0 "" +#define __GCC_CONSTRUCTIVE_SIZE 64 +# 0 "" +#define __GCC_ATOMIC_POINTER_LOCK_FREE 2 +# 0 "" +#define __HAVE_SPECULATION_SAFE_VALUE 1 +# 0 "" +#define __GCC_HAVE_DWARF2_CFI_ASM 1 +# 0 "" +#define __PRAGMA_REDEFINE_EXTNAME 1 +# 0 "" +#define __SIZEOF_WCHAR_T__ 4 +# 0 "" +#define __SIZEOF_WINT_T__ 4 +# 0 "" +#define __SIZEOF_PTRDIFF_T__ 4 +# 0 "" +#define __ARM_FEATURE_DSP 1 +# 0 "" +#define __ARM_FEATURE_QBIT 1 +# 0 "" +#define __ARM_FEATURE_SAT 1 +# 0 "" +#undef __ARM_FEATURE_CRYPTO +# 0 "" +#define __ARM_FEATURE_UNALIGNED 1 +# 0 "" +#undef __ARM_FEATURE_QRDMX +# 0 "" +#undef __ARM_FEATURE_CRC32 +# 0 "" +#undef __ARM_FEATURE_DOTPROD +# 0 "" +#undef __ARM_FEATURE_COMPLEX +# 0 "" +#define __ARM_32BIT_STATE 1 +# 0 "" +#undef __ARM_FEATURE_MVE +# 0 "" +#undef __ARM_FEATURE_CMSE +# 0 "" +#undef __ARM_FEATURE_LDREX +# 0 "" +#define __ARM_FEATURE_LDREX 7 +# 0 "" +#define __ARM_FEATURE_CLZ 1 +# 0 "" +#undef __ARM_FEATURE_NUMERIC_MAXMIN +# 0 "" +#define __ARM_FEATURE_SIMD32 1 +# 0 "" +#define __ARM_SIZEOF_MINIMAL_ENUM 1 +# 0 "" +#define __ARM_SIZEOF_WCHAR_T 4 +# 0 "" +#undef __ARM_ARCH_PROFILE +# 0 "" +#define __ARM_ARCH_PROFILE 77 +# 0 "" +#define __arm__ 1 +# 0 "" +#undef __ARM_ARCH +# 0 "" +#define __ARM_ARCH 7 +# 0 "" +#define __APCS_32__ 1 +# 0 "" +#define __GCC_ASM_FLAG_OUTPUTS__ 1 +# 0 "" +#define __thumb__ 1 +# 0 "" +#define __thumb2__ 1 +# 0 "" +#define __THUMBEL__ 1 +# 0 "" +#undef __ARM_ARCH_ISA_THUMB +# 0 "" +#define __ARM_ARCH_ISA_THUMB 2 +# 0 "" +#define __ARMEL__ 1 +# 0 "" +#define __VFP_FP__ 1 +# 0 "" +#undef __ARM_FP +# 0 "" +#define __ARM_FP 4 +# 0 "" +#undef __ARM_FP16_FORMAT_IEEE +# 0 "" +#undef __ARM_FP16_FORMAT_ALTERNATIVE +# 0 "" +#undef __ARM_FP16_ARGS +# 0 "" +#undef __ARM_FEATURE_FP16_SCALAR_ARITHMETIC +# 0 "" +#undef __ARM_FEATURE_FP16_VECTOR_ARITHMETIC +# 0 "" +#undef __ARM_FEATURE_FP16_FML +# 0 "" +#define __ARM_FEATURE_FMA 1 +# 0 "" +#undef __ARM_NEON__ +# 0 "" +#undef __ARM_NEON +# 0 "" +#undef __ARM_NEON_FP +# 0 "" +#define __THUMB_INTERWORK__ 1 +# 0 "" +#define __ARM_ARCH_7EM__ 1 +# 0 "" +#define __ARM_PCS_VFP 1 +# 0 "" +#define __ARM_EABI__ 1 +# 0 "" +#undef __FDPIC__ +# 0 "" +#define __ARM_ARCH_EXT_IDIV__ 1 +# 0 "" +#define __ARM_FEATURE_IDIV 1 +# 0 "" +#define __ARM_ASM_SYNTAX_UNIFIED__ 1 +# 0 "" +#undef __ARM_FEATURE_COPROC +# 0 "" +#define __ARM_FEATURE_COPROC 15 +# 0 "" +#undef __ARM_FEATURE_CDE +# 0 "" +#undef __ARM_FEATURE_CDE_COPROC +# 0 "" +#undef __ARM_FEATURE_MATMUL_INT8 +# 0 "" +#undef __ARM_FEATURE_BF16_SCALAR_ARITHMETIC +# 0 "" +#undef __ARM_FEATURE_BF16_VECTOR_ARITHMETIC +# 0 "" +#undef __ARM_BF16_FORMAT_ALTERNATIVE +# 0 "" +#define __GXX_TYPEINFO_EQUALITY_INLINE 0 +# 0 "" +#define __ELF__ 1 +# 0 "" +#define __USES_INITFINI__ 1 +# 1 "src/startup.c" +# 1 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/lib/gcc/arm-none-eabi/12.3.1/include/stdint.h" 1 3 4 +# 9 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/lib/gcc/arm-none-eabi/12.3.1/include/stdint.h" 3 4 +# 1 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/stdint.h" 1 3 4 +# 10 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/stdint.h" 3 4 +#define _STDINT_H + +# 1 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/machine/_default_types.h" 1 3 4 + + + + + +#define _MACHINE__DEFAULT_TYPES_H + +# 1 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/features.h" 1 3 4 +# 22 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/features.h" 3 4 +#define _SYS_FEATURES_H + + + + + +# 1 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/_newlib_version.h" 1 3 4 + + + +#define _NEWLIB_VERSION_H__ 1 + +#define _NEWLIB_VERSION "4.3.0" +#define __NEWLIB__ 4 +#define __NEWLIB_MINOR__ 3 +#define __NEWLIB_PATCHLEVEL__ 0 +# 29 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/features.h" 2 3 4 + + + + +#define __GNUC_PREREQ(maj,min) ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min)) + + + + + + +#define __GNUC_PREREQ__(ma,mi) __GNUC_PREREQ(ma, mi) +# 131 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/features.h" 3 4 +#undef _DEFAULT_SOURCE +#define _DEFAULT_SOURCE 1 + + + +#undef _POSIX_SOURCE +#define _POSIX_SOURCE 1 +#undef _POSIX_C_SOURCE +#define _POSIX_C_SOURCE 200809L +# 158 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/features.h" 3 4 +#undef _ATFILE_SOURCE +#define _ATFILE_SOURCE 1 +# 247 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/features.h" 3 4 +#define __ATFILE_VISIBLE 1 + + + + + +#define __BSD_VISIBLE 1 + + + + + + + +#define __GNU_VISIBLE 0 + + + + +#define __ISO_C_VISIBLE 2011 +# 277 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/features.h" 3 4 +#define __LARGEFILE_VISIBLE 0 + + + +#define __MISC_VISIBLE 1 + + + + + +#define __POSIX_VISIBLE 200809 +# 303 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/features.h" 3 4 +#define __SVID_VISIBLE 1 +# 319 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/features.h" 3 4 +#define __XSI_VISIBLE 0 +# 331 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/features.h" 3 4 +#define __SSP_FORTIFY_LEVEL 0 +# 9 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/machine/_default_types.h" 2 3 4 + + + + + + +#define __EXP(x) __ ##x ##__ +# 26 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/machine/_default_types.h" 3 4 +#define __have_longlong64 1 + + + + + + +#define __have_long32 1 + + + + + + + + +# 41 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/machine/_default_types.h" 3 4 +typedef signed char __int8_t; + +typedef unsigned char __uint8_t; + + + +#define ___int8_t_defined 1 + + + + + + + +typedef short int __int16_t; + +typedef short unsigned int __uint16_t; + + + +#define ___int16_t_defined 1 +# 77 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/machine/_default_types.h" 3 4 +typedef long int __int32_t; + +typedef long unsigned int __uint32_t; + + + +#define ___int32_t_defined 1 +# 103 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/machine/_default_types.h" 3 4 +typedef long long int __int64_t; + +typedef long long unsigned int __uint64_t; + + + +#define ___int64_t_defined 1 +# 134 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/machine/_default_types.h" 3 4 +typedef signed char __int_least8_t; + +typedef unsigned char __uint_least8_t; + + + +#define ___int_least8_t_defined 1 +# 160 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/machine/_default_types.h" 3 4 +typedef short int __int_least16_t; + +typedef short unsigned int __uint_least16_t; + + + +#define ___int_least16_t_defined 1 +# 182 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/machine/_default_types.h" 3 4 +typedef long int __int_least32_t; + +typedef long unsigned int __uint_least32_t; + + + +#define ___int_least32_t_defined 1 +# 200 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/machine/_default_types.h" 3 4 +typedef long long int __int_least64_t; + +typedef long long unsigned int __uint_least64_t; + + + +#define ___int_least64_t_defined 1 + + + + + + + +typedef long long int __intmax_t; + + + + + + + +typedef long long unsigned int __uintmax_t; + + + + + + + +typedef int __intptr_t; + +typedef unsigned int __uintptr_t; +# 244 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/machine/_default_types.h" 3 4 +#undef __EXP +# 13 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/stdint.h" 2 3 4 +# 1 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/_intsup.h" 1 3 4 +# 10 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/_intsup.h" 3 4 +#define _SYS__INTSUP_H + + + + + +#define __STDINT_EXP(x) __ ##x ##__ +# 35 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/_intsup.h" 3 4 + + + + + + + + +#undef signed +#undef unsigned +#undef char +#undef short +#undef int +#undef __int20 +#undef __int20__ +#undef long +#define signed +0 +#define unsigned +0 +#define char +0 +#define short +1 +#define __int20 +2 +#define __int20__ +2 +#define int +2 +#define long +4 +# 67 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/_intsup.h" 3 4 +#define _INTPTR_EQ_INT + + + + + + +#define _INT32_EQ_LONG + + + + + + + +#define __INT8 "hh" +# 93 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/_intsup.h" 3 4 +#define __INT16 "h" +# 104 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/_intsup.h" 3 4 +#define __INT32 "l" +# 113 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/_intsup.h" 3 4 +#define __INT64 "ll" + + + + + + +#define __FAST8 +# 129 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/_intsup.h" 3 4 +#define __FAST16 + + + + + + +#define __FAST32 +# 147 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/_intsup.h" 3 4 +#define __FAST64 "ll" + + + +#define __LEAST8 "hh" +# 162 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/_intsup.h" 3 4 +#define __LEAST16 "h" +# 173 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/_intsup.h" 3 4 +#define __LEAST32 "l" +# 182 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/_intsup.h" 3 4 +#define __LEAST64 "ll" + +#undef signed +#undef unsigned +#undef char +#undef short +#undef int +#undef long + + + + + +# 194 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/_intsup.h" 3 4 +#undef __int20 + +# 195 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/_intsup.h" 3 4 +#undef __int20__ + + +# 14 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/stdint.h" 2 3 4 +# 1 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/_stdint.h" 1 3 4 +# 10 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/_stdint.h" 3 4 +#define _SYS__STDINT_H +# 20 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/_stdint.h" 3 4 +typedef __int8_t int8_t ; +#define _INT8_T_DECLARED + + +typedef __uint8_t uint8_t ; +#define _UINT8_T_DECLARED + +#define __int8_t_defined 1 + + + + +typedef __int16_t int16_t ; +#define _INT16_T_DECLARED + + +typedef __uint16_t uint16_t ; +#define _UINT16_T_DECLARED + +#define __int16_t_defined 1 + + + + +typedef __int32_t int32_t ; +#define _INT32_T_DECLARED + + +typedef __uint32_t uint32_t ; +#define _UINT32_T_DECLARED + +#define __int32_t_defined 1 + + + + +typedef __int64_t int64_t ; +#define _INT64_T_DECLARED + + +typedef __uint64_t uint64_t ; +#define _UINT64_T_DECLARED + +#define __int64_t_defined 1 + + + +typedef __intmax_t intmax_t; +#define _INTMAX_T_DECLARED + + + +typedef __uintmax_t uintmax_t; +#define _UINTMAX_T_DECLARED + + + +typedef __intptr_t intptr_t; +#define _INTPTR_T_DECLARED + + + +typedef __uintptr_t uintptr_t; +#define _UINTPTR_T_DECLARED +# 15 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/stdint.h" 2 3 4 + + + + + + +typedef __int_least8_t int_least8_t; +typedef __uint_least8_t uint_least8_t; +#define __int_least8_t_defined 1 + + + +typedef __int_least16_t int_least16_t; +typedef __uint_least16_t uint_least16_t; +#define __int_least16_t_defined 1 + + + +typedef __int_least32_t int_least32_t; +typedef __uint_least32_t uint_least32_t; +#define __int_least32_t_defined 1 + + + +typedef __int_least64_t int_least64_t; +typedef __uint_least64_t uint_least64_t; +#define __int_least64_t_defined 1 +# 51 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/stdint.h" 3 4 + typedef int int_fast8_t; + typedef unsigned int uint_fast8_t; +#define __int_fast8_t_defined 1 + + + + + + + + typedef int int_fast16_t; + typedef unsigned int uint_fast16_t; +#define __int_fast16_t_defined 1 + + + + + + + + typedef int int_fast32_t; + typedef unsigned int uint_fast32_t; +#define __int_fast32_t_defined 1 + + + + + + + + typedef long long int int_fast64_t; + typedef long long unsigned int uint_fast64_t; +#define __int_fast64_t_defined 1 +# 128 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/stdint.h" 3 4 +#define INTPTR_MIN (-__INTPTR_MAX__ - 1) +#define INTPTR_MAX (__INTPTR_MAX__) +#define UINTPTR_MAX (__UINTPTR_MAX__) +# 152 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/stdint.h" 3 4 +#define INT8_MIN (-__INT8_MAX__ - 1) +#define INT8_MAX (__INT8_MAX__) +#define UINT8_MAX (__UINT8_MAX__) + + + + + + + +#define INT_LEAST8_MIN (-__INT_LEAST8_MAX__ - 1) +#define INT_LEAST8_MAX (__INT_LEAST8_MAX__) +#define UINT_LEAST8_MAX (__UINT_LEAST8_MAX__) +# 174 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/stdint.h" 3 4 +#define INT16_MIN (-__INT16_MAX__ - 1) +#define INT16_MAX (__INT16_MAX__) +#define UINT16_MAX (__UINT16_MAX__) + + + + + + + +#define INT_LEAST16_MIN (-__INT_LEAST16_MAX__ - 1) +#define INT_LEAST16_MAX (__INT_LEAST16_MAX__) +#define UINT_LEAST16_MAX (__UINT_LEAST16_MAX__) +# 196 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/stdint.h" 3 4 +#define INT32_MIN (-__INT32_MAX__ - 1) +#define INT32_MAX (__INT32_MAX__) +#define UINT32_MAX (__UINT32_MAX__) +# 212 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/stdint.h" 3 4 +#define INT_LEAST32_MIN (-__INT_LEAST32_MAX__ - 1) +#define INT_LEAST32_MAX (__INT_LEAST32_MAX__) +#define UINT_LEAST32_MAX (__UINT_LEAST32_MAX__) +# 230 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/stdint.h" 3 4 +#define INT64_MIN (-__INT64_MAX__ - 1) +#define INT64_MAX (__INT64_MAX__) +#define UINT64_MAX (__UINT64_MAX__) +# 246 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/stdint.h" 3 4 +#define INT_LEAST64_MIN (-__INT_LEAST64_MAX__ - 1) +#define INT_LEAST64_MAX (__INT_LEAST64_MAX__) +#define UINT_LEAST64_MAX (__UINT_LEAST64_MAX__) +# 262 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/stdint.h" 3 4 +#define INT_FAST8_MIN (-__INT_FAST8_MAX__ - 1) +#define INT_FAST8_MAX (__INT_FAST8_MAX__) +#define UINT_FAST8_MAX (__UINT_FAST8_MAX__) +# 278 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/stdint.h" 3 4 +#define INT_FAST16_MIN (-__INT_FAST16_MAX__ - 1) +#define INT_FAST16_MAX (__INT_FAST16_MAX__) +#define UINT_FAST16_MAX (__UINT_FAST16_MAX__) +# 294 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/stdint.h" 3 4 +#define INT_FAST32_MIN (-__INT_FAST32_MAX__ - 1) +#define INT_FAST32_MAX (__INT_FAST32_MAX__) +#define UINT_FAST32_MAX (__UINT_FAST32_MAX__) +# 310 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/stdint.h" 3 4 +#define INT_FAST64_MIN (-__INT_FAST64_MAX__ - 1) +#define INT_FAST64_MAX (__INT_FAST64_MAX__) +#define UINT_FAST64_MAX (__UINT_FAST64_MAX__) +# 326 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/stdint.h" 3 4 +#define INTMAX_MAX (__INTMAX_MAX__) +#define INTMAX_MIN (-INTMAX_MAX - 1) + + + + + + + +#define UINTMAX_MAX (__UINTMAX_MAX__) + + + + + + + +#define SIZE_MAX (__SIZE_MAX__) + + + + + +#define SIG_ATOMIC_MIN (-__STDINT_EXP(INT_MAX) - 1) +#define SIG_ATOMIC_MAX (__STDINT_EXP(INT_MAX)) + + + +#define PTRDIFF_MAX (__PTRDIFF_MAX__) + + + +#define PTRDIFF_MIN (-PTRDIFF_MAX - 1) + + + + +#define WCHAR_MIN (__WCHAR_MIN__) +# 374 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/stdint.h" 3 4 +#define WCHAR_MAX (__WCHAR_MAX__) +# 384 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/stdint.h" 3 4 +#define WINT_MAX (__WINT_MAX__) + + + + +#define WINT_MIN (__WINT_MIN__) + + + + + + +#define INT8_C(x) __INT8_C(x) +#define UINT8_C(x) __UINT8_C(x) +# 408 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/stdint.h" 3 4 +#define INT16_C(x) __INT16_C(x) +#define UINT16_C(x) __UINT16_C(x) +# 420 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/stdint.h" 3 4 +#define INT32_C(x) __INT32_C(x) +#define UINT32_C(x) __UINT32_C(x) +# 433 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/stdint.h" 3 4 +#define INT64_C(x) __INT64_C(x) +#define UINT64_C(x) __UINT64_C(x) +# 449 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/stdint.h" 3 4 +#define INTMAX_C(x) __INTMAX_C(x) +#define UINTMAX_C(x) __UINTMAX_C(x) +# 10 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/lib/gcc/arm-none-eabi/12.3.1/include/stdint.h" 2 3 4 + + + +#define _GCC_WRAP_STDINT_H +# 2 "src/startup.c" 2 + + +# 3 "src/startup.c" +extern void stack_start(void); +extern int main(void); + +void init_memory(void) { + + extern uint32_t _data_start, _data_end, _data_addr; + for (uint32_t *dst = &_data_start, *src = &_data_addr; dst < &_data_end;) { + *dst++ = *src++; + } + + + extern uint32_t _bss_start, _bss_end; + for (uint32_t *dst = &_bss_start; dst < &_bss_end; dst++) { + *dst = 0; + } +} + +void reset(void) { + (void)init_memory(); + + main(); + + + for (;;) (void) 0; +} + + + +void (*const interrupt_vector_table[16 + 86])(void) __attribute__((section(".isr_vector"))) = { + stack_start, + reset +}; diff --git a/build/startup.o b/build/startup.o new file mode 100644 index 0000000000000000000000000000000000000000..2e0b47a1e0877ba64650edcd05a125d25b4a7a1e GIT binary patch literal 30908 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 z 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 flash + + .text : { /* code and constants */ + . = ALIGN(4); + *(.text) + *(.text.*) + *(.rodata) + *(.rodata.*) + . = ALIGN(4); + } > flash + + _data_addr = LOADADDR(.data); + .data : { /* intialized variables */ + . = ALIGN(4); + _data_start = .; + *(.data) + *(.data.*) + . = ALIGN(4); + _data_end = .; + } > sram AT > flash /* loads the section into sram, with initial values stored in flash */ + + .bss : { /* unintialized variables */ + . = ALIGN(4); + _bss_start = .; + *(.bss) + *(.bss.*) + _bss_end = .; + . = ALIGN(4); + } > sram +} diff --git a/src/startup.c b/src/startup.c new file mode 100644 index 0000000..39f0f82 --- /dev/null +++ b/src/startup.c @@ -0,0 +1,34 @@ +#include + +extern void stack_start(void); // Defined in link.ld +extern int main(void); + +void init_memory(void) { + // Copy .data SECTION to ram + extern uint32_t _data_start, _data_end, _data_addr; + for (uint32_t *dst = &_data_start, *src = &_data_addr; dst < &_data_end;) { + *dst++ = *src++; + } + + // Initialize .bss SECTION with zeros + extern uint32_t _bss_start, _bss_end; + for (uint32_t *dst = &_bss_start; dst < &_bss_end; dst++) { + *dst = 0; + } +} + +void reset(void) { + (void)init_memory(); + + main(); + + // Infinite loop in case main returns + for (;;) (void) 0; +} + +// Create minimal interrupt vector table +// 16 standard and 86 STM32F411xC/E-specific handlers +void (*const interrupt_vector_table[16 + 86])(void) __attribute__((section(".isr_vector"))) = { + stack_start, // Defined in link.ld + reset +};