Re: ld plugin bfd_make_readable leak
[binutils-gdb.git] / gdb / testsuite / gdb.arch / amd64-pseudo-unwind-asm.S
blob6aa1c94d36894a634a31ee5f29946ad65bbfd89e
1 /* Copyright 2018-2024 Free Software Foundation, Inc.
3    This file is part of GDB.
5    This program is free software; you can redistribute it and/or modify
6    it under the terms of the GNU General Public License as published by
7    the Free Software Foundation; either version 3 of the License, or
8    (at your option) any later version.
10    This program is distributed in the hope that it will be useful,
11    but WITHOUT ANY WARRANTY; without even the implied warranty of
12    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13    GNU General Public License for more details.
15    You should have received a copy of the GNU General Public License
16    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
18 .section .note.GNU-stack,"",%progbits
20 .text
21 .global callee
22 callee:
23         /* Standard prologue.  */
24 .cfi_startproc
25         push %rbp
26 .cfi_def_cfa rbp, 16
27         mov %rsp, %rbp
29         /* Save caller's rbx value on the stack.  */
30 .cfi_offset rbx, -24
31         push %rbx
33         /* Put our own rbx value.  */
34         mov $0x2021222324252627, %rbx
35 break_here_asm:
37         /* Restore caller's rbx value.  */
38         pop %rbx
40         /* Standard epilogue.  */
41         pop %rbp
42         ret
43 .cfi_endproc
46 .global caller
47 caller:
48 .cfi_startproc
49         /* Standard prologue.  */
50         push %rbp
51 .cfi_def_cfa_offset 16
52         mov %rsp, %rbp
54         /* Put our own rbx value.  */
55         mov $0x1011121314151617, %rbx
57         /* Call callee.  */
58         call callee
60         /* Store our rbx value in rax to return it.  */
61         mov %rbx, %rax
63         /* Standard epilogue.  */
64         pop %rbp
65         ret
66 .cfi_endproc