aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gold/ChangeLog8
-rw-r--r--gold/object.cc2
-rw-r--r--gold/testsuite/ifuncmain7.c2
3 files changed, 10 insertions, 2 deletions
diff --git a/gold/ChangeLog b/gold/ChangeLog
index 88d7942..fa663e9 100644
--- a/gold/ChangeLog
+++ b/gold/ChangeLog
@@ -1,3 +1,11 @@
+2010-09-09 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR gold/11996
+ * object.cc (Sized_relobj::do_finalize_local_symbols): Remove
+ "This::" to work around a bug in gcc 4.2.
+
+ * testsuite/ifuncmain7.c (foo_ifunc): Add __attribute__ ((used)).
+
2010-09-09 Rafael Espindola <espindola@google.com>
* layout.cc (Layout::attach_allocated_section_to_segment): Don't put
diff --git a/gold/object.cc b/gold/object.cc
index 7bd35f3..bde89f6 100644
--- a/gold/object.cc
+++ b/gold/object.cc
@@ -2074,7 +2074,7 @@ Sized_relobj<size, big_endian>::do_finalize_local_symbols(unsigned int index,
{
Symbol_value<size>* lv = &this->local_values_[i];
- This::Compute_final_local_value_status cflv_status =
+ Compute_final_local_value_status cflv_status =
this->compute_final_local_value_internal(i, lv, lv, relocatable,
out_sections, out_offsets,
symtab);
diff --git a/gold/testsuite/ifuncmain7.c b/gold/testsuite/ifuncmain7.c
index f6608ea..c2524aa 100644
--- a/gold/testsuite/ifuncmain7.c
+++ b/gold/testsuite/ifuncmain7.c
@@ -15,7 +15,7 @@ one (void)
return -30;
}
-static void * foo_ifunc (void) __asm__ ("foo");
+static void * __attribute__ ((used)) foo_ifunc (void) __asm__ ("foo");
__asm__(".type foo, %gnu_indirect_function");
static void *