powerpc64: Fix by using the configure value $libc_cv_cc_submachine [BZ #31629]
[glibc.git] / sysdeps / unix / sysv / linux / s390 / s390-64 / __makecontext_ret.S
blob62147008105984e9d27be22d749980e9a3426bc7
1 /* Copyright (C) 2012-2024 Free Software Foundation, Inc.
2    This file is part of the GNU C Library.
4    The GNU C Library is free software; you can redistribute it and/or
5    modify it under the terms of the GNU Lesser General Public
6    License as published by the Free Software Foundation; either
7    version 2.1 of the License, or (at your option) any later version.
9    The GNU C Library is distributed in the hope that it will be useful,
10    but WITHOUT ANY WARRANTY; without even the implied warranty of
11    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12    Lesser General Public License for more details.
14    You should have received a copy of the GNU Lesser General Public
15    License along with the GNU C Library; if not, see
16    <https://www.gnu.org/licenses/>.  */
18 #include <sysdep.h>
20 ENTRY(__makecontext_ret)
21         /* Mark r14 as undefined in order to stop unwinding here!  */
22         cfi_undefined (r14)
23         basr    %r14,%r7
24         ltgr    %r8,%r8                 /* Check whether uc_link is 0.  */
25         jz      1f
26         lgr     %r2,%r8
27         br      %r9
28 1:      lghi    %r2,0
29         brasl   %r14,HIDDEN_JUMPTARGET (exit)
30         j       .+2                     /* Trap if exit returns.  */
31 END(__makecontext_ret)