1/* Special .init and .fini section support for AArch64. 2 Copyright (C) 1995-2022 Free Software Foundation, Inc. 3 4 This file is part of the GNU C Library. 5 6 The GNU C Library is free software; you can redistribute it and/or 7 modify it under the terms of the GNU Lesser General Public 8 License as published by the Free Software Foundation; either 9 version 2.1 of the License, or (at your option) any later version. 10 11 In addition to the permissions in the GNU Lesser General Public 12 License, the Free Software Foundation gives you unlimited 13 permission to link the compiled version of this file with other 14 programs, and to distribute those programs without any restriction 15 coming from the use of this file. (The GNU Lesser General Public 16 License restrictions do apply in other respects; for example, they 17 cover modification of the file, and distribution when not linked 18 into another program.) 19 20 Note that people who make modified versions of this file are not 21 obligated to grant this special exception for their modified 22 versions; it is their choice whether to do so. The GNU Lesser 23 General Public License gives permission to release a modified 24 version without this exception; this exception also makes it 25 possible to release a modified version which carries forward this 26 exception. 27 28 The GNU C Library is distributed in the hope that it will be useful, 29 but WITHOUT ANY WARRANTY; without even the implied warranty of 30 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 31 Lesser General Public License for more details. 32 33 You should have received a copy of the GNU Lesser General Public 34 License along with the GNU C Library; if not, see 35 <https://www.gnu.org/licenses/>. */ 36 37/* crtn.S puts function epilogues in the .init and .fini sections 38 corresponding to the prologues in crti.S. */ 39 40#include <sysdep.h> 41 42 .section .init,"ax",%progbits 43 ldp x29, x30, [sp], 16 44#if HAVE_AARCH64_PAC_RET 45 AUTIASP 46#endif 47 RET 48 49 .section .fini,"ax",%progbits 50 ldp x29, x30, [sp], 16 51#if HAVE_AARCH64_PAC_RET 52 AUTIASP 53#endif 54 RET 55