1 /* Machine-specific calling sequence for `mcount' profiling function. SuperH
2 Copyright (C) 2001-2023 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
10 The GNU C Library 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 GNU
13 Lesser General Public License for more details.
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
21 .globl C_SYMBOL_NAME(_mcount)
22 .type C_SYMBOL_NAME(_mcount),@function
28 cfi_adjust_cfa_offset (4)
29 cfi_rel_offset (r4, 0)
31 cfi_adjust_cfa_offset (4)
32 cfi_rel_offset (r5, 0)
34 cfi_adjust_cfa_offset (4)
35 cfi_rel_offset (r6, 0)
37 cfi_adjust_cfa_offset (4)
38 cfi_rel_offset (r7, 0)
40 cfi_adjust_cfa_offset (4)
41 cfi_rel_offset (pr, 0)
58 /* Pop the saved registers. */
60 cfi_adjust_cfa_offset (-4)
63 cfi_adjust_cfa_offset (-4)
66 cfi_adjust_cfa_offset (-4)
69 cfi_adjust_cfa_offset (-4)
73 /* Omit CFI for restore in delay slot. */
77 0: .long _GLOBAL_OFFSET_TABLE_
78 1: .long C_SYMBOL_NAME(__mcount_internal)@GOT
80 1: .long C_SYMBOL_NAME(__mcount_internal)
83 ASM_SIZE_DIRECTIVE(C_SYMBOL_NAME(_mcount))
86 weak_alias (_mcount, mcount)