Fix non-add-on handling of libc-abis.
[glibc.git] / libc-abis
blob8668e49d8863cd2ad77aa0f1b0df0de5a1d46505
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.
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:
16 #       SYMBOL
17 # With just a symbol on the line this is the name of a feature which
18 # is architecture independent.
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.
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.
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)
40 UNIQUE
42 # Indirect PLT relocations.  Architecture dependent.
43 IFUNC           x86_64-*-linux*
44 IFUNC           i?86-*-linux*
45 IFUNC           powerpc64-*-linux*
46 IFUNC           powerpc-*-linux*
47 IFUNC           sparc64-*-linux*
48 IFUNC           sparc-*-linux*