1 /* Copyright 2021-2023 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 void 17 baz (void) 18 { 19 asm ("baz_label: .globl baz_label"); 20 } /* baz end */ 21 22 void 23 foo_low (void) 24 { /* foo_low prologue */ 25 asm ("foo_low_label: .globl foo_low_label"); 26 baz (); /* foo_low baz call */ 27 asm ("foo_low_label2: .globl foo_low_label2"); 28 } /* foo_low end */ 29 30 void 31 bar (void) 32 { 33 asm ("bar_label: .globl bar_label"); 34 } /* bar end */ 35 36 void 37 foo (void) 38 { /* foo prologue */ 39 asm ("foo_label: .globl foo_label"); 40 bar (); /* foo bar call */ 41 asm ("foo_label2: .globl foo_label2"); 42 foo_low (); /* foo foo_low call */ 43 asm ("foo_label3: .globl foo_label3"); 44 } /* foo end */ 45