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
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.
14 # The following lines have one of two formats:
17 # With just a symbol on the line this is the name of a feature which
18 # is architecture independent.
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.
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
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.
35 # Feature Name Configuration
36 # ------------ -------------
38 # Unique symbol definitions for C++.
39 # Architecture independent, all ELF targets (== all targets)
42 # Indirect PLT relocations. Architecture dependent.
45 IFUNC powerpc64-*-linux*
46 IFUNC powerpc-*-linux*
47 IFUNC sparc64-*-linux*
49 # Absolute (SHN_ABS) symbols working correctly.