| # Definition of features which introduce new libc ABI versions. This |
| # file is used to create a header file with definitions for the various |
| # versions. The static linker will encode in the EI_ABIVERSION field in |
| # the e_ident array in the ELF program header the required ABI version. |
| # This is not a bitmask. The maximum ABI version required must be |
| # encoded. |
| # |
| # Adding new features should always happen by appending new lines. Never |
| # add entries in the middle or where they seem "logical". Once a version |
| # is assigned to a feature it must not change again. Since some features |
| # are conditionally added this can only ever be done securely without much |
| # risk is by adding at the end. |
| # |
| # The following lines have one of two formats: |
| # |
| # SYMBOL |
| # With just a symbol on the line this is the name of a feature which |
| # is architecture independent. |
| # |
| # SYMBOL PLATFORM |
| # Using this form architecture (and platform) dependent features can be |
| # specified. The PLATFORM name can use the wildcards available in |
| # the Bourne shell's case expression. |
| # |
| # Note that the same symbol can be used using different platform triples. |
| # They don't have to be in the same order relative to other entries. This |
| # can happen if the feature is implemented for different architectures |
| # at different times. |
| # |
| # This file is parsed by a script which produces a header file containing |
| # a single enum definition. An extra symbol is added as entry zero to |
| # specify the default ABI with number 0 and an artificial last entry is |
| # added to allow computing the maximum ABI version for the platform. |
| # |
| # Feature Name Configuration |
| # ------------ ------------- |
| # |
| # Unique symbol definitions for C++. |
| # Architecture independent, all ELF targets (== all targets) |
| UNIQUE |
| # |
| # Indirect PLT relocations. Architecture dependent. |
| IFUNC x86_64-*-linux* |
| IFUNC i?86-*-linux* |
| IFUNC powerpc64-*-linux* |
| IFUNC powerpc-*-linux* |
| IFUNC sparc64-*-linux* |
| IFUNC sparc-*-linux* |