Lines Matching full:shndx
683 shndx() const
708 unsigned int shndx, Arm_address source_address,
710 : Stub(stub_template), relobj_(relobj), shndx_(shndx),
837 make_cortex_a8_stub(Stub_type stub_type, Relobj* relobj, unsigned int shndx,
843 return new Cortex_a8_stub(this->stub_templates_[stub_type], relobj, shndx,
1054 Arm_exidx_cantunwind(Relobj* relobj, unsigned int shndx)
1055 : Output_section_data(8, 4, true), relobj_(relobj), shndx_(shndx)
1065 shndx() const
1158 Arm_input_section(Relobj* relobj, unsigned int shndx)
1159 : Output_relaxed_input_section(relobj, shndx, 1),
1223 do_output_offset(const Relobj* object, unsigned int shndx,
1228 && (shndx == this->shndx())
1421 Arm_exidx_input_section(Relobj* relobj, unsigned int shndx,
1424 : relobj_(relobj), shndx_(shndx), link_(link), size_(size),
1440 shndx() const
1511 // Return the stub table of the SHNDX-th section if there is one.
1513 stub_table(unsigned int shndx) const
1515 gold_assert(shndx < this->stub_tables_.size());
1516 return this->stub_tables_[shndx];
1519 // Set STUB_TABLE to be the stub_table of the SHNDX-th section.
1521 set_stub_table(unsigned int shndx, Stub_table<big_endian>* stub_table)
1523 gold_assert(shndx < this->stub_tables_.size());
1524 this->stub_tables_[shndx] = stub_table;
1541 // Convert regular input section with index SHNDX to a relaxed section.
1543 convert_input_section_to_relaxed_section(unsigned shndx)
1547 this->set_section_offset(shndx, -1ULL);
1591 section_has_cortex_a8_workaround(unsigned int shndx) const
1594 && (*this->section_has_cortex_a8_workaround_)[shndx]);
1599 mark_section_for_cortex_a8_workaround(unsigned int shndx)
1604 (*this->section_has_cortex_a8_workaround_)[shndx] = true;
1607 // Return the EXIDX section of an text section with index SHNDX or NULL
1610 exidx_input_section_by_link(unsigned int shndx) const
1612 Exidx_section_map::const_iterator p = this->exidx_section_map_.find(shndx);
1614 && p->second->link() == shndx)
1619 // Return the EXIDX section with index SHNDX or NULL if there is none.
1621 exidx_input_section_by_shndx(unsigned shndx) const
1623 Exidx_section_map::const_iterator p = this->exidx_section_map_.find(shndx);
1625 && p->second->shndx() == shndx)
1658 if (p->second->shndx() == p->first)
1733 // index SHNDX and section header SHDR. TEXT_SHNDX is the section
1736 make_exidx_input_section(unsigned int shndx,
1742 // relaxed input section. SHNDX is the section index.
2417 // Find the Arm_input_section object corresponding to the SHNDX-th input
2420 find_arm_input_section(Relobj* relobj, unsigned int shndx) const;
2852 unsigned int shndx, Output_section* output_section,
2858 object, shndx, output_section,
5274 arm_relobj->mark_section_for_cortex_a8_workaround(stub->shndx());
5338 unsigned int shndx = this->shndx();
5343 convert_types<uint32_t, uint64_t>(relobj->section_addralign(shndx));
5349 relobj->section_contents(shndx, §ion_size, false);
5351 convert_types<uint32_t, uint64_t>(relobj->section_size(shndx));
5359 Output_section* os = relobj->output_section(shndx);
5360 off_t offset = relobj->output_section_offset(shndx);
5361 gold_assert(os != NULL && !relobj->is_output_section_offset_invalid(shndx));
5496 exidx_input_section.shndx(),
5556 // Given an input OBJECT, an input section index SHNDX within that
5566 unsigned int shndx,
5572 || shndx != this->exidx_input_section_.shndx())
5616 Output_section* os = this->relobj()->output_section(this->shndx());
5715 unsigned shndx = exidx_input_section->shndx();
5721 relobj->name().c_str(), shndx);
5823 target->new_arm_input_section(owner->relobj(), owner->shndx());
5845 arm_relobj->set_stub_table(p->shndx(), stub_table);
5994 unsigned int shndx = new_relaxed_sections[i]->shndx();
5996 arm_relobj->convert_input_section_to_relaxed_section(shndx);
6018 p->shndx()));
6060 text_to_exidx_map[Section_id(p->relobj(), p->shndx())] = &(*p);
6073 unsigned int shndx = p->second;
6078 arm_relobj->exidx_input_section_by_link(shndx);
6090 unsigned int exidx_shndx = exidx_input_section->shndx();
6177 if (processed_input_sections.find(Section_id(p->relobj(), p->shndx()))
6187 arm_relobj->exidx_input_section_by_shndx(p->shndx());
6197 p->relobj()->set_output_section(p->shndx(), NULL);
6224 unsigned exidx_shndx = p->shndx();
6237 // the header of the section and SHNDX is the section index. OS is the output
6245 unsigned int shndx,
6257 if (os == NULL || symtab->is_section_folded(this, shndx))
6263 if (this->is_output_section_offset_invalid(shndx))
6266 os->find_relaxed_input_section(this, shndx);
6274 // Determine if we want to scan the SHNDX-th section for relocation stubs.
6323 // input section. SHNDX is the section index. We define and use this
6330 unsigned int shndx,
6333 if (this->is_output_section_offset_invalid(shndx))
6336 os->find_relaxed_input_section(this, shndx);
6342 return os->address() + this->get_output_section_offset(shndx);
6345 // Determine if we want to scan the SHNDX-th section for non-relocation stubs.
6352 unsigned int shndx,
6356 if (!this->section_is_scannable(shdr, shndx, os, symtab))
6361 Arm_address address = this->simple_input_section_output_address(shndx, os);
6374 unsigned int shndx,
6379 // at (shndx, 0).
6380 Mapping_symbol_position section_start(shndx, 0);
6386 if (p == this->mapping_symbols_info_.end() || p->first.first != shndx)
6390 this->simple_input_section_output_address(shndx, os);
6395 this->section_contents(shndx, &input_view_size, false);
6403 && p->first.first == shndx)
6416 && next->first.first == shndx)
6424 arm_target->scan_span_for_cortex_a8_erratum(this, shndx,
6821 // SHNDX. SHDR is the section header of the EXIDX section and TEXT_SHNDX
6827 unsigned int shndx,
6834 new Arm_exidx_input_section(this, shndx, text_shndx, shdr.get_sh_size(),
6838 gold_assert(this->exidx_section_map_[shndx] == NULL);
6839 this->exidx_section_map_[shndx] = exidx_input_section;
6844 this->section_name(shndx).c_str(), shndx, text_shndx,
6851 this->exidx_section_map_[text_shndx]->shndx();
6854 this->section_name(shndx).c_str(), shndx,
6868 this->section_name(shndx).c_str(), shndx,
6878 this->section_name(shndx).c_str(), shndx,
7022 unsigned int shndx = deferred_exidx_sections[i];
7023 elfcpp::Shdr<32, big_endian> shdr(pshdrs + shndx * shdr_size);
7025 Reloc_map::const_iterator it = reloc_map.find(shndx);
7031 this->make_exidx_input_section(shndx, shdr, text_shndx, text_shdr);
7133 unsigned int shndx = this->adjust_sym_shndx(i, sym.get_st_shndx(),
7136 if (shndx < shnum)
7138 Output_section* os = out_sections[shndx];
7150 if ((this->get_output_section_offset(shndx) == invalid_address)
7151 && (this->exidx_input_section_by_shndx(shndx) != NULL))
7154 os->output_offset(this, shndx, lv.input_value());
7352 unsigned int shndx = psymval->input_shndx(&is_ordinary);
7353 if ((shndx == elfcpp::SHN_UNDEF)
7355 && shndx != elfcpp::SHN_UNDEF
7356 && !object->is_section_included(shndx)
7357 && !this->symbol_table_->is_section_folded(object, shndx)))
8583 unsigned int shndx = lsym.get_st_shndx();
8585 shndx = object->adjust_sym_shndx(r_sym, shndx,
8588 object->error(_("section symbol %u has bad shndx %u"),
8589 r_sym, shndx);
8591 rel_dyn->add_local_section(object, shndx,
8736 unsigned int shndx = lsym.get_st_shndx();
8738 shndx = object->adjust_sym_shndx(r_sym, shndx, &is_ordinary);
8741 object->error(_("local symbol %u has bad shndx %u"),
8742 r_sym, shndx);
8747 got->add_local_pair_with_rel(object, r_sym, shndx,
10470 unsigned int shndx = object->local_symbol_input_shndx(r_sym, &is_ordinary);
10472 Output_section* os = object->output_section(shndx);
11817 unsigned int shndx)
11819 Section_id sid(relobj, shndx);
11822 new Arm_input_section<big_endian>(relobj, shndx);
11836 // Find the Arm_input_section object corresponding to the SHNDX-th input
11843 unsigned int shndx) const
11845 Section_id sid(relobj, shndx);
12117 unsigned int shndx;
12129 shndx = psymval->input_shndx(&is_ordinary);
12132 && shndx != elfcpp::SHN_UNDEF
12133 && !arm_object->is_section_included(shndx)
12134 && !relinfo->symtab->is_section_folded(arm_object, shndx));
12154 arm_object->section_name(shndx);
12205 shndx = 0;
12225 arm_object->map_to_kept_section(shndx, &found);
12657 unsigned int shndx,
12804 arm_relobj, shndx,
12808 arm_relobj->stub_table(shndx);