Fix TLS relocations against local symbols on powerpc32, sparc32 and sparc64
[glibc.git] / sysdeps / powerpc / dl-procinfo.c
blob4dac16d39e3010b84349f8b87696f552f5cd1c05
1 /* Data for processor capability information. PowerPC version.
2 Copyright (C) 2005-2017 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 <http://www.gnu.org/licenses/>. */
19 /* This information must be kept in sync with the _DL_HWCAP_COUNT
20 definition in procinfo.h.
22 If anything should be added here check whether the size of each string
23 is still ok with the given array size.
25 All the #ifdefs in the definitions are quite irritating but
26 necessary if we want to avoid duplicating the information. There
27 are three different modes:
29 - PROCINFO_DECL is defined. This means we are only interested in
30 declarations.
32 - PROCINFO_DECL is not defined:
34 + if SHARED is defined the file is included in an array
35 initializer. The .element = { ... } syntax is needed.
37 + if SHARED is not defined a normal array initialization is
38 needed.
41 #ifndef PROCINFO_CLASS
42 # define PROCINFO_CLASS
43 #endif
45 #if !defined PROCINFO_DECL && defined SHARED
46 ._dl_powerpc_cap_flags
47 #else
48 PROCINFO_CLASS const char _dl_powerpc_cap_flags[64][10]
49 #endif
50 #ifndef PROCINFO_DECL
51 = {
52 "ppcle", "true_le", "", "",
53 "", "", "archpmu", "vsx",
54 "arch_2_06", "power6x", "dfp", "pa6t",
55 "arch_2_05", "ic_snoop", "smt", "booke",
56 "cellbe", "power5+", "power5", "power4",
57 "notb", "efpdouble", "efpsingle", "spe",
58 "ucache", "4xxmac", "mmu", "fpu",
59 "altivec", "ppc601", "ppc64", "ppc32",
60 "", "", "", "",
61 "", "", "", "",
62 "", "", "", "",
63 "", "", "", "",
64 "", "", "", "",
65 "scv", "darn", "ieee128", "arch_3_00",
66 "htm-nosc", "vcrypto", "tar", "isel",
67 "ebb", "dscr", "htm", "arch_2_07",
69 #endif
70 #if !defined SHARED || defined PROCINFO_DECL
72 #else
74 #endif
76 #undef PROCINFO_DECL
77 #undef PROCINFO_CLASS