]>
Commit | Line | Data |
---|---|---|
bf219bc6 UD |
1 | # Definition of features which introduce new libc ABI versions. This |
2 | # file is used to create a header file with definitions for the various | |
3 | # versions. The static linker will encode in the EI_ABIVERSION field in | |
4 | # the e_ident array in the ELF program header the required ABI version. | |
5 | # This is not a bitmask. The maximum ABI version required must be | |
6 | # encoded. | |
7 | # | |
8 | # Adding new features should always happen by appending new lines. Never | |
9 | # add entries in the middle or where they seem "logical". Once a version | |
10 | # is assigned to a feature it must not change again. Since some features | |
11 | # are conditionally added this can only ever be done securely without much | |
12 | # risk is by adding at the end. | |
13 | # | |
14 | # The following lines have one of two formats: | |
15 | # | |
16 | # SYMBOL | |
17 | # With just a symbol on the line this is the name of a feature which | |
18 | # is architecture independent. | |
19 | # | |
20 | # SYMBOL PLATFORM | |
21 | # Using this form architecture (and platform) dependent features can be | |
22 | # specified. The PLATFORM name can use the wildcards available in | |
23 | # the Bourne shell's case expression. | |
24 | # | |
25 | # Note that the same symbol can be used using different platform triples. | |
26 | # They don't have to be in the same order relative to other entries. This | |
27 | # can happen if the feature is implemented for different architectures | |
28 | # at different times. | |
29 | # | |
30 | # This file is parsed by a script which produces a header file containing | |
31 | # a single enum definition. An extra symbol is added as entry zero to | |
32 | # specify the default ABI with number 0 and an artificial last entry is | |
33 | # added to allow computing the maximum ABI version for the platform. | |
34 | # | |
35 | # Feature Name Configuration | |
36 | # ------------ ------------- | |
37 | # | |
38 | # Unique symbol definitions for C++. | |
39 | # Architecture independent, all ELF targets (== all targets) | |
40 | UNIQUE | |
41 | # | |
42 | # Indirect PLT relocations. Architecture dependent. | |
43 | IFUNC x86_64-*-linux* | |
44 | IFUNC i?86-*-linux* | |
12e6ee86 UD |
45 | IFUNC powerpc64-*-linux* |
46 | IFUNC powerpc-*-linux* | |
47 | IFUNC sparc64-*-linux* | |
48 | IFUNC sparc-*-linux* | |
9449a295 MR |
49 | # Absolute (SHN_ABS) symbols working correctly. |
50 | ABSOLUTE | |
c31b1f52 | 51 | IFUNC riscv*-linux* |