[PATCH][GOLD] Fix build breaking issues.
Doug Kwan (關振德)
dougkwan@google.com
Thu Feb 4 22:07:00 GMT 2010
Hi
This patch fixes a number of build breaking issues in different
configurations.
-Doug
2010-02-04 Doug Kwan <dougkwan@google.com>
* arm-reloc-property.cc (cstdio): Include.
* configure.ac (targetobjs): Remove duplicates.
* configure: Regenerate.
* resolve.cc (Symbol_table::resolve): Explicit instantiate both
big and little endian version for a given address size.
-------------- next part --------------
Index: gold/arm-reloc-property.cc
===================================================================
RCS file: /cvs/src/src/gold/arm-reloc-property.cc,v
retrieving revision 1.2
diff -u -u -p -r1.2 arm-reloc-property.cc
--- gold/arm-reloc-property.cc 4 Feb 2010 03:32:18 -0000 1.2
+++ gold/arm-reloc-property.cc 4 Feb 2010 21:56:30 -0000
@@ -22,6 +22,7 @@
#include "gold.h"
+#include <cstdio>
#include <cstring>
#include <stack>
#include <string>
Index: gold/configure
===================================================================
RCS file: /cvs/src/src/gold/configure,v
retrieving revision 1.55
diff -u -u -p -r1.55 configure
--- gold/configure 29 Dec 2009 22:49:13 -0000 1.55
+++ gold/configure 4 Feb 2010 21:56:30 -0000
@@ -3410,6 +3410,9 @@ fi
fi
done
+# Remove any duplicates.
+targetobjs=`echo $targetobjs | tr ' ' '\n' | sort | uniq | tr '\n' ' '`
+
if test -n "$targ_32_little"; then
$as_echo "#define HAVE_TARGET_32_LITTLE 1" >>confdefs.h
Index: gold/configure.ac
===================================================================
RCS file: /cvs/src/src/gold/configure.ac,v
retrieving revision 1.52
diff -u -u -p -r1.52 configure.ac
--- gold/configure.ac 29 Dec 2009 22:49:13 -0000 1.52
+++ gold/configure.ac 4 Feb 2010 21:56:30 -0000
@@ -162,6 +162,9 @@ for targ in $target $canon_targets; do
fi
done
+# Remove any duplicates.
+targetobjs=`echo $targetobjs | tr ' ' '\n' | sort | uniq | tr '\n' ' '`
+
if test -n "$targ_32_little"; then
AC_DEFINE(HAVE_TARGET_32_LITTLE, 1,
[Define to support 32-bit little-endian targets])
Index: gold/resolve.cc
===================================================================
RCS file: /cvs/src/src/gold/resolve.cc,v
retrieving revision 1.53
diff -u -u -p -r1.53 resolve.cc
--- gold/resolve.cc 11 Jan 2010 07:09:48 -0000 1.53
+++ gold/resolve.cc 4 Feb 2010 21:56:30 -0000
@@ -916,7 +916,10 @@ Symbol_table::override_with_special(Size
// script to restrict this to only the ones needed for implemented
// targets.
-#ifdef HAVE_TARGET_32_LITTLE
+// We have to instantiate both big and little endian versions because
+// these are used by other templates that depends on size only.
+
+#if defined(HAVE_TARGET_32_LITTLE) || defined(HAVE_TARGET_32_BIG)
template
void
Symbol_table::resolve<32, false>(
@@ -927,9 +930,7 @@ Symbol_table::resolve<32, false>(
unsigned int orig_st_shndx,
Object* object,
const char* version);
-#endif
-#ifdef HAVE_TARGET_32_BIG
template
void
Symbol_table::resolve<32, true>(
@@ -942,7 +943,7 @@ Symbol_table::resolve<32, true>(
const char* version);
#endif
-#ifdef HAVE_TARGET_64_LITTLE
+#if defined(HAVE_TARGET_64_LITTLE) || defined(HAVE_TARGET_64_BIG)
template
void
Symbol_table::resolve<64, false>(
@@ -953,9 +954,7 @@ Symbol_table::resolve<64, false>(
unsigned int orig_st_shndx,
Object* object,
const char* version);
-#endif
-#ifdef HAVE_TARGET_64_BIG
template
void
Symbol_table::resolve<64, true>(
More information about the Binutils
mailing list