Fix build failure in inf-ptrace.c.
[binutils-gdb.git] / gold / arm.cc
index b02afbe23eac875afb88bf7c6a3c986e72cd7b0b..d1040335241c66b494535bbc8f254cbfd641aeb7 100644 (file)
@@ -2592,8 +2592,8 @@ Target_arm<big_endian>::got_section(Symbol_table* symtab, Layout* layout)
       os = layout->add_output_section_data(".got", elfcpp::SHT_PROGBITS,
                                           (elfcpp::SHF_ALLOC
                                            | elfcpp::SHF_WRITE),
-                                          this->got_, false);
-      os->set_is_relro();
+                                          this->got_, false, true, true,
+                                          false);
 
       // The old GNU linker creates a .got.plt section.  We just
       // create another set of data in the .got section.  Note that we
@@ -2603,14 +2603,15 @@ Target_arm<big_endian>::got_section(Symbol_table* symtab, Layout* layout)
       os = layout->add_output_section_data(".got", elfcpp::SHT_PROGBITS,
                                           (elfcpp::SHF_ALLOC
                                            | elfcpp::SHF_WRITE),
-                                          this->got_plt_, false);
-      os->set_is_relro();
+                                          this->got_plt_, false, false,
+                                          false, true);
 
       // The first three entries are reserved.
       this->got_plt_->set_current_data_size(3 * 4);
 
       // Define _GLOBAL_OFFSET_TABLE_ at the start of the PLT.
       symtab->define_in_output_data("_GLOBAL_OFFSET_TABLE_", NULL,
+                                   Symbol_table::PREDEFINED,
                                    this->got_plt_,
                                    0, 0, elfcpp::STT_OBJECT,
                                    elfcpp::STB_LOCAL,
@@ -2631,7 +2632,8 @@ Target_arm<big_endian>::rel_dyn_section(Layout* layout)
       gold_assert(layout != NULL);
       this->rel_dyn_ = new Reloc_section(parameters->options().combreloc());
       layout->add_output_section_data(".rel.dyn", elfcpp::SHT_REL,
-                                     elfcpp::SHF_ALLOC, this->rel_dyn_, true);
+                                     elfcpp::SHF_ALLOC, this->rel_dyn_, true,
+                                     false, false, false);
     }
   return this->rel_dyn_;
 }
@@ -4051,7 +4053,8 @@ Output_data_plt_arm<big_endian>::Output_data_plt_arm(Layout* layout,
 {
   this->rel_ = new Reloc_section(false);
   layout->add_output_section_data(".rel.plt", elfcpp::SHT_REL,
-                                 elfcpp::SHF_ALLOC, this->rel_, true);
+                                 elfcpp::SHF_ALLOC, this->rel_, true, false,
+                                 false, false);
 }
 
 template<bool big_endian>
@@ -4213,7 +4216,7 @@ Target_arm<big_endian>::make_plt_entry(Symbol_table* symtab, Layout* layout,
       layout->add_output_section_data(".plt", elfcpp::SHT_PROGBITS,
                                      (elfcpp::SHF_ALLOC
                                       | elfcpp::SHF_EXECINSTR),
-                                     this->plt_, false);
+                                     this->plt_, false, false, false, false);
     }
   this->plt_->add_entry(gsym);
 }
@@ -4763,12 +4766,14 @@ Target_arm<big_endian>::do_finalize_sections(
       && !parameters->options().relocatable())
     {
       // Create __exidx_start and __exdix_end symbols.
-      symtab->define_in_output_data("__exidx_start", NULL, exidx_section,
-                                   0, 0, elfcpp::STT_OBJECT,
+      symtab->define_in_output_data("__exidx_start", NULL,
+                                   Symbol_table::PREDEFINED,
+                                   exidx_section, 0, 0, elfcpp::STT_OBJECT,
                                    elfcpp::STB_GLOBAL, elfcpp::STV_HIDDEN, 0,
                                    false, false);
-      symtab->define_in_output_data("__exidx_end", NULL, exidx_section,
-                                   0, 0, elfcpp::STT_OBJECT,
+      symtab->define_in_output_data("__exidx_end", NULL,
+                                   Symbol_table::PREDEFINED,
+                                   exidx_section, 0, 0, elfcpp::STT_OBJECT,
                                    elfcpp::STB_GLOBAL, elfcpp::STV_HIDDEN, 0,
                                    true, false);
 
@@ -4790,7 +4795,8 @@ Target_arm<big_endian>::do_finalize_sections(
     new Output_attributes_section_data(*this->attributes_section_data_);
   layout->add_output_section_data(".ARM.attributes",
                                  elfcpp::SHT_ARM_ATTRIBUTES, 0,
-                                 attributes_section, false);
+                                 attributes_section, false, false, false,
+                                 false);
 }
 
 // Return whether a direct absolute static relocation needs to be applied.