* ld-srec/srec.exp: Always pass "-G 0". Remove all powerpc
[deliverable/binutils-gdb.git] / gold / reloc.cc
index 915656c374e56f4f28cc3f9554375b31b2cac7a1..76ab196139530d218cc4622fb81c306cc77fe49b 100644 (file)
@@ -343,6 +343,9 @@ Sized_relobj<size, big_endian>::write_sections(const unsigned char* pshdrs,
 
       pvs->view = NULL;
 
+      if (map_sections[i].offset == -1)
+       continue;
+
       const Output_section* os = map_sections[i].output_section;
       if (os == NULL)
        continue;
@@ -484,7 +487,7 @@ Copy_relocs<size, big_endian>::Copy_reloc_entry::should_emit()
 {
   if (this->sym_ == NULL)
     return false;
-  if (this->sym_->is_defined_in_dynobj())
+  if (this->sym_->is_from_dynobj())
     return true;
   this->sym_ = NULL;
   return false;
@@ -497,6 +500,7 @@ void
 Copy_relocs<size, big_endian>::Copy_reloc_entry::emit(
     Output_data_reloc<elfcpp::SHT_REL, true, size, big_endian>* reloc_data)
 {
+  this->sym_->set_needs_dynsym_entry();
   reloc_data->add_global(this->sym_, this->reloc_type_, this->relobj_,
                         this->shndx_, this->address_);
 }
@@ -508,6 +512,7 @@ void
 Copy_relocs<size, big_endian>::Copy_reloc_entry::emit(
     Output_data_reloc<elfcpp::SHT_RELA, true, size, big_endian>* reloc_data)
 {
+  this->sym_->set_needs_dynsym_entry();
   reloc_data->add_global(this->sym_, this->reloc_type_, this->relobj_,
                         this->shndx_, this->address_, this->addend_);
 }
This page took 0.026115 seconds and 4 git commands to generate.