]> git.ipfire.org Git - thirdparty/glibc.git/blame - elf/tst-gnu2-tls2mod0.c
arm: Update _dl_tlsdesc_dynamic to preserve caller-saved registers (BZ 31372)
[thirdparty/glibc.git] / elf / tst-gnu2-tls2mod0.c
CommitLineData
0aac205a
L
1/* DSO used by tst-gnu2-tls2.
2 Copyright (C) 2024 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
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.
9
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.
14
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/>. */
18
64c7e344 19#include <tst-gnu2-tls2.h>
0aac205a
L
20
21__thread struct tls tls_var0 __attribute__ ((visibility ("hidden")));
22
23struct tls *
24apply_tls (struct tls *p)
25{
64c7e344 26 INIT_TLSDESC_CALL ();
0aac205a
L
27 BEFORE_TLSDESC_CALL ();
28 tls_var0 = *p;
29 struct tls *ret = &tls_var0;
30 AFTER_TLSDESC_CALL ();
31 return ret;
32}