# See the copy of this file in libc for detailed explanations.  This
# copy needs to include all libc definitions applicable to MIPS; only
# one copy will be used.
#
# Feature Name	Configuration
# ------------	-------------
#
# MIPS PLTs.
MIPS_PLT	mips*-*-linux*
#
# Unique symbol definitions for C++.
# Architecture independent, all ELF targets (== all targets)
UNIQUE
