summaryrefslogtreecommitdiff
path: root/libc/libc-abis
diff options
context:
space:
mode:
authorjoseph <joseph@7b3dc134-2b1b-0410-93df-9e9f96275f8d>2010-03-26 21:08:35 +0000
committerjoseph <joseph@7b3dc134-2b1b-0410-93df-9e9f96275f8d>2010-03-26 21:08:35 +0000
commit30feca091914f8d41f452394367677bfe56b3316 (patch)
treeb9f750862b34524d3bcf230ab749d293e9caebc8 /libc/libc-abis
parent5c92b8030ed5819dd183df7cc3cfb085317beb16 (diff)
Merge changes between r10031 and r10115 from /fsf/trunk.
git-svn-id: svn://svn.eglibc.org/trunk@10116 7b3dc134-2b1b-0410-93df-9e9f96275f8d
Diffstat (limited to 'libc/libc-abis')
-rw-r--r--libc/libc-abis48
1 files changed, 48 insertions, 0 deletions
diff --git a/libc/libc-abis b/libc/libc-abis
new file mode 100644
index 000000000..8668e49d8
--- /dev/null
+++ b/libc/libc-abis
@@ -0,0 +1,48 @@
+# 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*