From bf219bc6fcd970d67ad76dbf3c96cdcdc951e083 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Tue, 16 Mar 2010 04:47:33 -0700 Subject: Missing files for libc ABI handling. --- libc-abis | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 libc-abis (limited to 'libc-abis') diff --git a/libc-abis b/libc-abis new file mode 100644 index 0000000000..6e9cce8904 --- /dev/null +++ b/libc-abis @@ -0,0 +1,44 @@ +# 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* -- cgit 1.4.1