diff --git a/20230516/rtech-20230516.txt b/20230516/rtech-20230516.txt new file mode 100644 index 0000000000000000000000000000000000000000..d45645a038d9d3d3f4cce52165751a1777c8109f --- /dev/null +++ b/20230516/rtech-20230516.txt @@ -0,0 +1,17 @@ +Speicherschutzmechanismen, 16.05.2023, 12:40:56 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Renesas-Mikrocontroller: +Registergruppen (z.B. alle Funktionen zum Clock-Monitoring) müssen +vor Benutzung durch Schreiben in ein Sperr-Register freigegeben werden. +Sinnvollerweise sollte man Sie nach Benutzung wieder sperren. +"Register" steht hier für Speicherzellen mit spezieller Bedeutung, z.B. +I/O-Ports, Speicherzellen zur Interrupt-Konfiguration usw. + +Intel/AMD-Architektur: +Das Betriebssystem teilt dem Programm Segmente zu. +Die Segmentregister wirken als Indizes für eine Tabelle, +die nur der Betriebssystemkern ändern kann. +Wenn das Benutzerprogramm versucht, die Tabelle zu ändern +oder auf nicht freigegebene Segmente zuzugreifen, unterbricht +die Hardware das Benutzerprogramm und ruft stattdessen eine +Routine im Betriebssystemkern auf ("Exception"). diff --git a/20230516/stack-01.c b/20230516/stack-01.c new file mode 100644 index 0000000000000000000000000000000000000000..05bc444398a61511411c0258ddcf0ed9222968a2 --- /dev/null +++ b/20230516/stack-01.c @@ -0,0 +1,15 @@ +#include <stdio.h> + +int sum (int a, int b) +{ + return a + b; +} + +int main (void) +{ + int a = 3; + int b = 9; + int c = sum (a, b); + printf ("c = %d\n", c); + return 0; +} diff --git a/20230516/stack-01.s b/20230516/stack-01.s new file mode 100644 index 0000000000000000000000000000000000000000..8f7406e0cee7f144bff8fbc03567c95abe68d717 --- /dev/null +++ b/20230516/stack-01.s @@ -0,0 +1,36 @@ + .file "stack-01.c" + .text + .globl sum + .type sum, @function +sum: +.LFB11: + .cfi_startproc + leal (%rdi,%rsi), %eax + ret + .cfi_endproc +.LFE11: + .size sum, .-sum + .section .rodata.str1.1,"aMS",@progbits,1 +.LC0: + .string "c = %d\n" + .text + .globl main + .type main, @function +main: +.LFB12: + .cfi_startproc + subq $8, %rsp + .cfi_def_cfa_offset 16 + movl $12, %esi + leaq .LC0(%rip), %rdi + movl $0, %eax + call printf@PLT + movl $0, %eax + addq $8, %rsp + .cfi_def_cfa_offset 8 + ret + .cfi_endproc +.LFE12: + .size main, .-main + .ident "GCC: (Debian 8.3.0-6) 8.3.0" + .section .note.GNU-stack,"",@progbits diff --git a/20230516/stack-02.c b/20230516/stack-02.c new file mode 100644 index 0000000000000000000000000000000000000000..268d7265e77fa765eb90e7b7ad0895cb220f09b1 --- /dev/null +++ b/20230516/stack-02.c @@ -0,0 +1,11 @@ +#include <stdio.h> +#include "sum.h" + +int main (void) +{ + int a = 3; + int b = 9; + int c = sum (a, b); + printf ("c = %d\n", c); + return 0; +} diff --git a/20230516/stack-02.s b/20230516/stack-02.s new file mode 100644 index 0000000000000000000000000000000000000000..7844403f9356b2236b5e7dab9c32840524339b9e --- /dev/null +++ b/20230516/stack-02.s @@ -0,0 +1,958 @@ + .file "stack-02.c" + .text +.Ltext0: + .section .rodata.str1.1,"aMS",@progbits,1 +.LC0: + .string "c = %d\n" + .text + .globl main + .type main, @function +main: +.LFB11: + .file 1 "stack-02.c" + .loc 1 5 1 view -0 + .cfi_startproc + subq $8, %rsp + .cfi_def_cfa_offset 16 + .loc 1 6 3 view .LVU1 +.LVL0: + .loc 1 7 3 view .LVU2 + .loc 1 8 3 view .LVU3 + .loc 1 8 11 is_stmt 0 view .LVU4 + movl $9, %esi + movl $3, %edi + call sum@PLT +.LVL1: + .loc 1 9 3 is_stmt 1 view .LVU5 + movl %eax, %esi + leaq .LC0(%rip), %rdi + movl $0, %eax +.LVL2: + .loc 1 9 3 is_stmt 0 view .LVU6 + call printf@PLT +.LVL3: + .loc 1 10 3 is_stmt 1 view .LVU7 + .loc 1 11 1 is_stmt 0 view .LVU8 + movl $0, %eax + addq $8, %rsp + .cfi_def_cfa_offset 8 + ret + .cfi_endproc +.LFE11: + .size main, .-main +.Letext0: + .file 2 "/usr/lib/gcc/x86_64-linux-gnu/8/include/stddef.h" + .file 3 "/usr/include/x86_64-linux-gnu/bits/types.h" + .file 4 "/usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h" + .file 5 "/usr/include/x86_64-linux-gnu/bits/types/FILE.h" + .file 6 "/usr/include/stdio.h" + .file 7 "/usr/include/x86_64-linux-gnu/bits/sys_errlist.h" + .file 8 "sum.h" + .section .debug_info,"",@progbits +.Ldebug_info0: + .long 0x37a + .value 0x4 + .long .Ldebug_abbrev0 + .byte 0x8 + .uleb128 0x1 + .long .LASF50 + .byte 0xc + .long .LASF51 + .long .LASF52 + .quad .Ltext0 + .quad .Letext0-.Ltext0 + .long .Ldebug_line0 + .uleb128 0x2 + .long .LASF7 + .byte 0x2 + .byte 0xd8 + .byte 0x17 + .long 0x39 + .uleb128 0x3 + .byte 0x8 + .byte 0x7 + .long .LASF0 + .uleb128 0x3 + .byte 0x4 + .byte 0x7 + .long .LASF1 + .uleb128 0x4 + .byte 0x8 + .uleb128 0x3 + .byte 0x1 + .byte 0x8 + .long .LASF2 + .uleb128 0x3 + .byte 0x2 + .byte 0x7 + .long .LASF3 + .uleb128 0x3 + .byte 0x1 + .byte 0x6 + .long .LASF4 + .uleb128 0x3 + .byte 0x2 + .byte 0x5 + .long .LASF5 + .uleb128 0x5 + .byte 0x4 + .byte 0x5 + .string "int" + .uleb128 0x3 + .byte 0x8 + .byte 0x5 + .long .LASF6 + .uleb128 0x2 + .long .LASF8 + .byte 0x3 + .byte 0x96 + .byte 0x19 + .long 0x6c + .uleb128 0x2 + .long .LASF9 + .byte 0x3 + .byte 0x97 + .byte 0x1b + .long 0x6c + .uleb128 0x6 + .byte 0x8 + .long 0x91 + .uleb128 0x3 + .byte 0x1 + .byte 0x6 + .long .LASF10 + .uleb128 0x7 + .long 0x91 + .uleb128 0x8 + .long .LASF53 + .byte 0xd8 + .byte 0x4 + .byte 0x31 + .byte 0x8 + .long 0x224 + .uleb128 0x9 + .long .LASF11 + .byte 0x4 + .byte 0x33 + .byte 0x7 + .long 0x65 + .byte 0 + .uleb128 0x9 + .long .LASF12 + .byte 0x4 + .byte 0x36 + .byte 0x9 + .long 0x8b + .byte 0x8 + .uleb128 0x9 + .long .LASF13 + .byte 0x4 + .byte 0x37 + .byte 0x9 + .long 0x8b + .byte 0x10 + .uleb128 0x9 + .long .LASF14 + .byte 0x4 + .byte 0x38 + .byte 0x9 + .long 0x8b + .byte 0x18 + .uleb128 0x9 + .long .LASF15 + .byte 0x4 + .byte 0x39 + .byte 0x9 + .long 0x8b + .byte 0x20 + .uleb128 0x9 + .long .LASF16 + .byte 0x4 + .byte 0x3a + .byte 0x9 + .long 0x8b + .byte 0x28 + .uleb128 0x9 + .long .LASF17 + .byte 0x4 + .byte 0x3b + .byte 0x9 + .long 0x8b + .byte 0x30 + .uleb128 0x9 + .long .LASF18 + .byte 0x4 + .byte 0x3c + .byte 0x9 + .long 0x8b + .byte 0x38 + .uleb128 0x9 + .long .LASF19 + .byte 0x4 + .byte 0x3d + .byte 0x9 + .long 0x8b + .byte 0x40 + .uleb128 0x9 + .long .LASF20 + .byte 0x4 + .byte 0x40 + .byte 0x9 + .long 0x8b + .byte 0x48 + .uleb128 0x9 + .long .LASF21 + .byte 0x4 + .byte 0x41 + .byte 0x9 + .long 0x8b + .byte 0x50 + .uleb128 0x9 + .long .LASF22 + .byte 0x4 + .byte 0x42 + .byte 0x9 + .long 0x8b + .byte 0x58 + .uleb128 0x9 + .long .LASF23 + .byte 0x4 + .byte 0x44 + .byte 0x16 + .long 0x23d + .byte 0x60 + .uleb128 0x9 + .long .LASF24 + .byte 0x4 + .byte 0x46 + .byte 0x14 + .long 0x243 + .byte 0x68 + .uleb128 0x9 + .long .LASF25 + .byte 0x4 + .byte 0x48 + .byte 0x7 + .long 0x65 + .byte 0x70 + .uleb128 0x9 + .long .LASF26 + .byte 0x4 + .byte 0x49 + .byte 0x7 + .long 0x65 + .byte 0x74 + .uleb128 0x9 + .long .LASF27 + .byte 0x4 + .byte 0x4a + .byte 0xb + .long 0x73 + .byte 0x78 + .uleb128 0x9 + .long .LASF28 + .byte 0x4 + .byte 0x4d + .byte 0x12 + .long 0x50 + .byte 0x80 + .uleb128 0x9 + .long .LASF29 + .byte 0x4 + .byte 0x4e + .byte 0xf + .long 0x57 + .byte 0x82 + .uleb128 0x9 + .long .LASF30 + .byte 0x4 + .byte 0x4f + .byte 0x8 + .long 0x249 + .byte 0x83 + .uleb128 0x9 + .long .LASF31 + .byte 0x4 + .byte 0x51 + .byte 0xf + .long 0x259 + .byte 0x88 + .uleb128 0x9 + .long .LASF32 + .byte 0x4 + .byte 0x59 + .byte 0xd + .long 0x7f + .byte 0x90 + .uleb128 0x9 + .long .LASF33 + .byte 0x4 + .byte 0x5b + .byte 0x17 + .long 0x264 + .byte 0x98 + .uleb128 0x9 + .long .LASF34 + .byte 0x4 + .byte 0x5c + .byte 0x19 + .long 0x26f + .byte 0xa0 + .uleb128 0x9 + .long .LASF35 + .byte 0x4 + .byte 0x5d + .byte 0x14 + .long 0x243 + .byte 0xa8 + .uleb128 0x9 + .long .LASF36 + .byte 0x4 + .byte 0x5e + .byte 0x9 + .long 0x47 + .byte 0xb0 + .uleb128 0x9 + .long .LASF37 + .byte 0x4 + .byte 0x5f + .byte 0xa + .long 0x2d + .byte 0xb8 + .uleb128 0x9 + .long .LASF38 + .byte 0x4 + .byte 0x60 + .byte 0x7 + .long 0x65 + .byte 0xc0 + .uleb128 0x9 + .long .LASF39 + .byte 0x4 + .byte 0x62 + .byte 0x8 + .long 0x275 + .byte 0xc4 + .byte 0 + .uleb128 0x2 + .long .LASF40 + .byte 0x5 + .byte 0x7 + .byte 0x19 + .long 0x9d + .uleb128 0xa + .long .LASF54 + .byte 0x4 + .byte 0x2b + .byte 0xe + .uleb128 0xb + .long .LASF41 + .uleb128 0x6 + .byte 0x8 + .long 0x238 + .uleb128 0x6 + .byte 0x8 + .long 0x9d + .uleb128 0xc + .long 0x91 + .long 0x259 + .uleb128 0xd + .long 0x39 + .byte 0 + .byte 0 + .uleb128 0x6 + .byte 0x8 + .long 0x230 + .uleb128 0xb + .long .LASF42 + .uleb128 0x6 + .byte 0x8 + .long 0x25f + .uleb128 0xb + .long .LASF43 + .uleb128 0x6 + .byte 0x8 + .long 0x26a + .uleb128 0xc + .long 0x91 + .long 0x285 + .uleb128 0xd + .long 0x39 + .byte 0x13 + .byte 0 + .uleb128 0xe + .long .LASF44 + .byte 0x6 + .byte 0x89 + .byte 0xe + .long 0x291 + .uleb128 0x6 + .byte 0x8 + .long 0x224 + .uleb128 0xe + .long .LASF45 + .byte 0x6 + .byte 0x8a + .byte 0xe + .long 0x291 + .uleb128 0xe + .long .LASF46 + .byte 0x6 + .byte 0x8b + .byte 0xe + .long 0x291 + .uleb128 0xe + .long .LASF47 + .byte 0x7 + .byte 0x1a + .byte 0xc + .long 0x65 + .uleb128 0xc + .long 0x2d1 + .long 0x2c6 + .uleb128 0xf + .byte 0 + .uleb128 0x7 + .long 0x2bb + .uleb128 0x6 + .byte 0x8 + .long 0x98 + .uleb128 0x7 + .long 0x2cb + .uleb128 0xe + .long .LASF48 + .byte 0x7 + .byte 0x1b + .byte 0x1a + .long 0x2c6 + .uleb128 0x10 + .long .LASF55 + .byte 0x1 + .byte 0x4 + .byte 0x5 + .long 0x65 + .quad .LFB11 + .quad .LFE11-.LFB11 + .uleb128 0x1 + .byte 0x9c + .long 0x364 + .uleb128 0x11 + .string "a" + .byte 0x1 + .byte 0x6 + .byte 0x7 + .long 0x65 + .byte 0x3 + .uleb128 0x11 + .string "b" + .byte 0x1 + .byte 0x7 + .byte 0x7 + .long 0x65 + .byte 0x9 + .uleb128 0x12 + .string "c" + .byte 0x1 + .byte 0x8 + .byte 0x7 + .long 0x65 + .long .LLST0 + .long .LVUS0 + .uleb128 0x13 + .quad .LVL1 + .long 0x364 + .long 0x348 + .uleb128 0x14 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x1 + .byte 0x33 + .uleb128 0x14 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x39 + .byte 0 + .uleb128 0x15 + .quad .LVL3 + .long 0x370 + .uleb128 0x14 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .LC0 + .byte 0 + .byte 0 + .uleb128 0x16 + .string "sum" + .string "sum" + .byte 0x8 + .byte 0x1 + .byte 0xc + .uleb128 0x17 + .long .LASF49 + .long .LASF49 + .byte 0x6 + .value 0x14c + .byte 0xc + .byte 0 + .section .debug_abbrev,"",@progbits +.Ldebug_abbrev0: + .uleb128 0x1 + .uleb128 0x11 + .byte 0x1 + .uleb128 0x25 + .uleb128 0xe + .uleb128 0x13 + .uleb128 0xb + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x1b + .uleb128 0xe + .uleb128 0x11 + .uleb128 0x1 + .uleb128 0x12 + .uleb128 0x7 + .uleb128 0x10 + .uleb128 0x17 + .byte 0 + .byte 0 + .uleb128 0x2 + .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 0x3 + .uleb128 0x24 + .byte 0 + .uleb128 0xb + .uleb128 0xb + .uleb128 0x3e + .uleb128 0xb + .uleb128 0x3 + .uleb128 0xe + .byte 0 + .byte 0 + .uleb128 0x4 + .uleb128 0xf + .byte 0 + .uleb128 0xb + .uleb128 0xb + .byte 0 + .byte 0 + .uleb128 0x5 + .uleb128 0x24 + .byte 0 + .uleb128 0xb + .uleb128 0xb + .uleb128 0x3e + .uleb128 0xb + .uleb128 0x3 + .uleb128 0x8 + .byte 0 + .byte 0 + .uleb128 0x6 + .uleb128 0xf + .byte 0 + .uleb128 0xb + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x7 + .uleb128 0x26 + .byte 0 + .uleb128 0x49 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x8 + .uleb128 0x13 + .byte 0x1 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0xb + .uleb128 0xb + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x9 + .uleb128 0xd + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x38 + .uleb128 0xb + .byte 0 + .byte 0 + .uleb128 0xa + .uleb128 0x16 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .byte 0 + .byte 0 + .uleb128 0xb + .uleb128 0x13 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3c + .uleb128 0x19 + .byte 0 + .byte 0 + .uleb128 0xc + .uleb128 0x1 + .byte 0x1 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0xd + .uleb128 0x21 + .byte 0 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x2f + .uleb128 0xb + .byte 0 + .byte 0 + .uleb128 0xe + .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 0x3c + .uleb128 0x19 + .byte 0 + .byte 0 + .uleb128 0xf + .uleb128 0x21 + .byte 0 + .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 0x49 + .uleb128 0x13 + .uleb128 0x11 + .uleb128 0x1 + .uleb128 0x12 + .uleb128 0x7 + .uleb128 0x40 + .uleb128 0x18 + .uleb128 0x2117 + .uleb128 0x19 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x11 + .uleb128 0x34 + .byte 0 + .uleb128 0x3 + .uleb128 0x8 + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x1c + .uleb128 0xb + .byte 0 + .byte 0 + .uleb128 0x12 + .uleb128 0x34 + .byte 0 + .uleb128 0x3 + .uleb128 0x8 + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x2 + .uleb128 0x17 + .uleb128 0x2137 + .uleb128 0x17 + .byte 0 + .byte 0 + .uleb128 0x13 + .uleb128 0x4109 + .byte 0x1 + .uleb128 0x11 + .uleb128 0x1 + .uleb128 0x31 + .uleb128 0x13 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x14 + .uleb128 0x410a + .byte 0 + .uleb128 0x2 + .uleb128 0x18 + .uleb128 0x2111 + .uleb128 0x18 + .byte 0 + .byte 0 + .uleb128 0x15 + .uleb128 0x4109 + .byte 0x1 + .uleb128 0x11 + .uleb128 0x1 + .uleb128 0x31 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x16 + .uleb128 0x2e + .byte 0 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3c + .uleb128 0x19 + .uleb128 0x6e + .uleb128 0x8 + .uleb128 0x3 + .uleb128 0x8 + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .byte 0 + .byte 0 + .uleb128 0x17 + .uleb128 0x2e + .byte 0 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3c + .uleb128 0x19 + .uleb128 0x6e + .uleb128 0xe + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0x5 + .uleb128 0x39 + .uleb128 0xb + .byte 0 + .byte 0 + .byte 0 + .section .debug_loc,"",@progbits +.Ldebug_loc0: +.LVUS0: + .uleb128 .LVU5 + .uleb128 .LVU6 + .uleb128 .LVU6 + .uleb128 .LVU7 +.LLST0: + .quad .LVL1-.Ltext0 + .quad .LVL2-.Ltext0 + .value 0x1 + .byte 0x50 + .quad .LVL2-.Ltext0 + .quad .LVL3-1-.Ltext0 + .value 0x1 + .byte 0x54 + .quad 0 + .quad 0 + .section .debug_aranges,"",@progbits + .long 0x2c + .value 0x2 + .long .Ldebug_info0 + .byte 0x8 + .byte 0 + .value 0 + .value 0 + .quad .Ltext0 + .quad .Letext0-.Ltext0 + .quad 0 + .quad 0 + .section .debug_line,"",@progbits +.Ldebug_line0: + .section .debug_str,"MS",@progbits,1 +.LASF19: + .string "_IO_buf_end" +.LASF27: + .string "_old_offset" +.LASF47: + .string "sys_nerr" +.LASF22: + .string "_IO_save_end" +.LASF5: + .string "short int" +.LASF7: + .string "size_t" +.LASF32: + .string "_offset" +.LASF50: + .string "GNU C17 8.3.0 -mtune=generic -march=x86-64 -g2 -O" +.LASF16: + .string "_IO_write_ptr" +.LASF11: + .string "_flags" +.LASF18: + .string "_IO_buf_base" +.LASF23: + .string "_markers" +.LASF13: + .string "_IO_read_end" +.LASF36: + .string "_freeres_buf" +.LASF46: + .string "stderr" +.LASF31: + .string "_lock" +.LASF6: + .string "long int" +.LASF49: + .string "printf" +.LASF28: + .string "_cur_column" +.LASF53: + .string "_IO_FILE" +.LASF52: + .string "/home/peter/bo/2023ss/rtech/20230516" +.LASF2: + .string "unsigned char" +.LASF51: + .string "stack-02.c" +.LASF4: + .string "signed char" +.LASF33: + .string "_codecvt" +.LASF1: + .string "unsigned int" +.LASF41: + .string "_IO_marker" +.LASF30: + .string "_shortbuf" +.LASF15: + .string "_IO_write_base" +.LASF39: + .string "_unused2" +.LASF12: + .string "_IO_read_ptr" +.LASF3: + .string "short unsigned int" +.LASF10: + .string "char" +.LASF55: + .string "main" +.LASF34: + .string "_wide_data" +.LASF35: + .string "_freeres_list" +.LASF37: + .string "__pad5" +.LASF42: + .string "_IO_codecvt" +.LASF0: + .string "long unsigned int" +.LASF17: + .string "_IO_write_end" +.LASF9: + .string "__off64_t" +.LASF8: + .string "__off_t" +.LASF24: + .string "_chain" +.LASF43: + .string "_IO_wide_data" +.LASF21: + .string "_IO_backup_base" +.LASF44: + .string "stdin" +.LASF26: + .string "_flags2" +.LASF38: + .string "_mode" +.LASF14: + .string "_IO_read_base" +.LASF29: + .string "_vtable_offset" +.LASF20: + .string "_IO_save_base" +.LASF48: + .string "sys_errlist" +.LASF25: + .string "_fileno" +.LASF40: + .string "FILE" +.LASF45: + .string "stdout" +.LASF54: + .string "_IO_lock_t" + .ident "GCC: (Debian 8.3.0-6) 8.3.0" + .section .note.GNU-stack,"",@progbits diff --git a/20230516/sum-01.c b/20230516/sum-01.c new file mode 100644 index 0000000000000000000000000000000000000000..48eb1d4d8ead895edfbb84790cd572b2fa27bce1 --- /dev/null +++ b/20230516/sum-01.c @@ -0,0 +1,4 @@ +int sum (int a, int b) +{ + return a + b; +} diff --git a/20230516/sum-01.s b/20230516/sum-01.s new file mode 100644 index 0000000000000000000000000000000000000000..d853d21a7f6e87a9c42bae80b6cb9a2a9682287a --- /dev/null +++ b/20230516/sum-01.s @@ -0,0 +1,14 @@ + .file "sum.c" + .text + .globl sum + .type sum, @function +sum: +.LFB0: + .cfi_startproc + leal (%rdi,%rsi), %eax + ret + .cfi_endproc +.LFE0: + .size sum, .-sum + .ident "GCC: (Debian 8.3.0-6) 8.3.0" + .section .note.GNU-stack,"",@progbits diff --git a/20230516/sum-02.c b/20230516/sum-02.c new file mode 100644 index 0000000000000000000000000000000000000000..2608f733b5ce26067855b35a75f6ae242619a37d --- /dev/null +++ b/20230516/sum-02.c @@ -0,0 +1,8 @@ +#include <string.h> + +int sum (int a, int b) +{ + volatile char hello[3]; + strcpy (hello, "Hello, world!"); + return a + b; +} diff --git a/20230516/sum-02.s b/20230516/sum-02.s new file mode 100644 index 0000000000000000000000000000000000000000..d01c183d0f0f00e79508a172849c1b133d068fa6 --- /dev/null +++ b/20230516/sum-02.s @@ -0,0 +1,30 @@ + .file "sum-02.c" + .text + .globl sum + .type sum, @function +sum: +.LFB0: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + movl %edi, -20(%rbp) + movl %esi, -24(%rbp) + leaq -3(%rbp), %rax + movabsq $8583909746840200520, %rcx + movq %rcx, (%rax) + movl $1684828783, 8(%rax) + movw $33, 12(%rax) + movl -20(%rbp), %edx + movl -24(%rbp), %eax + addl %edx, %eax + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE0: + .size sum, .-sum + .ident "GCC: (Debian 8.3.0-6) 8.3.0" + .section .note.GNU-stack,"",@progbits diff --git a/20230516/sum-03.c b/20230516/sum-03.c new file mode 100644 index 0000000000000000000000000000000000000000..4cbd466b09454764c99a18633c9cc2526d6cc36e --- /dev/null +++ b/20230516/sum-03.c @@ -0,0 +1,10 @@ +#include <stdio.h> +#include <string.h> + +int sum (int a, int b) +{ + char hello[3]; + strcpy (hello, "Hello, world!"); + printf ("%s\n", hello); + return a + b; +} diff --git a/20230516/sum-03.s b/20230516/sum-03.s new file mode 100644 index 0000000000000000000000000000000000000000..21733108ec1742c345f494d089c7a551afb4b4e6 --- /dev/null +++ b/20230516/sum-03.s @@ -0,0 +1,960 @@ + .file "sum-03.c" + .text +.Ltext0: + .globl sum + .type sum, @function +sum: +.LVL0: +.LFB11: + .file 1 "sum-03.c" + .loc 1 5 1 view -0 + .cfi_startproc + .loc 1 5 1 is_stmt 0 view .LVU1 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + pushq %rbx + .cfi_def_cfa_offset 24 + .cfi_offset 3, -24 + subq $24, %rsp + .cfi_def_cfa_offset 48 + movl %edi, %ebx + movl %esi, %ebp + .loc 1 6 3 is_stmt 1 view .LVU2 + .loc 1 7 3 view .LVU3 + leaq 13(%rsp), %rdi +.LVL1: + .loc 1 7 3 is_stmt 0 view .LVU4 + movabsq $8583909746840200520, %rax + movq %rax, 13(%rsp) + movl $1684828783, 21(%rsp) + movw $33, 25(%rsp) + .loc 1 8 3 is_stmt 1 view .LVU5 + call puts@PLT +.LVL2: + .loc 1 9 3 view .LVU6 + .loc 1 9 12 is_stmt 0 view .LVU7 + leal (%rbx,%rbp), %eax + .loc 1 10 1 view .LVU8 + addq $24, %rsp + .cfi_def_cfa_offset 24 + popq %rbx + .cfi_def_cfa_offset 16 +.LVL3: + .loc 1 10 1 view .LVU9 + popq %rbp + .cfi_def_cfa_offset 8 +.LVL4: + .loc 1 10 1 view .LVU10 + ret + .cfi_endproc +.LFE11: + .size sum, .-sum +.Letext0: + .file 2 "/usr/lib/gcc/x86_64-linux-gnu/8/include/stddef.h" + .file 3 "/usr/include/x86_64-linux-gnu/bits/types.h" + .file 4 "/usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h" + .file 5 "/usr/include/x86_64-linux-gnu/bits/types/FILE.h" + .file 6 "/usr/include/stdio.h" + .file 7 "/usr/include/x86_64-linux-gnu/bits/sys_errlist.h" + .file 8 "<built-in>" + .section .debug_info,"",@progbits +.Ldebug_info0: + .long 0x364 + .value 0x4 + .long .Ldebug_abbrev0 + .byte 0x8 + .uleb128 0x1 + .long .LASF49 + .byte 0xc + .long .LASF50 + .long .LASF51 + .quad .Ltext0 + .quad .Letext0-.Ltext0 + .long .Ldebug_line0 + .uleb128 0x2 + .long .LASF7 + .byte 0x2 + .byte 0xd8 + .byte 0x17 + .long 0x39 + .uleb128 0x3 + .byte 0x8 + .byte 0x7 + .long .LASF0 + .uleb128 0x3 + .byte 0x4 + .byte 0x7 + .long .LASF1 + .uleb128 0x4 + .byte 0x8 + .uleb128 0x3 + .byte 0x1 + .byte 0x8 + .long .LASF2 + .uleb128 0x3 + .byte 0x2 + .byte 0x7 + .long .LASF3 + .uleb128 0x3 + .byte 0x1 + .byte 0x6 + .long .LASF4 + .uleb128 0x3 + .byte 0x2 + .byte 0x5 + .long .LASF5 + .uleb128 0x5 + .byte 0x4 + .byte 0x5 + .string "int" + .uleb128 0x3 + .byte 0x8 + .byte 0x5 + .long .LASF6 + .uleb128 0x2 + .long .LASF8 + .byte 0x3 + .byte 0x96 + .byte 0x19 + .long 0x6c + .uleb128 0x2 + .long .LASF9 + .byte 0x3 + .byte 0x97 + .byte 0x1b + .long 0x6c + .uleb128 0x6 + .byte 0x8 + .long 0x91 + .uleb128 0x3 + .byte 0x1 + .byte 0x6 + .long .LASF10 + .uleb128 0x7 + .long 0x91 + .uleb128 0x8 + .long .LASF52 + .byte 0xd8 + .byte 0x4 + .byte 0x31 + .byte 0x8 + .long 0x224 + .uleb128 0x9 + .long .LASF11 + .byte 0x4 + .byte 0x33 + .byte 0x7 + .long 0x65 + .byte 0 + .uleb128 0x9 + .long .LASF12 + .byte 0x4 + .byte 0x36 + .byte 0x9 + .long 0x8b + .byte 0x8 + .uleb128 0x9 + .long .LASF13 + .byte 0x4 + .byte 0x37 + .byte 0x9 + .long 0x8b + .byte 0x10 + .uleb128 0x9 + .long .LASF14 + .byte 0x4 + .byte 0x38 + .byte 0x9 + .long 0x8b + .byte 0x18 + .uleb128 0x9 + .long .LASF15 + .byte 0x4 + .byte 0x39 + .byte 0x9 + .long 0x8b + .byte 0x20 + .uleb128 0x9 + .long .LASF16 + .byte 0x4 + .byte 0x3a + .byte 0x9 + .long 0x8b + .byte 0x28 + .uleb128 0x9 + .long .LASF17 + .byte 0x4 + .byte 0x3b + .byte 0x9 + .long 0x8b + .byte 0x30 + .uleb128 0x9 + .long .LASF18 + .byte 0x4 + .byte 0x3c + .byte 0x9 + .long 0x8b + .byte 0x38 + .uleb128 0x9 + .long .LASF19 + .byte 0x4 + .byte 0x3d + .byte 0x9 + .long 0x8b + .byte 0x40 + .uleb128 0x9 + .long .LASF20 + .byte 0x4 + .byte 0x40 + .byte 0x9 + .long 0x8b + .byte 0x48 + .uleb128 0x9 + .long .LASF21 + .byte 0x4 + .byte 0x41 + .byte 0x9 + .long 0x8b + .byte 0x50 + .uleb128 0x9 + .long .LASF22 + .byte 0x4 + .byte 0x42 + .byte 0x9 + .long 0x8b + .byte 0x58 + .uleb128 0x9 + .long .LASF23 + .byte 0x4 + .byte 0x44 + .byte 0x16 + .long 0x23d + .byte 0x60 + .uleb128 0x9 + .long .LASF24 + .byte 0x4 + .byte 0x46 + .byte 0x14 + .long 0x243 + .byte 0x68 + .uleb128 0x9 + .long .LASF25 + .byte 0x4 + .byte 0x48 + .byte 0x7 + .long 0x65 + .byte 0x70 + .uleb128 0x9 + .long .LASF26 + .byte 0x4 + .byte 0x49 + .byte 0x7 + .long 0x65 + .byte 0x74 + .uleb128 0x9 + .long .LASF27 + .byte 0x4 + .byte 0x4a + .byte 0xb + .long 0x73 + .byte 0x78 + .uleb128 0x9 + .long .LASF28 + .byte 0x4 + .byte 0x4d + .byte 0x12 + .long 0x50 + .byte 0x80 + .uleb128 0x9 + .long .LASF29 + .byte 0x4 + .byte 0x4e + .byte 0xf + .long 0x57 + .byte 0x82 + .uleb128 0x9 + .long .LASF30 + .byte 0x4 + .byte 0x4f + .byte 0x8 + .long 0x249 + .byte 0x83 + .uleb128 0x9 + .long .LASF31 + .byte 0x4 + .byte 0x51 + .byte 0xf + .long 0x259 + .byte 0x88 + .uleb128 0x9 + .long .LASF32 + .byte 0x4 + .byte 0x59 + .byte 0xd + .long 0x7f + .byte 0x90 + .uleb128 0x9 + .long .LASF33 + .byte 0x4 + .byte 0x5b + .byte 0x17 + .long 0x264 + .byte 0x98 + .uleb128 0x9 + .long .LASF34 + .byte 0x4 + .byte 0x5c + .byte 0x19 + .long 0x26f + .byte 0xa0 + .uleb128 0x9 + .long .LASF35 + .byte 0x4 + .byte 0x5d + .byte 0x14 + .long 0x243 + .byte 0xa8 + .uleb128 0x9 + .long .LASF36 + .byte 0x4 + .byte 0x5e + .byte 0x9 + .long 0x47 + .byte 0xb0 + .uleb128 0x9 + .long .LASF37 + .byte 0x4 + .byte 0x5f + .byte 0xa + .long 0x2d + .byte 0xb8 + .uleb128 0x9 + .long .LASF38 + .byte 0x4 + .byte 0x60 + .byte 0x7 + .long 0x65 + .byte 0xc0 + .uleb128 0x9 + .long .LASF39 + .byte 0x4 + .byte 0x62 + .byte 0x8 + .long 0x275 + .byte 0xc4 + .byte 0 + .uleb128 0x2 + .long .LASF40 + .byte 0x5 + .byte 0x7 + .byte 0x19 + .long 0x9d + .uleb128 0xa + .long .LASF53 + .byte 0x4 + .byte 0x2b + .byte 0xe + .uleb128 0xb + .long .LASF41 + .uleb128 0x6 + .byte 0x8 + .long 0x238 + .uleb128 0x6 + .byte 0x8 + .long 0x9d + .uleb128 0xc + .long 0x91 + .long 0x259 + .uleb128 0xd + .long 0x39 + .byte 0 + .byte 0 + .uleb128 0x6 + .byte 0x8 + .long 0x230 + .uleb128 0xb + .long .LASF42 + .uleb128 0x6 + .byte 0x8 + .long 0x25f + .uleb128 0xb + .long .LASF43 + .uleb128 0x6 + .byte 0x8 + .long 0x26a + .uleb128 0xc + .long 0x91 + .long 0x285 + .uleb128 0xd + .long 0x39 + .byte 0x13 + .byte 0 + .uleb128 0xe + .long .LASF44 + .byte 0x6 + .byte 0x89 + .byte 0xe + .long 0x291 + .uleb128 0x6 + .byte 0x8 + .long 0x224 + .uleb128 0xe + .long .LASF45 + .byte 0x6 + .byte 0x8a + .byte 0xe + .long 0x291 + .uleb128 0xe + .long .LASF46 + .byte 0x6 + .byte 0x8b + .byte 0xe + .long 0x291 + .uleb128 0xe + .long .LASF47 + .byte 0x7 + .byte 0x1a + .byte 0xc + .long 0x65 + .uleb128 0xc + .long 0x2d1 + .long 0x2c6 + .uleb128 0xf + .byte 0 + .uleb128 0x7 + .long 0x2bb + .uleb128 0x6 + .byte 0x8 + .long 0x98 + .uleb128 0x7 + .long 0x2cb + .uleb128 0xe + .long .LASF48 + .byte 0x7 + .byte 0x1b + .byte 0x1a + .long 0x2c6 + .uleb128 0x10 + .string "sum" + .byte 0x1 + .byte 0x4 + .byte 0x5 + .long 0x65 + .quad .LFB11 + .quad .LFE11-.LFB11 + .uleb128 0x1 + .byte 0x9c + .long 0x34c + .uleb128 0x11 + .string "a" + .byte 0x1 + .byte 0x4 + .byte 0xe + .long 0x65 + .long .LLST0 + .long .LVUS0 + .uleb128 0x11 + .string "b" + .byte 0x1 + .byte 0x4 + .byte 0x15 + .long 0x65 + .long .LLST1 + .long .LVUS1 + .uleb128 0x12 + .long .LASF54 + .byte 0x1 + .byte 0x6 + .byte 0x8 + .long 0x34c + .uleb128 0x2 + .byte 0x91 + .sleb128 -35 + .uleb128 0x13 + .quad .LVL2 + .long 0x35c + .uleb128 0x14 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x91 + .sleb128 -35 + .byte 0 + .byte 0 + .uleb128 0xc + .long 0x91 + .long 0x35c + .uleb128 0xd + .long 0x39 + .byte 0x2 + .byte 0 + .uleb128 0x15 + .long .LASF55 + .long .LASF56 + .byte 0x8 + .byte 0 + .byte 0 + .section .debug_abbrev,"",@progbits +.Ldebug_abbrev0: + .uleb128 0x1 + .uleb128 0x11 + .byte 0x1 + .uleb128 0x25 + .uleb128 0xe + .uleb128 0x13 + .uleb128 0xb + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x1b + .uleb128 0xe + .uleb128 0x11 + .uleb128 0x1 + .uleb128 0x12 + .uleb128 0x7 + .uleb128 0x10 + .uleb128 0x17 + .byte 0 + .byte 0 + .uleb128 0x2 + .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 0x3 + .uleb128 0x24 + .byte 0 + .uleb128 0xb + .uleb128 0xb + .uleb128 0x3e + .uleb128 0xb + .uleb128 0x3 + .uleb128 0xe + .byte 0 + .byte 0 + .uleb128 0x4 + .uleb128 0xf + .byte 0 + .uleb128 0xb + .uleb128 0xb + .byte 0 + .byte 0 + .uleb128 0x5 + .uleb128 0x24 + .byte 0 + .uleb128 0xb + .uleb128 0xb + .uleb128 0x3e + .uleb128 0xb + .uleb128 0x3 + .uleb128 0x8 + .byte 0 + .byte 0 + .uleb128 0x6 + .uleb128 0xf + .byte 0 + .uleb128 0xb + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x7 + .uleb128 0x26 + .byte 0 + .uleb128 0x49 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x8 + .uleb128 0x13 + .byte 0x1 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0xb + .uleb128 0xb + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x9 + .uleb128 0xd + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x38 + .uleb128 0xb + .byte 0 + .byte 0 + .uleb128 0xa + .uleb128 0x16 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .byte 0 + .byte 0 + .uleb128 0xb + .uleb128 0x13 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3c + .uleb128 0x19 + .byte 0 + .byte 0 + .uleb128 0xc + .uleb128 0x1 + .byte 0x1 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0xd + .uleb128 0x21 + .byte 0 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x2f + .uleb128 0xb + .byte 0 + .byte 0 + .uleb128 0xe + .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 0x3c + .uleb128 0x19 + .byte 0 + .byte 0 + .uleb128 0xf + .uleb128 0x21 + .byte 0 + .byte 0 + .byte 0 + .uleb128 0x10 + .uleb128 0x2e + .byte 0x1 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3 + .uleb128 0x8 + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x27 + .uleb128 0x19 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x11 + .uleb128 0x1 + .uleb128 0x12 + .uleb128 0x7 + .uleb128 0x40 + .uleb128 0x18 + .uleb128 0x2117 + .uleb128 0x19 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x11 + .uleb128 0x5 + .byte 0 + .uleb128 0x3 + .uleb128 0x8 + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x2 + .uleb128 0x17 + .uleb128 0x2137 + .uleb128 0x17 + .byte 0 + .byte 0 + .uleb128 0x12 + .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 0x2 + .uleb128 0x18 + .byte 0 + .byte 0 + .uleb128 0x13 + .uleb128 0x4109 + .byte 0x1 + .uleb128 0x11 + .uleb128 0x1 + .uleb128 0x31 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x14 + .uleb128 0x410a + .byte 0 + .uleb128 0x2 + .uleb128 0x18 + .uleb128 0x2111 + .uleb128 0x18 + .byte 0 + .byte 0 + .uleb128 0x15 + .uleb128 0x2e + .byte 0 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3c + .uleb128 0x19 + .uleb128 0x6e + .uleb128 0xe + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .byte 0 + .byte 0 + .byte 0 + .section .debug_loc,"",@progbits +.Ldebug_loc0: +.LVUS0: + .uleb128 0 + .uleb128 .LVU4 + .uleb128 .LVU4 + .uleb128 .LVU9 + .uleb128 .LVU9 + .uleb128 0 +.LLST0: + .quad .LVL0-.Ltext0 + .quad .LVL1-.Ltext0 + .value 0x1 + .byte 0x55 + .quad .LVL1-.Ltext0 + .quad .LVL3-.Ltext0 + .value 0x1 + .byte 0x53 + .quad .LVL3-.Ltext0 + .quad .LFE11-.Ltext0 + .value 0x4 + .byte 0xf3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .quad 0 + .quad 0 +.LVUS1: + .uleb128 0 + .uleb128 .LVU6 + .uleb128 .LVU6 + .uleb128 .LVU10 + .uleb128 .LVU10 + .uleb128 0 +.LLST1: + .quad .LVL0-.Ltext0 + .quad .LVL2-1-.Ltext0 + .value 0x1 + .byte 0x54 + .quad .LVL2-1-.Ltext0 + .quad .LVL4-.Ltext0 + .value 0x1 + .byte 0x56 + .quad .LVL4-.Ltext0 + .quad .LFE11-.Ltext0 + .value 0x4 + .byte 0xf3 + .uleb128 0x1 + .byte 0x54 + .byte 0x9f + .quad 0 + .quad 0 + .section .debug_aranges,"",@progbits + .long 0x2c + .value 0x2 + .long .Ldebug_info0 + .byte 0x8 + .byte 0 + .value 0 + .value 0 + .quad .Ltext0 + .quad .Letext0-.Ltext0 + .quad 0 + .quad 0 + .section .debug_line,"",@progbits +.Ldebug_line0: + .section .debug_str,"MS",@progbits,1 +.LASF19: + .string "_IO_buf_end" +.LASF27: + .string "_old_offset" +.LASF56: + .string "__builtin_puts" +.LASF47: + .string "sys_nerr" +.LASF22: + .string "_IO_save_end" +.LASF5: + .string "short int" +.LASF7: + .string "size_t" +.LASF32: + .string "_offset" +.LASF49: + .string "GNU C17 8.3.0 -mtune=generic -march=x86-64 -g2 -O" +.LASF16: + .string "_IO_write_ptr" +.LASF11: + .string "_flags" +.LASF18: + .string "_IO_buf_base" +.LASF23: + .string "_markers" +.LASF13: + .string "_IO_read_end" +.LASF36: + .string "_freeres_buf" +.LASF54: + .string "hello" +.LASF46: + .string "stderr" +.LASF31: + .string "_lock" +.LASF6: + .string "long int" +.LASF28: + .string "_cur_column" +.LASF50: + .string "sum-03.c" +.LASF52: + .string "_IO_FILE" +.LASF51: + .string "/home/peter/bo/2023ss/rtech/20230516" +.LASF2: + .string "unsigned char" +.LASF4: + .string "signed char" +.LASF33: + .string "_codecvt" +.LASF1: + .string "unsigned int" +.LASF41: + .string "_IO_marker" +.LASF30: + .string "_shortbuf" +.LASF55: + .string "puts" +.LASF15: + .string "_IO_write_base" +.LASF39: + .string "_unused2" +.LASF12: + .string "_IO_read_ptr" +.LASF3: + .string "short unsigned int" +.LASF10: + .string "char" +.LASF34: + .string "_wide_data" +.LASF35: + .string "_freeres_list" +.LASF37: + .string "__pad5" +.LASF42: + .string "_IO_codecvt" +.LASF0: + .string "long unsigned int" +.LASF17: + .string "_IO_write_end" +.LASF9: + .string "__off64_t" +.LASF8: + .string "__off_t" +.LASF24: + .string "_chain" +.LASF43: + .string "_IO_wide_data" +.LASF21: + .string "_IO_backup_base" +.LASF44: + .string "stdin" +.LASF26: + .string "_flags2" +.LASF38: + .string "_mode" +.LASF14: + .string "_IO_read_base" +.LASF29: + .string "_vtable_offset" +.LASF20: + .string "_IO_save_base" +.LASF48: + .string "sys_errlist" +.LASF25: + .string "_fileno" +.LASF40: + .string "FILE" +.LASF45: + .string "stdout" +.LASF53: + .string "_IO_lock_t" + .ident "GCC: (Debian 8.3.0-6) 8.3.0" + .section .note.GNU-stack,"",@progbits diff --git a/20230516/sum-04.c b/20230516/sum-04.c new file mode 100644 index 0000000000000000000000000000000000000000..6f3c083f76422b15ffd37c78950bc7e3dd1a25e8 --- /dev/null +++ b/20230516/sum-04.c @@ -0,0 +1,10 @@ +#include <stdio.h> +#include <string.h> + +int sum (int a, int b) +{ + volatile char hello[3]; + strcpy (hello, "Hello, world!"); + printf ("%s\n", hello); + return a + b; +} diff --git a/20230516/sum-04.s b/20230516/sum-04.s new file mode 100644 index 0000000000000000000000000000000000000000..ab6869ef2a6b22bb0ae5025a53c670272e53037d --- /dev/null +++ b/20230516/sum-04.s @@ -0,0 +1,960 @@ + .file "sum-04.c" + .text +.Ltext0: + .globl sum + .type sum, @function +sum: +.LVL0: +.LFB11: + .file 1 "sum-04.c" + .loc 1 5 1 view -0 + .cfi_startproc + .loc 1 5 1 is_stmt 0 view .LVU1 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + pushq %rbx + .cfi_def_cfa_offset 24 + .cfi_offset 3, -24 + subq $24, %rsp + .cfi_def_cfa_offset 48 + movl %edi, %ebx + movl %esi, %ebp + .loc 1 6 3 is_stmt 1 view .LVU2 + .loc 1 7 3 view .LVU3 + leaq 13(%rsp), %rdi +.LVL1: + .loc 1 7 3 is_stmt 0 view .LVU4 + movabsq $8583909746840200520, %rax + movq %rax, 13(%rsp) + movl $1684828783, 21(%rsp) + movw $33, 25(%rsp) + .loc 1 8 3 is_stmt 1 view .LVU5 + call puts@PLT +.LVL2: + .loc 1 9 3 view .LVU6 + .loc 1 9 12 is_stmt 0 view .LVU7 + leal (%rbx,%rbp), %eax + .loc 1 10 1 view .LVU8 + addq $24, %rsp + .cfi_def_cfa_offset 24 + popq %rbx + .cfi_def_cfa_offset 16 +.LVL3: + .loc 1 10 1 view .LVU9 + popq %rbp + .cfi_def_cfa_offset 8 +.LVL4: + .loc 1 10 1 view .LVU10 + ret + .cfi_endproc +.LFE11: + .size sum, .-sum +.Letext0: + .file 2 "/usr/lib/gcc/x86_64-linux-gnu/8/include/stddef.h" + .file 3 "/usr/include/x86_64-linux-gnu/bits/types.h" + .file 4 "/usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h" + .file 5 "/usr/include/x86_64-linux-gnu/bits/types/FILE.h" + .file 6 "/usr/include/stdio.h" + .file 7 "/usr/include/x86_64-linux-gnu/bits/sys_errlist.h" + .file 8 "<built-in>" + .section .debug_info,"",@progbits +.Ldebug_info0: + .long 0x364 + .value 0x4 + .long .Ldebug_abbrev0 + .byte 0x8 + .uleb128 0x1 + .long .LASF49 + .byte 0xc + .long .LASF50 + .long .LASF51 + .quad .Ltext0 + .quad .Letext0-.Ltext0 + .long .Ldebug_line0 + .uleb128 0x2 + .long .LASF7 + .byte 0x2 + .byte 0xd8 + .byte 0x17 + .long 0x39 + .uleb128 0x3 + .byte 0x8 + .byte 0x7 + .long .LASF0 + .uleb128 0x3 + .byte 0x4 + .byte 0x7 + .long .LASF1 + .uleb128 0x4 + .byte 0x8 + .uleb128 0x3 + .byte 0x1 + .byte 0x8 + .long .LASF2 + .uleb128 0x3 + .byte 0x2 + .byte 0x7 + .long .LASF3 + .uleb128 0x3 + .byte 0x1 + .byte 0x6 + .long .LASF4 + .uleb128 0x3 + .byte 0x2 + .byte 0x5 + .long .LASF5 + .uleb128 0x5 + .byte 0x4 + .byte 0x5 + .string "int" + .uleb128 0x3 + .byte 0x8 + .byte 0x5 + .long .LASF6 + .uleb128 0x2 + .long .LASF8 + .byte 0x3 + .byte 0x96 + .byte 0x19 + .long 0x6c + .uleb128 0x2 + .long .LASF9 + .byte 0x3 + .byte 0x97 + .byte 0x1b + .long 0x6c + .uleb128 0x6 + .byte 0x8 + .long 0x91 + .uleb128 0x3 + .byte 0x1 + .byte 0x6 + .long .LASF10 + .uleb128 0x7 + .long 0x91 + .uleb128 0x8 + .long .LASF52 + .byte 0xd8 + .byte 0x4 + .byte 0x31 + .byte 0x8 + .long 0x224 + .uleb128 0x9 + .long .LASF11 + .byte 0x4 + .byte 0x33 + .byte 0x7 + .long 0x65 + .byte 0 + .uleb128 0x9 + .long .LASF12 + .byte 0x4 + .byte 0x36 + .byte 0x9 + .long 0x8b + .byte 0x8 + .uleb128 0x9 + .long .LASF13 + .byte 0x4 + .byte 0x37 + .byte 0x9 + .long 0x8b + .byte 0x10 + .uleb128 0x9 + .long .LASF14 + .byte 0x4 + .byte 0x38 + .byte 0x9 + .long 0x8b + .byte 0x18 + .uleb128 0x9 + .long .LASF15 + .byte 0x4 + .byte 0x39 + .byte 0x9 + .long 0x8b + .byte 0x20 + .uleb128 0x9 + .long .LASF16 + .byte 0x4 + .byte 0x3a + .byte 0x9 + .long 0x8b + .byte 0x28 + .uleb128 0x9 + .long .LASF17 + .byte 0x4 + .byte 0x3b + .byte 0x9 + .long 0x8b + .byte 0x30 + .uleb128 0x9 + .long .LASF18 + .byte 0x4 + .byte 0x3c + .byte 0x9 + .long 0x8b + .byte 0x38 + .uleb128 0x9 + .long .LASF19 + .byte 0x4 + .byte 0x3d + .byte 0x9 + .long 0x8b + .byte 0x40 + .uleb128 0x9 + .long .LASF20 + .byte 0x4 + .byte 0x40 + .byte 0x9 + .long 0x8b + .byte 0x48 + .uleb128 0x9 + .long .LASF21 + .byte 0x4 + .byte 0x41 + .byte 0x9 + .long 0x8b + .byte 0x50 + .uleb128 0x9 + .long .LASF22 + .byte 0x4 + .byte 0x42 + .byte 0x9 + .long 0x8b + .byte 0x58 + .uleb128 0x9 + .long .LASF23 + .byte 0x4 + .byte 0x44 + .byte 0x16 + .long 0x23d + .byte 0x60 + .uleb128 0x9 + .long .LASF24 + .byte 0x4 + .byte 0x46 + .byte 0x14 + .long 0x243 + .byte 0x68 + .uleb128 0x9 + .long .LASF25 + .byte 0x4 + .byte 0x48 + .byte 0x7 + .long 0x65 + .byte 0x70 + .uleb128 0x9 + .long .LASF26 + .byte 0x4 + .byte 0x49 + .byte 0x7 + .long 0x65 + .byte 0x74 + .uleb128 0x9 + .long .LASF27 + .byte 0x4 + .byte 0x4a + .byte 0xb + .long 0x73 + .byte 0x78 + .uleb128 0x9 + .long .LASF28 + .byte 0x4 + .byte 0x4d + .byte 0x12 + .long 0x50 + .byte 0x80 + .uleb128 0x9 + .long .LASF29 + .byte 0x4 + .byte 0x4e + .byte 0xf + .long 0x57 + .byte 0x82 + .uleb128 0x9 + .long .LASF30 + .byte 0x4 + .byte 0x4f + .byte 0x8 + .long 0x249 + .byte 0x83 + .uleb128 0x9 + .long .LASF31 + .byte 0x4 + .byte 0x51 + .byte 0xf + .long 0x259 + .byte 0x88 + .uleb128 0x9 + .long .LASF32 + .byte 0x4 + .byte 0x59 + .byte 0xd + .long 0x7f + .byte 0x90 + .uleb128 0x9 + .long .LASF33 + .byte 0x4 + .byte 0x5b + .byte 0x17 + .long 0x264 + .byte 0x98 + .uleb128 0x9 + .long .LASF34 + .byte 0x4 + .byte 0x5c + .byte 0x19 + .long 0x26f + .byte 0xa0 + .uleb128 0x9 + .long .LASF35 + .byte 0x4 + .byte 0x5d + .byte 0x14 + .long 0x243 + .byte 0xa8 + .uleb128 0x9 + .long .LASF36 + .byte 0x4 + .byte 0x5e + .byte 0x9 + .long 0x47 + .byte 0xb0 + .uleb128 0x9 + .long .LASF37 + .byte 0x4 + .byte 0x5f + .byte 0xa + .long 0x2d + .byte 0xb8 + .uleb128 0x9 + .long .LASF38 + .byte 0x4 + .byte 0x60 + .byte 0x7 + .long 0x65 + .byte 0xc0 + .uleb128 0x9 + .long .LASF39 + .byte 0x4 + .byte 0x62 + .byte 0x8 + .long 0x275 + .byte 0xc4 + .byte 0 + .uleb128 0x2 + .long .LASF40 + .byte 0x5 + .byte 0x7 + .byte 0x19 + .long 0x9d + .uleb128 0xa + .long .LASF53 + .byte 0x4 + .byte 0x2b + .byte 0xe + .uleb128 0xb + .long .LASF41 + .uleb128 0x6 + .byte 0x8 + .long 0x238 + .uleb128 0x6 + .byte 0x8 + .long 0x9d + .uleb128 0xc + .long 0x91 + .long 0x259 + .uleb128 0xd + .long 0x39 + .byte 0 + .byte 0 + .uleb128 0x6 + .byte 0x8 + .long 0x230 + .uleb128 0xb + .long .LASF42 + .uleb128 0x6 + .byte 0x8 + .long 0x25f + .uleb128 0xb + .long .LASF43 + .uleb128 0x6 + .byte 0x8 + .long 0x26a + .uleb128 0xc + .long 0x91 + .long 0x285 + .uleb128 0xd + .long 0x39 + .byte 0x13 + .byte 0 + .uleb128 0xe + .long .LASF44 + .byte 0x6 + .byte 0x89 + .byte 0xe + .long 0x291 + .uleb128 0x6 + .byte 0x8 + .long 0x224 + .uleb128 0xe + .long .LASF45 + .byte 0x6 + .byte 0x8a + .byte 0xe + .long 0x291 + .uleb128 0xe + .long .LASF46 + .byte 0x6 + .byte 0x8b + .byte 0xe + .long 0x291 + .uleb128 0xe + .long .LASF47 + .byte 0x7 + .byte 0x1a + .byte 0xc + .long 0x65 + .uleb128 0xc + .long 0x2d1 + .long 0x2c6 + .uleb128 0xf + .byte 0 + .uleb128 0x7 + .long 0x2bb + .uleb128 0x6 + .byte 0x8 + .long 0x98 + .uleb128 0x7 + .long 0x2cb + .uleb128 0xe + .long .LASF48 + .byte 0x7 + .byte 0x1b + .byte 0x1a + .long 0x2c6 + .uleb128 0x10 + .string "sum" + .byte 0x1 + .byte 0x4 + .byte 0x5 + .long 0x65 + .quad .LFB11 + .quad .LFE11-.LFB11 + .uleb128 0x1 + .byte 0x9c + .long 0x34c + .uleb128 0x11 + .string "a" + .byte 0x1 + .byte 0x4 + .byte 0xe + .long 0x65 + .long .LLST0 + .long .LVUS0 + .uleb128 0x11 + .string "b" + .byte 0x1 + .byte 0x4 + .byte 0x15 + .long 0x65 + .long .LLST1 + .long .LVUS1 + .uleb128 0x12 + .long .LASF54 + .byte 0x1 + .byte 0x6 + .byte 0x8 + .long 0x34c + .uleb128 0x2 + .byte 0x91 + .sleb128 -35 + .uleb128 0x13 + .quad .LVL2 + .long 0x35c + .uleb128 0x14 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x91 + .sleb128 -35 + .byte 0 + .byte 0 + .uleb128 0xc + .long 0x91 + .long 0x35c + .uleb128 0xd + .long 0x39 + .byte 0x2 + .byte 0 + .uleb128 0x15 + .long .LASF55 + .long .LASF56 + .byte 0x8 + .byte 0 + .byte 0 + .section .debug_abbrev,"",@progbits +.Ldebug_abbrev0: + .uleb128 0x1 + .uleb128 0x11 + .byte 0x1 + .uleb128 0x25 + .uleb128 0xe + .uleb128 0x13 + .uleb128 0xb + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x1b + .uleb128 0xe + .uleb128 0x11 + .uleb128 0x1 + .uleb128 0x12 + .uleb128 0x7 + .uleb128 0x10 + .uleb128 0x17 + .byte 0 + .byte 0 + .uleb128 0x2 + .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 0x3 + .uleb128 0x24 + .byte 0 + .uleb128 0xb + .uleb128 0xb + .uleb128 0x3e + .uleb128 0xb + .uleb128 0x3 + .uleb128 0xe + .byte 0 + .byte 0 + .uleb128 0x4 + .uleb128 0xf + .byte 0 + .uleb128 0xb + .uleb128 0xb + .byte 0 + .byte 0 + .uleb128 0x5 + .uleb128 0x24 + .byte 0 + .uleb128 0xb + .uleb128 0xb + .uleb128 0x3e + .uleb128 0xb + .uleb128 0x3 + .uleb128 0x8 + .byte 0 + .byte 0 + .uleb128 0x6 + .uleb128 0xf + .byte 0 + .uleb128 0xb + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x7 + .uleb128 0x26 + .byte 0 + .uleb128 0x49 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x8 + .uleb128 0x13 + .byte 0x1 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0xb + .uleb128 0xb + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x9 + .uleb128 0xd + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x38 + .uleb128 0xb + .byte 0 + .byte 0 + .uleb128 0xa + .uleb128 0x16 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .byte 0 + .byte 0 + .uleb128 0xb + .uleb128 0x13 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3c + .uleb128 0x19 + .byte 0 + .byte 0 + .uleb128 0xc + .uleb128 0x1 + .byte 0x1 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0xd + .uleb128 0x21 + .byte 0 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x2f + .uleb128 0xb + .byte 0 + .byte 0 + .uleb128 0xe + .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 0x3c + .uleb128 0x19 + .byte 0 + .byte 0 + .uleb128 0xf + .uleb128 0x21 + .byte 0 + .byte 0 + .byte 0 + .uleb128 0x10 + .uleb128 0x2e + .byte 0x1 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3 + .uleb128 0x8 + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x27 + .uleb128 0x19 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x11 + .uleb128 0x1 + .uleb128 0x12 + .uleb128 0x7 + .uleb128 0x40 + .uleb128 0x18 + .uleb128 0x2117 + .uleb128 0x19 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x11 + .uleb128 0x5 + .byte 0 + .uleb128 0x3 + .uleb128 0x8 + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x2 + .uleb128 0x17 + .uleb128 0x2137 + .uleb128 0x17 + .byte 0 + .byte 0 + .uleb128 0x12 + .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 0x2 + .uleb128 0x18 + .byte 0 + .byte 0 + .uleb128 0x13 + .uleb128 0x4109 + .byte 0x1 + .uleb128 0x11 + .uleb128 0x1 + .uleb128 0x31 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x14 + .uleb128 0x410a + .byte 0 + .uleb128 0x2 + .uleb128 0x18 + .uleb128 0x2111 + .uleb128 0x18 + .byte 0 + .byte 0 + .uleb128 0x15 + .uleb128 0x2e + .byte 0 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3c + .uleb128 0x19 + .uleb128 0x6e + .uleb128 0xe + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .byte 0 + .byte 0 + .byte 0 + .section .debug_loc,"",@progbits +.Ldebug_loc0: +.LVUS0: + .uleb128 0 + .uleb128 .LVU4 + .uleb128 .LVU4 + .uleb128 .LVU9 + .uleb128 .LVU9 + .uleb128 0 +.LLST0: + .quad .LVL0-.Ltext0 + .quad .LVL1-.Ltext0 + .value 0x1 + .byte 0x55 + .quad .LVL1-.Ltext0 + .quad .LVL3-.Ltext0 + .value 0x1 + .byte 0x53 + .quad .LVL3-.Ltext0 + .quad .LFE11-.Ltext0 + .value 0x4 + .byte 0xf3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .quad 0 + .quad 0 +.LVUS1: + .uleb128 0 + .uleb128 .LVU6 + .uleb128 .LVU6 + .uleb128 .LVU10 + .uleb128 .LVU10 + .uleb128 0 +.LLST1: + .quad .LVL0-.Ltext0 + .quad .LVL2-1-.Ltext0 + .value 0x1 + .byte 0x54 + .quad .LVL2-1-.Ltext0 + .quad .LVL4-.Ltext0 + .value 0x1 + .byte 0x56 + .quad .LVL4-.Ltext0 + .quad .LFE11-.Ltext0 + .value 0x4 + .byte 0xf3 + .uleb128 0x1 + .byte 0x54 + .byte 0x9f + .quad 0 + .quad 0 + .section .debug_aranges,"",@progbits + .long 0x2c + .value 0x2 + .long .Ldebug_info0 + .byte 0x8 + .byte 0 + .value 0 + .value 0 + .quad .Ltext0 + .quad .Letext0-.Ltext0 + .quad 0 + .quad 0 + .section .debug_line,"",@progbits +.Ldebug_line0: + .section .debug_str,"MS",@progbits,1 +.LASF19: + .string "_IO_buf_end" +.LASF27: + .string "_old_offset" +.LASF56: + .string "__builtin_puts" +.LASF47: + .string "sys_nerr" +.LASF22: + .string "_IO_save_end" +.LASF5: + .string "short int" +.LASF7: + .string "size_t" +.LASF32: + .string "_offset" +.LASF49: + .string "GNU C17 8.3.0 -mtune=generic -march=x86-64 -g2 -O" +.LASF16: + .string "_IO_write_ptr" +.LASF11: + .string "_flags" +.LASF18: + .string "_IO_buf_base" +.LASF23: + .string "_markers" +.LASF13: + .string "_IO_read_end" +.LASF36: + .string "_freeres_buf" +.LASF54: + .string "hello" +.LASF50: + .string "sum-04.c" +.LASF46: + .string "stderr" +.LASF31: + .string "_lock" +.LASF6: + .string "long int" +.LASF28: + .string "_cur_column" +.LASF52: + .string "_IO_FILE" +.LASF51: + .string "/home/peter/bo/2023ss/rtech/20230516" +.LASF2: + .string "unsigned char" +.LASF4: + .string "signed char" +.LASF33: + .string "_codecvt" +.LASF1: + .string "unsigned int" +.LASF41: + .string "_IO_marker" +.LASF30: + .string "_shortbuf" +.LASF55: + .string "puts" +.LASF15: + .string "_IO_write_base" +.LASF39: + .string "_unused2" +.LASF12: + .string "_IO_read_ptr" +.LASF3: + .string "short unsigned int" +.LASF10: + .string "char" +.LASF34: + .string "_wide_data" +.LASF35: + .string "_freeres_list" +.LASF37: + .string "__pad5" +.LASF42: + .string "_IO_codecvt" +.LASF0: + .string "long unsigned int" +.LASF17: + .string "_IO_write_end" +.LASF9: + .string "__off64_t" +.LASF8: + .string "__off_t" +.LASF24: + .string "_chain" +.LASF43: + .string "_IO_wide_data" +.LASF21: + .string "_IO_backup_base" +.LASF44: + .string "stdin" +.LASF26: + .string "_flags2" +.LASF38: + .string "_mode" +.LASF14: + .string "_IO_read_base" +.LASF29: + .string "_vtable_offset" +.LASF20: + .string "_IO_save_base" +.LASF48: + .string "sys_errlist" +.LASF25: + .string "_fileno" +.LASF40: + .string "FILE" +.LASF45: + .string "stdout" +.LASF53: + .string "_IO_lock_t" + .ident "GCC: (Debian 8.3.0-6) 8.3.0" + .section .note.GNU-stack,"",@progbits diff --git a/20230516/sum-05.c b/20230516/sum-05.c new file mode 100644 index 0000000000000000000000000000000000000000..8252afb12a3ed3d4717f4ff3225deacb91157ce3 --- /dev/null +++ b/20230516/sum-05.c @@ -0,0 +1,11 @@ +#include <stdio.h> +#include <string.h> + +int sum (int a, int b) +{ + volatile char hello[3]; + strcpy (hello, "Hello, world!"); + hello[1] = 'a'; + printf ("%s\n", hello); + return a + b; +} diff --git a/20230516/sum-06.c b/20230516/sum-06.c new file mode 100644 index 0000000000000000000000000000000000000000..74b27698f870b295cfc1989415214ca6850c78de --- /dev/null +++ b/20230516/sum-06.c @@ -0,0 +1,12 @@ +#include <stdio.h> +#include <string.h> + +int sum (int a, int b) +{ + volatile char hello[3]; + strcpy (hello, "Hello, world!"); + hello[1] = 'a'; + hello[12] = '?'; + printf ("%s\n", hello); + return a + b; +} diff --git a/20230516/sum-06.s b/20230516/sum-06.s new file mode 100644 index 0000000000000000000000000000000000000000..f3dd5ff832015385afbf9ac0aec3332f3708c3af --- /dev/null +++ b/20230516/sum-06.s @@ -0,0 +1,977 @@ + .file "sum-06.c" + .text +.Ltext0: + .globl sum + .type sum, @function +sum: +.LVL0: +.LFB11: + .file 1 "sum-06.c" + .loc 1 5 1 view -0 + .cfi_startproc + .loc 1 5 1 is_stmt 0 view .LVU1 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + pushq %rbx + .cfi_def_cfa_offset 24 + .cfi_offset 3, -24 + subq $24, %rsp + .cfi_def_cfa_offset 48 + movl %edi, %ebx + movl %esi, %ebp + .loc 1 6 3 is_stmt 1 view .LVU2 + .loc 1 7 3 view .LVU3 + leaq 13(%rsp), %rdi +.LVL1: + .loc 1 7 3 is_stmt 0 view .LVU4 + movabsq $8583909746840200520, %rax + movq %rax, 13(%rsp) + movl $1684828783, 21(%rsp) + movw $33, 25(%rsp) + .loc 1 8 3 is_stmt 1 view .LVU5 + .loc 1 8 12 is_stmt 0 view .LVU6 + movb $97, 14(%rsp) + .loc 1 9 3 is_stmt 1 view .LVU7 + .loc 1 9 13 is_stmt 0 view .LVU8 + movb $63, 25(%rsp) + .loc 1 10 3 is_stmt 1 view .LVU9 + call puts@PLT +.LVL2: + .loc 1 11 3 view .LVU10 + .loc 1 11 12 is_stmt 0 view .LVU11 + leal (%rbx,%rbp), %eax + .loc 1 12 1 view .LVU12 + addq $24, %rsp + .cfi_def_cfa_offset 24 + popq %rbx + .cfi_def_cfa_offset 16 +.LVL3: + .loc 1 12 1 view .LVU13 + popq %rbp + .cfi_def_cfa_offset 8 +.LVL4: + .loc 1 12 1 view .LVU14 + ret + .cfi_endproc +.LFE11: + .size sum, .-sum +.Letext0: + .file 2 "/usr/lib/gcc/x86_64-linux-gnu/8/include/stddef.h" + .file 3 "/usr/include/x86_64-linux-gnu/bits/types.h" + .file 4 "/usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h" + .file 5 "/usr/include/x86_64-linux-gnu/bits/types/FILE.h" + .file 6 "/usr/include/stdio.h" + .file 7 "/usr/include/x86_64-linux-gnu/bits/sys_errlist.h" + .file 8 "<built-in>" + .section .debug_info,"",@progbits +.Ldebug_info0: + .long 0x36e + .value 0x4 + .long .Ldebug_abbrev0 + .byte 0x8 + .uleb128 0x1 + .long .LASF49 + .byte 0xc + .long .LASF50 + .long .LASF51 + .quad .Ltext0 + .quad .Letext0-.Ltext0 + .long .Ldebug_line0 + .uleb128 0x2 + .long .LASF7 + .byte 0x2 + .byte 0xd8 + .byte 0x17 + .long 0x39 + .uleb128 0x3 + .byte 0x8 + .byte 0x7 + .long .LASF0 + .uleb128 0x3 + .byte 0x4 + .byte 0x7 + .long .LASF1 + .uleb128 0x4 + .byte 0x8 + .uleb128 0x3 + .byte 0x1 + .byte 0x8 + .long .LASF2 + .uleb128 0x3 + .byte 0x2 + .byte 0x7 + .long .LASF3 + .uleb128 0x3 + .byte 0x1 + .byte 0x6 + .long .LASF4 + .uleb128 0x3 + .byte 0x2 + .byte 0x5 + .long .LASF5 + .uleb128 0x5 + .byte 0x4 + .byte 0x5 + .string "int" + .uleb128 0x3 + .byte 0x8 + .byte 0x5 + .long .LASF6 + .uleb128 0x2 + .long .LASF8 + .byte 0x3 + .byte 0x96 + .byte 0x19 + .long 0x6c + .uleb128 0x2 + .long .LASF9 + .byte 0x3 + .byte 0x97 + .byte 0x1b + .long 0x6c + .uleb128 0x6 + .byte 0x8 + .long 0x91 + .uleb128 0x3 + .byte 0x1 + .byte 0x6 + .long .LASF10 + .uleb128 0x7 + .long 0x91 + .uleb128 0x8 + .long 0x91 + .uleb128 0x9 + .long .LASF52 + .byte 0xd8 + .byte 0x4 + .byte 0x31 + .byte 0x8 + .long 0x229 + .uleb128 0xa + .long .LASF11 + .byte 0x4 + .byte 0x33 + .byte 0x7 + .long 0x65 + .byte 0 + .uleb128 0xa + .long .LASF12 + .byte 0x4 + .byte 0x36 + .byte 0x9 + .long 0x8b + .byte 0x8 + .uleb128 0xa + .long .LASF13 + .byte 0x4 + .byte 0x37 + .byte 0x9 + .long 0x8b + .byte 0x10 + .uleb128 0xa + .long .LASF14 + .byte 0x4 + .byte 0x38 + .byte 0x9 + .long 0x8b + .byte 0x18 + .uleb128 0xa + .long .LASF15 + .byte 0x4 + .byte 0x39 + .byte 0x9 + .long 0x8b + .byte 0x20 + .uleb128 0xa + .long .LASF16 + .byte 0x4 + .byte 0x3a + .byte 0x9 + .long 0x8b + .byte 0x28 + .uleb128 0xa + .long .LASF17 + .byte 0x4 + .byte 0x3b + .byte 0x9 + .long 0x8b + .byte 0x30 + .uleb128 0xa + .long .LASF18 + .byte 0x4 + .byte 0x3c + .byte 0x9 + .long 0x8b + .byte 0x38 + .uleb128 0xa + .long .LASF19 + .byte 0x4 + .byte 0x3d + .byte 0x9 + .long 0x8b + .byte 0x40 + .uleb128 0xa + .long .LASF20 + .byte 0x4 + .byte 0x40 + .byte 0x9 + .long 0x8b + .byte 0x48 + .uleb128 0xa + .long .LASF21 + .byte 0x4 + .byte 0x41 + .byte 0x9 + .long 0x8b + .byte 0x50 + .uleb128 0xa + .long .LASF22 + .byte 0x4 + .byte 0x42 + .byte 0x9 + .long 0x8b + .byte 0x58 + .uleb128 0xa + .long .LASF23 + .byte 0x4 + .byte 0x44 + .byte 0x16 + .long 0x242 + .byte 0x60 + .uleb128 0xa + .long .LASF24 + .byte 0x4 + .byte 0x46 + .byte 0x14 + .long 0x248 + .byte 0x68 + .uleb128 0xa + .long .LASF25 + .byte 0x4 + .byte 0x48 + .byte 0x7 + .long 0x65 + .byte 0x70 + .uleb128 0xa + .long .LASF26 + .byte 0x4 + .byte 0x49 + .byte 0x7 + .long 0x65 + .byte 0x74 + .uleb128 0xa + .long .LASF27 + .byte 0x4 + .byte 0x4a + .byte 0xb + .long 0x73 + .byte 0x78 + .uleb128 0xa + .long .LASF28 + .byte 0x4 + .byte 0x4d + .byte 0x12 + .long 0x50 + .byte 0x80 + .uleb128 0xa + .long .LASF29 + .byte 0x4 + .byte 0x4e + .byte 0xf + .long 0x57 + .byte 0x82 + .uleb128 0xa + .long .LASF30 + .byte 0x4 + .byte 0x4f + .byte 0x8 + .long 0x24e + .byte 0x83 + .uleb128 0xa + .long .LASF31 + .byte 0x4 + .byte 0x51 + .byte 0xf + .long 0x25e + .byte 0x88 + .uleb128 0xa + .long .LASF32 + .byte 0x4 + .byte 0x59 + .byte 0xd + .long 0x7f + .byte 0x90 + .uleb128 0xa + .long .LASF33 + .byte 0x4 + .byte 0x5b + .byte 0x17 + .long 0x269 + .byte 0x98 + .uleb128 0xa + .long .LASF34 + .byte 0x4 + .byte 0x5c + .byte 0x19 + .long 0x274 + .byte 0xa0 + .uleb128 0xa + .long .LASF35 + .byte 0x4 + .byte 0x5d + .byte 0x14 + .long 0x248 + .byte 0xa8 + .uleb128 0xa + .long .LASF36 + .byte 0x4 + .byte 0x5e + .byte 0x9 + .long 0x47 + .byte 0xb0 + .uleb128 0xa + .long .LASF37 + .byte 0x4 + .byte 0x5f + .byte 0xa + .long 0x2d + .byte 0xb8 + .uleb128 0xa + .long .LASF38 + .byte 0x4 + .byte 0x60 + .byte 0x7 + .long 0x65 + .byte 0xc0 + .uleb128 0xa + .long .LASF39 + .byte 0x4 + .byte 0x62 + .byte 0x8 + .long 0x27a + .byte 0xc4 + .byte 0 + .uleb128 0x2 + .long .LASF40 + .byte 0x5 + .byte 0x7 + .byte 0x19 + .long 0xa2 + .uleb128 0xb + .long .LASF53 + .byte 0x4 + .byte 0x2b + .byte 0xe + .uleb128 0xc + .long .LASF41 + .uleb128 0x6 + .byte 0x8 + .long 0x23d + .uleb128 0x6 + .byte 0x8 + .long 0xa2 + .uleb128 0xd + .long 0x91 + .long 0x25e + .uleb128 0xe + .long 0x39 + .byte 0 + .byte 0 + .uleb128 0x6 + .byte 0x8 + .long 0x235 + .uleb128 0xc + .long .LASF42 + .uleb128 0x6 + .byte 0x8 + .long 0x264 + .uleb128 0xc + .long .LASF43 + .uleb128 0x6 + .byte 0x8 + .long 0x26f + .uleb128 0xd + .long 0x91 + .long 0x28a + .uleb128 0xe + .long 0x39 + .byte 0x13 + .byte 0 + .uleb128 0xf + .long .LASF44 + .byte 0x6 + .byte 0x89 + .byte 0xe + .long 0x296 + .uleb128 0x6 + .byte 0x8 + .long 0x229 + .uleb128 0xf + .long .LASF45 + .byte 0x6 + .byte 0x8a + .byte 0xe + .long 0x296 + .uleb128 0xf + .long .LASF46 + .byte 0x6 + .byte 0x8b + .byte 0xe + .long 0x296 + .uleb128 0xf + .long .LASF47 + .byte 0x7 + .byte 0x1a + .byte 0xc + .long 0x65 + .uleb128 0xd + .long 0x2d6 + .long 0x2cb + .uleb128 0x10 + .byte 0 + .uleb128 0x7 + .long 0x2c0 + .uleb128 0x6 + .byte 0x8 + .long 0x98 + .uleb128 0x7 + .long 0x2d0 + .uleb128 0xf + .long .LASF48 + .byte 0x7 + .byte 0x1b + .byte 0x1a + .long 0x2cb + .uleb128 0x11 + .string "sum" + .byte 0x1 + .byte 0x4 + .byte 0x5 + .long 0x65 + .quad .LFB11 + .quad .LFE11-.LFB11 + .uleb128 0x1 + .byte 0x9c + .long 0x351 + .uleb128 0x12 + .string "a" + .byte 0x1 + .byte 0x4 + .byte 0xe + .long 0x65 + .long .LLST0 + .long .LVUS0 + .uleb128 0x12 + .string "b" + .byte 0x1 + .byte 0x4 + .byte 0x15 + .long 0x65 + .long .LLST1 + .long .LVUS1 + .uleb128 0x13 + .long .LASF54 + .byte 0x1 + .byte 0x6 + .byte 0x11 + .long 0x361 + .uleb128 0x2 + .byte 0x91 + .sleb128 -35 + .uleb128 0x14 + .quad .LVL2 + .long 0x366 + .uleb128 0x15 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x91 + .sleb128 -35 + .byte 0 + .byte 0 + .uleb128 0xd + .long 0x9d + .long 0x361 + .uleb128 0xe + .long 0x39 + .byte 0x2 + .byte 0 + .uleb128 0x8 + .long 0x351 + .uleb128 0x16 + .long .LASF55 + .long .LASF56 + .byte 0x8 + .byte 0 + .byte 0 + .section .debug_abbrev,"",@progbits +.Ldebug_abbrev0: + .uleb128 0x1 + .uleb128 0x11 + .byte 0x1 + .uleb128 0x25 + .uleb128 0xe + .uleb128 0x13 + .uleb128 0xb + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x1b + .uleb128 0xe + .uleb128 0x11 + .uleb128 0x1 + .uleb128 0x12 + .uleb128 0x7 + .uleb128 0x10 + .uleb128 0x17 + .byte 0 + .byte 0 + .uleb128 0x2 + .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 0x3 + .uleb128 0x24 + .byte 0 + .uleb128 0xb + .uleb128 0xb + .uleb128 0x3e + .uleb128 0xb + .uleb128 0x3 + .uleb128 0xe + .byte 0 + .byte 0 + .uleb128 0x4 + .uleb128 0xf + .byte 0 + .uleb128 0xb + .uleb128 0xb + .byte 0 + .byte 0 + .uleb128 0x5 + .uleb128 0x24 + .byte 0 + .uleb128 0xb + .uleb128 0xb + .uleb128 0x3e + .uleb128 0xb + .uleb128 0x3 + .uleb128 0x8 + .byte 0 + .byte 0 + .uleb128 0x6 + .uleb128 0xf + .byte 0 + .uleb128 0xb + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x7 + .uleb128 0x26 + .byte 0 + .uleb128 0x49 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x8 + .uleb128 0x35 + .byte 0 + .uleb128 0x49 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x9 + .uleb128 0x13 + .byte 0x1 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0xb + .uleb128 0xb + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0xa + .uleb128 0xd + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x38 + .uleb128 0xb + .byte 0 + .byte 0 + .uleb128 0xb + .uleb128 0x16 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .byte 0 + .byte 0 + .uleb128 0xc + .uleb128 0x13 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3c + .uleb128 0x19 + .byte 0 + .byte 0 + .uleb128 0xd + .uleb128 0x1 + .byte 0x1 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0xe + .uleb128 0x21 + .byte 0 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x2f + .uleb128 0xb + .byte 0 + .byte 0 + .uleb128 0xf + .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 0x3c + .uleb128 0x19 + .byte 0 + .byte 0 + .uleb128 0x10 + .uleb128 0x21 + .byte 0 + .byte 0 + .byte 0 + .uleb128 0x11 + .uleb128 0x2e + .byte 0x1 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3 + .uleb128 0x8 + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x27 + .uleb128 0x19 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x11 + .uleb128 0x1 + .uleb128 0x12 + .uleb128 0x7 + .uleb128 0x40 + .uleb128 0x18 + .uleb128 0x2117 + .uleb128 0x19 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x12 + .uleb128 0x5 + .byte 0 + .uleb128 0x3 + .uleb128 0x8 + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x2 + .uleb128 0x17 + .uleb128 0x2137 + .uleb128 0x17 + .byte 0 + .byte 0 + .uleb128 0x13 + .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 0x2 + .uleb128 0x18 + .byte 0 + .byte 0 + .uleb128 0x14 + .uleb128 0x4109 + .byte 0x1 + .uleb128 0x11 + .uleb128 0x1 + .uleb128 0x31 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x15 + .uleb128 0x410a + .byte 0 + .uleb128 0x2 + .uleb128 0x18 + .uleb128 0x2111 + .uleb128 0x18 + .byte 0 + .byte 0 + .uleb128 0x16 + .uleb128 0x2e + .byte 0 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3c + .uleb128 0x19 + .uleb128 0x6e + .uleb128 0xe + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .byte 0 + .byte 0 + .byte 0 + .section .debug_loc,"",@progbits +.Ldebug_loc0: +.LVUS0: + .uleb128 0 + .uleb128 .LVU4 + .uleb128 .LVU4 + .uleb128 .LVU13 + .uleb128 .LVU13 + .uleb128 0 +.LLST0: + .quad .LVL0-.Ltext0 + .quad .LVL1-.Ltext0 + .value 0x1 + .byte 0x55 + .quad .LVL1-.Ltext0 + .quad .LVL3-.Ltext0 + .value 0x1 + .byte 0x53 + .quad .LVL3-.Ltext0 + .quad .LFE11-.Ltext0 + .value 0x4 + .byte 0xf3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .quad 0 + .quad 0 +.LVUS1: + .uleb128 0 + .uleb128 .LVU10 + .uleb128 .LVU10 + .uleb128 .LVU14 + .uleb128 .LVU14 + .uleb128 0 +.LLST1: + .quad .LVL0-.Ltext0 + .quad .LVL2-1-.Ltext0 + .value 0x1 + .byte 0x54 + .quad .LVL2-1-.Ltext0 + .quad .LVL4-.Ltext0 + .value 0x1 + .byte 0x56 + .quad .LVL4-.Ltext0 + .quad .LFE11-.Ltext0 + .value 0x4 + .byte 0xf3 + .uleb128 0x1 + .byte 0x54 + .byte 0x9f + .quad 0 + .quad 0 + .section .debug_aranges,"",@progbits + .long 0x2c + .value 0x2 + .long .Ldebug_info0 + .byte 0x8 + .byte 0 + .value 0 + .value 0 + .quad .Ltext0 + .quad .Letext0-.Ltext0 + .quad 0 + .quad 0 + .section .debug_line,"",@progbits +.Ldebug_line0: + .section .debug_str,"MS",@progbits,1 +.LASF19: + .string "_IO_buf_end" +.LASF27: + .string "_old_offset" +.LASF56: + .string "__builtin_puts" +.LASF50: + .string "sum-06.c" +.LASF47: + .string "sys_nerr" +.LASF22: + .string "_IO_save_end" +.LASF5: + .string "short int" +.LASF7: + .string "size_t" +.LASF32: + .string "_offset" +.LASF49: + .string "GNU C17 8.3.0 -mtune=generic -march=x86-64 -g2 -O" +.LASF16: + .string "_IO_write_ptr" +.LASF11: + .string "_flags" +.LASF18: + .string "_IO_buf_base" +.LASF23: + .string "_markers" +.LASF13: + .string "_IO_read_end" +.LASF36: + .string "_freeres_buf" +.LASF54: + .string "hello" +.LASF46: + .string "stderr" +.LASF31: + .string "_lock" +.LASF6: + .string "long int" +.LASF28: + .string "_cur_column" +.LASF52: + .string "_IO_FILE" +.LASF51: + .string "/home/peter/bo/2023ss/rtech/20230516" +.LASF2: + .string "unsigned char" +.LASF4: + .string "signed char" +.LASF33: + .string "_codecvt" +.LASF1: + .string "unsigned int" +.LASF41: + .string "_IO_marker" +.LASF30: + .string "_shortbuf" +.LASF55: + .string "puts" +.LASF15: + .string "_IO_write_base" +.LASF39: + .string "_unused2" +.LASF12: + .string "_IO_read_ptr" +.LASF3: + .string "short unsigned int" +.LASF10: + .string "char" +.LASF34: + .string "_wide_data" +.LASF35: + .string "_freeres_list" +.LASF37: + .string "__pad5" +.LASF42: + .string "_IO_codecvt" +.LASF0: + .string "long unsigned int" +.LASF17: + .string "_IO_write_end" +.LASF9: + .string "__off64_t" +.LASF8: + .string "__off_t" +.LASF24: + .string "_chain" +.LASF43: + .string "_IO_wide_data" +.LASF21: + .string "_IO_backup_base" +.LASF44: + .string "stdin" +.LASF26: + .string "_flags2" +.LASF38: + .string "_mode" +.LASF14: + .string "_IO_read_base" +.LASF29: + .string "_vtable_offset" +.LASF20: + .string "_IO_save_base" +.LASF48: + .string "sys_errlist" +.LASF25: + .string "_fileno" +.LASF40: + .string "FILE" +.LASF45: + .string "stdout" +.LASF53: + .string "_IO_lock_t" + .ident "GCC: (Debian 8.3.0-6) 8.3.0" + .section .note.GNU-stack,"",@progbits diff --git a/20230516/sum-07.c b/20230516/sum-07.c new file mode 100644 index 0000000000000000000000000000000000000000..08f4fb006261bbae452dc6050518697d9dfc5c5e --- /dev/null +++ b/20230516/sum-07.c @@ -0,0 +1,14 @@ +#include <stdio.h> +#include <string.h> + +int sum (int a, int b) +{ + volatile char hello[3]; + strcpy (hello, "Hello, world!"); + hello[1] = 'a'; + hello[12] = '?'; + for (int i = 14; i < 50; i++) + hello[i] = '!'; + printf ("%s\n", hello); + return a + b; +} diff --git a/20230516/sum-07.s b/20230516/sum-07.s new file mode 100644 index 0000000000000000000000000000000000000000..093773b1e0966227f440fa2863833a1fb5318a14 --- /dev/null +++ b/20230516/sum-07.s @@ -0,0 +1,1056 @@ + .file "sum-07.c" + .text +.Ltext0: + .globl sum + .type sum, @function +sum: +.LVL0: +.LFB11: + .file 1 "sum-07.c" + .loc 1 5 1 view -0 + .cfi_startproc + .loc 1 5 1 is_stmt 0 view .LVU1 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + pushq %rbx + .cfi_def_cfa_offset 24 + .cfi_offset 3, -24 + subq $24, %rsp + .cfi_def_cfa_offset 48 + movl %edi, %ebx + movl %esi, %ebp + .loc 1 6 3 is_stmt 1 view .LVU2 + .loc 1 7 3 view .LVU3 + movabsq $8583909746840200520, %rax + movq %rax, 13(%rsp) + movl $1684828783, 21(%rsp) + movw $33, 25(%rsp) + .loc 1 8 3 view .LVU4 + .loc 1 8 12 is_stmt 0 view .LVU5 + movb $97, 14(%rsp) + .loc 1 9 3 is_stmt 1 view .LVU6 + .loc 1 9 13 is_stmt 0 view .LVU7 + movb $63, 25(%rsp) + .loc 1 10 3 is_stmt 1 view .LVU8 +.LBB2: + .loc 1 10 8 view .LVU9 +.LVL1: + .loc 1 10 12 is_stmt 0 view .LVU10 + movl $14, %edx +.LVL2: +.L2: + .loc 1 11 5 is_stmt 1 discriminator 3 view .LVU11 + .loc 1 11 14 is_stmt 0 discriminator 3 view .LVU12 + movslq %edx, %rcx + movb $33, 13(%rsp,%rcx) + .loc 1 10 29 discriminator 3 view .LVU13 + addl $1, %edx +.LVL3: + .loc 1 10 3 discriminator 3 view .LVU14 + cmpl $50, %edx + jne .L2 +.LBE2: + .loc 1 12 3 is_stmt 1 view .LVU15 + leaq 13(%rsp), %rdi +.LVL4: + .loc 1 12 3 is_stmt 0 view .LVU16 + call puts@PLT +.LVL5: + .loc 1 13 3 is_stmt 1 view .LVU17 + .loc 1 13 12 is_stmt 0 view .LVU18 + leal (%rbx,%rbp), %eax + .loc 1 14 1 view .LVU19 + addq $24, %rsp + .cfi_def_cfa_offset 24 + popq %rbx + .cfi_def_cfa_offset 16 +.LVL6: + .loc 1 14 1 view .LVU20 + popq %rbp + .cfi_def_cfa_offset 8 +.LVL7: + .loc 1 14 1 view .LVU21 + ret + .cfi_endproc +.LFE11: + .size sum, .-sum +.Letext0: + .file 2 "/usr/lib/gcc/x86_64-linux-gnu/8/include/stddef.h" + .file 3 "/usr/include/x86_64-linux-gnu/bits/types.h" + .file 4 "/usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h" + .file 5 "/usr/include/x86_64-linux-gnu/bits/types/FILE.h" + .file 6 "/usr/include/stdio.h" + .file 7 "/usr/include/x86_64-linux-gnu/bits/sys_errlist.h" + .file 8 "<built-in>" + .section .debug_info,"",@progbits +.Ldebug_info0: + .long 0x396 + .value 0x4 + .long .Ldebug_abbrev0 + .byte 0x8 + .uleb128 0x1 + .long .LASF49 + .byte 0xc + .long .LASF50 + .long .LASF51 + .quad .Ltext0 + .quad .Letext0-.Ltext0 + .long .Ldebug_line0 + .uleb128 0x2 + .long .LASF7 + .byte 0x2 + .byte 0xd8 + .byte 0x17 + .long 0x39 + .uleb128 0x3 + .byte 0x8 + .byte 0x7 + .long .LASF0 + .uleb128 0x3 + .byte 0x4 + .byte 0x7 + .long .LASF1 + .uleb128 0x4 + .byte 0x8 + .uleb128 0x3 + .byte 0x1 + .byte 0x8 + .long .LASF2 + .uleb128 0x3 + .byte 0x2 + .byte 0x7 + .long .LASF3 + .uleb128 0x3 + .byte 0x1 + .byte 0x6 + .long .LASF4 + .uleb128 0x3 + .byte 0x2 + .byte 0x5 + .long .LASF5 + .uleb128 0x5 + .byte 0x4 + .byte 0x5 + .string "int" + .uleb128 0x3 + .byte 0x8 + .byte 0x5 + .long .LASF6 + .uleb128 0x2 + .long .LASF8 + .byte 0x3 + .byte 0x96 + .byte 0x19 + .long 0x6c + .uleb128 0x2 + .long .LASF9 + .byte 0x3 + .byte 0x97 + .byte 0x1b + .long 0x6c + .uleb128 0x6 + .byte 0x8 + .long 0x91 + .uleb128 0x3 + .byte 0x1 + .byte 0x6 + .long .LASF10 + .uleb128 0x7 + .long 0x91 + .uleb128 0x8 + .long 0x91 + .uleb128 0x9 + .long .LASF52 + .byte 0xd8 + .byte 0x4 + .byte 0x31 + .byte 0x8 + .long 0x229 + .uleb128 0xa + .long .LASF11 + .byte 0x4 + .byte 0x33 + .byte 0x7 + .long 0x65 + .byte 0 + .uleb128 0xa + .long .LASF12 + .byte 0x4 + .byte 0x36 + .byte 0x9 + .long 0x8b + .byte 0x8 + .uleb128 0xa + .long .LASF13 + .byte 0x4 + .byte 0x37 + .byte 0x9 + .long 0x8b + .byte 0x10 + .uleb128 0xa + .long .LASF14 + .byte 0x4 + .byte 0x38 + .byte 0x9 + .long 0x8b + .byte 0x18 + .uleb128 0xa + .long .LASF15 + .byte 0x4 + .byte 0x39 + .byte 0x9 + .long 0x8b + .byte 0x20 + .uleb128 0xa + .long .LASF16 + .byte 0x4 + .byte 0x3a + .byte 0x9 + .long 0x8b + .byte 0x28 + .uleb128 0xa + .long .LASF17 + .byte 0x4 + .byte 0x3b + .byte 0x9 + .long 0x8b + .byte 0x30 + .uleb128 0xa + .long .LASF18 + .byte 0x4 + .byte 0x3c + .byte 0x9 + .long 0x8b + .byte 0x38 + .uleb128 0xa + .long .LASF19 + .byte 0x4 + .byte 0x3d + .byte 0x9 + .long 0x8b + .byte 0x40 + .uleb128 0xa + .long .LASF20 + .byte 0x4 + .byte 0x40 + .byte 0x9 + .long 0x8b + .byte 0x48 + .uleb128 0xa + .long .LASF21 + .byte 0x4 + .byte 0x41 + .byte 0x9 + .long 0x8b + .byte 0x50 + .uleb128 0xa + .long .LASF22 + .byte 0x4 + .byte 0x42 + .byte 0x9 + .long 0x8b + .byte 0x58 + .uleb128 0xa + .long .LASF23 + .byte 0x4 + .byte 0x44 + .byte 0x16 + .long 0x242 + .byte 0x60 + .uleb128 0xa + .long .LASF24 + .byte 0x4 + .byte 0x46 + .byte 0x14 + .long 0x248 + .byte 0x68 + .uleb128 0xa + .long .LASF25 + .byte 0x4 + .byte 0x48 + .byte 0x7 + .long 0x65 + .byte 0x70 + .uleb128 0xa + .long .LASF26 + .byte 0x4 + .byte 0x49 + .byte 0x7 + .long 0x65 + .byte 0x74 + .uleb128 0xa + .long .LASF27 + .byte 0x4 + .byte 0x4a + .byte 0xb + .long 0x73 + .byte 0x78 + .uleb128 0xa + .long .LASF28 + .byte 0x4 + .byte 0x4d + .byte 0x12 + .long 0x50 + .byte 0x80 + .uleb128 0xa + .long .LASF29 + .byte 0x4 + .byte 0x4e + .byte 0xf + .long 0x57 + .byte 0x82 + .uleb128 0xa + .long .LASF30 + .byte 0x4 + .byte 0x4f + .byte 0x8 + .long 0x24e + .byte 0x83 + .uleb128 0xa + .long .LASF31 + .byte 0x4 + .byte 0x51 + .byte 0xf + .long 0x25e + .byte 0x88 + .uleb128 0xa + .long .LASF32 + .byte 0x4 + .byte 0x59 + .byte 0xd + .long 0x7f + .byte 0x90 + .uleb128 0xa + .long .LASF33 + .byte 0x4 + .byte 0x5b + .byte 0x17 + .long 0x269 + .byte 0x98 + .uleb128 0xa + .long .LASF34 + .byte 0x4 + .byte 0x5c + .byte 0x19 + .long 0x274 + .byte 0xa0 + .uleb128 0xa + .long .LASF35 + .byte 0x4 + .byte 0x5d + .byte 0x14 + .long 0x248 + .byte 0xa8 + .uleb128 0xa + .long .LASF36 + .byte 0x4 + .byte 0x5e + .byte 0x9 + .long 0x47 + .byte 0xb0 + .uleb128 0xa + .long .LASF37 + .byte 0x4 + .byte 0x5f + .byte 0xa + .long 0x2d + .byte 0xb8 + .uleb128 0xa + .long .LASF38 + .byte 0x4 + .byte 0x60 + .byte 0x7 + .long 0x65 + .byte 0xc0 + .uleb128 0xa + .long .LASF39 + .byte 0x4 + .byte 0x62 + .byte 0x8 + .long 0x27a + .byte 0xc4 + .byte 0 + .uleb128 0x2 + .long .LASF40 + .byte 0x5 + .byte 0x7 + .byte 0x19 + .long 0xa2 + .uleb128 0xb + .long .LASF53 + .byte 0x4 + .byte 0x2b + .byte 0xe + .uleb128 0xc + .long .LASF41 + .uleb128 0x6 + .byte 0x8 + .long 0x23d + .uleb128 0x6 + .byte 0x8 + .long 0xa2 + .uleb128 0xd + .long 0x91 + .long 0x25e + .uleb128 0xe + .long 0x39 + .byte 0 + .byte 0 + .uleb128 0x6 + .byte 0x8 + .long 0x235 + .uleb128 0xc + .long .LASF42 + .uleb128 0x6 + .byte 0x8 + .long 0x264 + .uleb128 0xc + .long .LASF43 + .uleb128 0x6 + .byte 0x8 + .long 0x26f + .uleb128 0xd + .long 0x91 + .long 0x28a + .uleb128 0xe + .long 0x39 + .byte 0x13 + .byte 0 + .uleb128 0xf + .long .LASF44 + .byte 0x6 + .byte 0x89 + .byte 0xe + .long 0x296 + .uleb128 0x6 + .byte 0x8 + .long 0x229 + .uleb128 0xf + .long .LASF45 + .byte 0x6 + .byte 0x8a + .byte 0xe + .long 0x296 + .uleb128 0xf + .long .LASF46 + .byte 0x6 + .byte 0x8b + .byte 0xe + .long 0x296 + .uleb128 0xf + .long .LASF47 + .byte 0x7 + .byte 0x1a + .byte 0xc + .long 0x65 + .uleb128 0xd + .long 0x2d6 + .long 0x2cb + .uleb128 0x10 + .byte 0 + .uleb128 0x7 + .long 0x2c0 + .uleb128 0x6 + .byte 0x8 + .long 0x98 + .uleb128 0x7 + .long 0x2d0 + .uleb128 0xf + .long .LASF48 + .byte 0x7 + .byte 0x1b + .byte 0x1a + .long 0x2cb + .uleb128 0x11 + .string "sum" + .byte 0x1 + .byte 0x4 + .byte 0x5 + .long 0x65 + .quad .LFB11 + .quad .LFE11-.LFB11 + .uleb128 0x1 + .byte 0x9c + .long 0x379 + .uleb128 0x12 + .string "a" + .byte 0x1 + .byte 0x4 + .byte 0xe + .long 0x65 + .long .LLST0 + .long .LVUS0 + .uleb128 0x12 + .string "b" + .byte 0x1 + .byte 0x4 + .byte 0x15 + .long 0x65 + .long .LLST1 + .long .LVUS1 + .uleb128 0x13 + .long .LASF54 + .byte 0x1 + .byte 0x6 + .byte 0x11 + .long 0x389 + .uleb128 0x2 + .byte 0x91 + .sleb128 -35 + .uleb128 0x14 + .quad .LBB2 + .quad .LBE2-.LBB2 + .long 0x364 + .uleb128 0x15 + .string "i" + .byte 0x1 + .byte 0xa + .byte 0xc + .long 0x65 + .long .LLST2 + .long .LVUS2 + .byte 0 + .uleb128 0x16 + .quad .LVL5 + .long 0x38e + .uleb128 0x17 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x91 + .sleb128 -35 + .byte 0 + .byte 0 + .uleb128 0xd + .long 0x9d + .long 0x389 + .uleb128 0xe + .long 0x39 + .byte 0x2 + .byte 0 + .uleb128 0x8 + .long 0x379 + .uleb128 0x18 + .long .LASF55 + .long .LASF56 + .byte 0x8 + .byte 0 + .byte 0 + .section .debug_abbrev,"",@progbits +.Ldebug_abbrev0: + .uleb128 0x1 + .uleb128 0x11 + .byte 0x1 + .uleb128 0x25 + .uleb128 0xe + .uleb128 0x13 + .uleb128 0xb + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x1b + .uleb128 0xe + .uleb128 0x11 + .uleb128 0x1 + .uleb128 0x12 + .uleb128 0x7 + .uleb128 0x10 + .uleb128 0x17 + .byte 0 + .byte 0 + .uleb128 0x2 + .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 0x3 + .uleb128 0x24 + .byte 0 + .uleb128 0xb + .uleb128 0xb + .uleb128 0x3e + .uleb128 0xb + .uleb128 0x3 + .uleb128 0xe + .byte 0 + .byte 0 + .uleb128 0x4 + .uleb128 0xf + .byte 0 + .uleb128 0xb + .uleb128 0xb + .byte 0 + .byte 0 + .uleb128 0x5 + .uleb128 0x24 + .byte 0 + .uleb128 0xb + .uleb128 0xb + .uleb128 0x3e + .uleb128 0xb + .uleb128 0x3 + .uleb128 0x8 + .byte 0 + .byte 0 + .uleb128 0x6 + .uleb128 0xf + .byte 0 + .uleb128 0xb + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x7 + .uleb128 0x26 + .byte 0 + .uleb128 0x49 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x8 + .uleb128 0x35 + .byte 0 + .uleb128 0x49 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x9 + .uleb128 0x13 + .byte 0x1 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0xb + .uleb128 0xb + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0xa + .uleb128 0xd + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x38 + .uleb128 0xb + .byte 0 + .byte 0 + .uleb128 0xb + .uleb128 0x16 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .byte 0 + .byte 0 + .uleb128 0xc + .uleb128 0x13 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3c + .uleb128 0x19 + .byte 0 + .byte 0 + .uleb128 0xd + .uleb128 0x1 + .byte 0x1 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0xe + .uleb128 0x21 + .byte 0 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x2f + .uleb128 0xb + .byte 0 + .byte 0 + .uleb128 0xf + .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 0x3c + .uleb128 0x19 + .byte 0 + .byte 0 + .uleb128 0x10 + .uleb128 0x21 + .byte 0 + .byte 0 + .byte 0 + .uleb128 0x11 + .uleb128 0x2e + .byte 0x1 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3 + .uleb128 0x8 + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x27 + .uleb128 0x19 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x11 + .uleb128 0x1 + .uleb128 0x12 + .uleb128 0x7 + .uleb128 0x40 + .uleb128 0x18 + .uleb128 0x2117 + .uleb128 0x19 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x12 + .uleb128 0x5 + .byte 0 + .uleb128 0x3 + .uleb128 0x8 + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x2 + .uleb128 0x17 + .uleb128 0x2137 + .uleb128 0x17 + .byte 0 + .byte 0 + .uleb128 0x13 + .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 0x2 + .uleb128 0x18 + .byte 0 + .byte 0 + .uleb128 0x14 + .uleb128 0xb + .byte 0x1 + .uleb128 0x11 + .uleb128 0x1 + .uleb128 0x12 + .uleb128 0x7 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x15 + .uleb128 0x34 + .byte 0 + .uleb128 0x3 + .uleb128 0x8 + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x2 + .uleb128 0x17 + .uleb128 0x2137 + .uleb128 0x17 + .byte 0 + .byte 0 + .uleb128 0x16 + .uleb128 0x4109 + .byte 0x1 + .uleb128 0x11 + .uleb128 0x1 + .uleb128 0x31 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x17 + .uleb128 0x410a + .byte 0 + .uleb128 0x2 + .uleb128 0x18 + .uleb128 0x2111 + .uleb128 0x18 + .byte 0 + .byte 0 + .uleb128 0x18 + .uleb128 0x2e + .byte 0 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3c + .uleb128 0x19 + .uleb128 0x6e + .uleb128 0xe + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .byte 0 + .byte 0 + .byte 0 + .section .debug_loc,"",@progbits +.Ldebug_loc0: +.LVUS0: + .uleb128 0 + .uleb128 .LVU16 + .uleb128 .LVU16 + .uleb128 .LVU20 + .uleb128 .LVU20 + .uleb128 0 +.LLST0: + .quad .LVL0-.Ltext0 + .quad .LVL4-.Ltext0 + .value 0x1 + .byte 0x55 + .quad .LVL4-.Ltext0 + .quad .LVL6-.Ltext0 + .value 0x1 + .byte 0x53 + .quad .LVL6-.Ltext0 + .quad .LFE11-.Ltext0 + .value 0x4 + .byte 0xf3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .quad 0 + .quad 0 +.LVUS1: + .uleb128 0 + .uleb128 .LVU17 + .uleb128 .LVU17 + .uleb128 .LVU21 + .uleb128 .LVU21 + .uleb128 0 +.LLST1: + .quad .LVL0-.Ltext0 + .quad .LVL5-1-.Ltext0 + .value 0x1 + .byte 0x54 + .quad .LVL5-1-.Ltext0 + .quad .LVL7-.Ltext0 + .value 0x1 + .byte 0x56 + .quad .LVL7-.Ltext0 + .quad .LFE11-.Ltext0 + .value 0x4 + .byte 0xf3 + .uleb128 0x1 + .byte 0x54 + .byte 0x9f + .quad 0 + .quad 0 +.LVUS2: + .uleb128 .LVU10 + .uleb128 .LVU11 + .uleb128 .LVU11 + .uleb128 .LVU17 +.LLST2: + .quad .LVL1-.Ltext0 + .quad .LVL2-.Ltext0 + .value 0x2 + .byte 0x3e + .byte 0x9f + .quad .LVL2-.Ltext0 + .quad .LVL5-1-.Ltext0 + .value 0x1 + .byte 0x51 + .quad 0 + .quad 0 + .section .debug_aranges,"",@progbits + .long 0x2c + .value 0x2 + .long .Ldebug_info0 + .byte 0x8 + .byte 0 + .value 0 + .value 0 + .quad .Ltext0 + .quad .Letext0-.Ltext0 + .quad 0 + .quad 0 + .section .debug_line,"",@progbits +.Ldebug_line0: + .section .debug_str,"MS",@progbits,1 +.LASF19: + .string "_IO_buf_end" +.LASF27: + .string "_old_offset" +.LASF56: + .string "__builtin_puts" +.LASF47: + .string "sys_nerr" +.LASF22: + .string "_IO_save_end" +.LASF5: + .string "short int" +.LASF7: + .string "size_t" +.LASF32: + .string "_offset" +.LASF49: + .string "GNU C17 8.3.0 -mtune=generic -march=x86-64 -g2 -O" +.LASF16: + .string "_IO_write_ptr" +.LASF11: + .string "_flags" +.LASF18: + .string "_IO_buf_base" +.LASF23: + .string "_markers" +.LASF13: + .string "_IO_read_end" +.LASF36: + .string "_freeres_buf" +.LASF54: + .string "hello" +.LASF46: + .string "stderr" +.LASF31: + .string "_lock" +.LASF6: + .string "long int" +.LASF28: + .string "_cur_column" +.LASF52: + .string "_IO_FILE" +.LASF51: + .string "/home/peter/bo/2023ss/rtech/20230516" +.LASF2: + .string "unsigned char" +.LASF4: + .string "signed char" +.LASF33: + .string "_codecvt" +.LASF1: + .string "unsigned int" +.LASF41: + .string "_IO_marker" +.LASF30: + .string "_shortbuf" +.LASF55: + .string "puts" +.LASF15: + .string "_IO_write_base" +.LASF39: + .string "_unused2" +.LASF12: + .string "_IO_read_ptr" +.LASF3: + .string "short unsigned int" +.LASF10: + .string "char" +.LASF34: + .string "_wide_data" +.LASF35: + .string "_freeres_list" +.LASF37: + .string "__pad5" +.LASF42: + .string "_IO_codecvt" +.LASF0: + .string "long unsigned int" +.LASF17: + .string "_IO_write_end" +.LASF9: + .string "__off64_t" +.LASF8: + .string "__off_t" +.LASF24: + .string "_chain" +.LASF43: + .string "_IO_wide_data" +.LASF21: + .string "_IO_backup_base" +.LASF44: + .string "stdin" +.LASF26: + .string "_flags2" +.LASF38: + .string "_mode" +.LASF14: + .string "_IO_read_base" +.LASF29: + .string "_vtable_offset" +.LASF20: + .string "_IO_save_base" +.LASF48: + .string "sys_errlist" +.LASF25: + .string "_fileno" +.LASF40: + .string "FILE" +.LASF50: + .string "sum-07.c" +.LASF45: + .string "stdout" +.LASF53: + .string "_IO_lock_t" + .ident "GCC: (Debian 8.3.0-6) 8.3.0" + .section .note.GNU-stack,"",@progbits