gdb1431.s revision 1.7
1! Copyright 2004-2017 Free Software Foundation, Inc. 2! 3! This program is free software; you can redistribute it and/or modify 4! it under the terms of the GNU General Public License as published by 5! the Free Software Foundation; either version 3 of the License, or 6! (at your option) any later version. 7! 8! This program is distributed in the hope that it will be useful, 9! but WITHOUT ANY WARRANTY; without even the implied warranty of 10! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11! GNU General Public License for more details. 12! 13! You should have received a copy of the GNU General Public License 14! along with this program. If not, see <http://www.gnu.org/licenses/>. 15! 16! Please email any bugs, comments, and/or additions to this file to: 17! bug-gdb@gnu.org 18! 19! This file is part of the gdb testsuite. 20! 21! It was generated using "sh-elf-gcc -S gdb1431.c", using the following 22! source file: 23! 24! #include <stdio.h> 25! 26! main() 27! { 28! printf("hello world\n"); 29! sub1(); 30! sub2(); 31! } 32! sub1() 33! { 34! int buf[64]; 35! 36! } 37! 38! sub2() 39! { 40! int buf[65]; 41! 42! } 43! 44! We use a pregenerated assembly file as the test input to avoid possible 45! problems with future versions of gcc generating different code. 46 47 .file "gdb1431.c" 48 .text 49 .section .rodata 50 .align 2 51.LC0: 52 .string "hello world\n" 53 .text 54 .align 1 55 .global _main 56 .type _main, @function 57_main: 58 mov.l r14,@-r15 59 sts.l pr,@-r15 60 mov r15,r14 61 mov.l .L2,r1 62 mov r1,r4 63 mov.l .L3,r1 64 jsr @r1 65 nop 66 mov.l .L4,r1 67 jsr @r1 68 nop 69 mov.l .L5,r1 70 jsr @r1 71 nop 72 mov r14,r15 73 lds.l @r15+,pr 74 mov.l @r15+,r14 75 rts 76 nop 77.L6: 78 .align 2 79.L2: 80 .long .LC0 81.L3: 82 .long _printf 83.L4: 84 .long _sub1 85.L5: 86 .long _sub2 87 .size _main, .-_main 88 .align 1 89 .global _sub1 90 .type _sub1, @function 91_sub1: 92 mov.l r14,@-r15 93 sts.l pr,@-r15 94 add #-128,r15 95 add #-128,r15 96 mov r15,r14 97 mov.w .L8,r7 98 add r7,r14 99 mov r14,r15 100 lds.l @r15+,pr 101 mov.l @r15+,r14 102 rts 103 nop 104 .align 1 105.L8: 106 .short 256 107 .size _sub1, .-_sub1 108 .align 1 109 .global _sub2 110 .type _sub2, @function 111_sub2: 112 mov.l r14,@-r15 113 sts.l pr,@-r15 114 mov.w .L11,r1 115 sub r1,r15 116 mov r15,r14 117 mov.w .L11,r7 118 add r7,r14 119 mov r14,r15 120 lds.l @r15+,pr 121 mov.l @r15+,r14 122 rts 123 nop 124 .align 1 125.L11: 126 .short 260 127 .size _sub2, .-_sub2 128 .ident "GCC: (GNU) 3.5.0 20040204 (experimental)" 129