aboutsummaryrefslogtreecommitdiff
path: root/gold/dynobj.cc
diff options
context:
space:
mode:
authorIan Lance Taylor <iant@google.com>2007-09-04 20:00:53 +0000
committerIan Lance Taylor <iant@google.com>2007-09-04 20:00:53 +0000
commit193a53d920ac7248cf6a3d8e36f74e9b9100b93b (patch)
treefe5c87514693b22f2705d4f8d92fd94d7978781e /gold/dynobj.cc
parent64707334c75cdf16a0c2d317fc381c9b158beed9 (diff)
downloadfsf-binutils-gdb-193a53d920ac7248cf6a3d8e36f74e9b9100b93b.zip
fsf-binutils-gdb-193a53d920ac7248cf6a3d8e36f74e9b9100b93b.tar.gz
fsf-binutils-gdb-193a53d920ac7248cf6a3d8e36f74e9b9100b93b.tar.bz2
Add support for --enable-target to control which template
specializations we generate.
Diffstat (limited to 'gold/dynobj.cc')
-rw-r--r--gold/dynobj.cc32
1 files changed, 32 insertions, 0 deletions
diff --git a/gold/dynobj.cc b/gold/dynobj.cc
index 1bd5a85..874b4e7 100644
--- a/gold/dynobj.cc
+++ b/gold/dynobj.cc
@@ -1520,18 +1520,27 @@ Versions::need_section_contents(const Stringpool* dynpool,
// Instantiate the templates we need. We could use the configure
// script to restrict this to only the ones for implemented targets.
+#ifdef HAVE_TARGET_32_LITTLE
template
class Sized_dynobj<32, false>;
+#endif
+#ifdef HAVE_TARGET_32_BIG
template
class Sized_dynobj<32, true>;
+#endif
+#ifdef HAVE_TARGET_64_LITTLE
template
class Sized_dynobj<64, false>;
+#endif
+#ifdef HAVE_TARGET_64_BIG
template
class Sized_dynobj<64, true>;
+#endif
+#ifdef HAVE_TARGET_32_LITTLE
template
void
Versions::symbol_section_contents<32, false>(
@@ -1541,7 +1550,9 @@ Versions::symbol_section_contents<32, false>(
unsigned char**,
unsigned int*
ACCEPT_SIZE_ENDIAN_EXPLICIT(32, false)) const;
+#endif
+#ifdef HAVE_TARGET_32_BIG
template
void
Versions::symbol_section_contents<32, true>(
@@ -1551,7 +1562,9 @@ Versions::symbol_section_contents<32, true>(
unsigned char**,
unsigned int*
ACCEPT_SIZE_ENDIAN_EXPLICIT(32, true)) const;
+#endif
+#ifdef HAVE_TARGET_64_LITTLE
template
void
Versions::symbol_section_contents<64, false>(
@@ -1561,7 +1574,9 @@ Versions::symbol_section_contents<64, false>(
unsigned char**,
unsigned int*
ACCEPT_SIZE_ENDIAN_EXPLICIT(64, false)) const;
+#endif
+#ifdef HAVE_TARGET_64_BIG
template
void
Versions::symbol_section_contents<64, true>(
@@ -1571,7 +1586,9 @@ Versions::symbol_section_contents<64, true>(
unsigned char**,
unsigned int*
ACCEPT_SIZE_ENDIAN_EXPLICIT(64, true)) const;
+#endif
+#ifdef HAVE_TARGET_32_LITTLE
template
void
Versions::def_section_contents<32, false>(
@@ -1580,7 +1597,9 @@ Versions::def_section_contents<32, false>(
unsigned int*,
unsigned int*
ACCEPT_SIZE_ENDIAN_EXPLICIT(32, false)) const;
+#endif
+#ifdef HAVE_TARGET_32_BIG
template
void
Versions::def_section_contents<32, true>(
@@ -1589,7 +1608,9 @@ Versions::def_section_contents<32, true>(
unsigned int*,
unsigned int*
ACCEPT_SIZE_ENDIAN_EXPLICIT(32, true)) const;
+#endif
+#ifdef HAVE_TARGET_64_LITTLE
template
void
Versions::def_section_contents<64, false>(
@@ -1598,7 +1619,9 @@ Versions::def_section_contents<64, false>(
unsigned int*,
unsigned int*
ACCEPT_SIZE_ENDIAN_EXPLICIT(64, false)) const;
+#endif
+#ifdef HAVE_TARGET_64_BIG
template
void
Versions::def_section_contents<64, true>(
@@ -1607,7 +1630,9 @@ Versions::def_section_contents<64, true>(
unsigned int*,
unsigned int*
ACCEPT_SIZE_ENDIAN_EXPLICIT(64, true)) const;
+#endif
+#ifdef HAVE_TARGET_32_LITTLE
template
void
Versions::need_section_contents<32, false>(
@@ -1616,7 +1641,9 @@ Versions::need_section_contents<32, false>(
unsigned int*,
unsigned int*
ACCEPT_SIZE_ENDIAN_EXPLICIT(32, false)) const;
+#endif
+#ifdef HAVE_TARGET_32_BIG
template
void
Versions::need_section_contents<32, true>(
@@ -1625,7 +1652,9 @@ Versions::need_section_contents<32, true>(
unsigned int*,
unsigned int*
ACCEPT_SIZE_ENDIAN_EXPLICIT(32, true)) const;
+#endif
+#ifdef HAVE_TARGET_64_LITTLE
template
void
Versions::need_section_contents<64, false>(
@@ -1634,7 +1663,9 @@ Versions::need_section_contents<64, false>(
unsigned int*,
unsigned int*
ACCEPT_SIZE_ENDIAN_EXPLICIT(64, false)) const;
+#endif
+#ifdef HAVE_TARGET_64_BIG
template
void
Versions::need_section_contents<64, true>(
@@ -1643,5 +1674,6 @@ Versions::need_section_contents<64, true>(
unsigned int*,
unsigned int*
ACCEPT_SIZE_ENDIAN_EXPLICIT(64, true)) const;
+#endif
} // End namespace gold.