]> git.ipfire.org Git - thirdparty/glibc.git/blame - libc-abis
x86: In ld.so, diagnose missing APX support in APX-only builds
[thirdparty/glibc.git] / libc-abis
CommitLineData
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)
40UNIQUE
41#
42# Indirect PLT relocations. Architecture dependent.
43IFUNC x86_64-*-linux*
44IFUNC i?86-*-linux*
12e6ee86
UD
45IFUNC powerpc64-*-linux*
46IFUNC powerpc-*-linux*
47IFUNC sparc64-*-linux*
48IFUNC sparc-*-linux*
9449a295
MR
49# Absolute (SHN_ABS) symbols working correctly.
50ABSOLUTE
c31b1f52 51IFUNC riscv*-linux*