Support building gold with gcc 4.2/4.3.
authorH.J. Lu <hjl.tools@gmail.com>
Thu, 9 Sep 2010 19:57:06 +0000 (19:57 +0000)
committerH.J. Lu <hjl.tools@gmail.com>
Thu, 9 Sep 2010 19:57:06 +0000 (19:57 +0000)
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)).

gold/ChangeLog
gold/object.cc
gold/testsuite/ifuncmain7.c

index 88d7942476fe43abd05df5add8bef0780bd4fb78..fa663e9b11fe820dabd4acf862a194a8101fe5cf 100644 (file)
@@ -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
index 7bd35f3a5877ff925ff2455530fbdc5adec9cd08..bde89f68d26480d35493f66734ee370dd4f5a57b 100644 (file)
@@ -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);
index f6608ea57f509f725a45d87e99f435c3ffa39199..c2524aa5eb7b2100939012fc26cc6c36dbc43af1 100644 (file)
@@ -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 *