Lines Matching defs:of

6 // This file is part of gold.
9 // it under the terms of the GNU General Public License as published by
10 // the Free Software Foundation; either version 3 of the License, or
14 // but WITHOUT ANY WARRANTY; without even the implied warranty of
18 // You should have received a copy of the GNU General Public License
105 // Some BSD systems still use MAP_ANON instead of MAP_ANONYMOUS
236 Output_section_headers::do_write(Output_file* of)
242 this->do_sized_write<32, false>(of);
247 this->do_sized_write<32, true>(of);
252 this->do_sized_write<64, false>(of);
257 this->do_sized_write<64, true>(of);
267 Output_section_headers::do_sized_write(Output_file* of)
270 unsigned char* view = of->get_output_view(this->offset(), all_shdrs_size);
354 of->write_output_view(this->offset(), all_shdrs_size, view);
367 Output_segment_headers::do_write(Output_file* of)
373 this->do_sized_write<32, false>(of);
378 this->do_sized_write<32, true>(of);
383 this->do_sized_write<64, false>(of);
388 this->do_sized_write<64, true>(of);
398 Output_segment_headers::do_sized_write(Output_file* of)
403 unsigned char* view = of->get_output_view(this->offset(),
417 of->write_output_view(this->offset(), all_phdrs_size, view);
462 Output_file_header::do_write(Output_file* of)
470 this->do_sized_write<32, false>(of);
475 this->do_sized_write<32, true>(of);
480 this->do_sized_write<64, false>(of);
485 this->do_sized_write<64, true>(of);
497 Output_file_header::do_sized_write(Output_file* of)
502 unsigned char* view = of->get_output_view(0, ehdr_size);
581 of->write_output_view(0, ehdr_size, view);
639 Output_data_const::do_write(Output_file* of)
641 of->write(this->offset(), this->data_.data(), this->data_.size());
647 Output_data_const_buffer::do_write(Output_file* of)
649 of->write(this->offset(), this->p_, this->data_size());
664 // Return the section index of the output section.
674 // of the output section.
699 Output_data_strtab::do_write(Output_file* of)
701 this->strtab_->write(of, this->offset());
807 // A reloc against the STT_SECTION symbol of an output section.
948 // The target must take care of this if necessary.
969 // Get the symbol index of a relocation.
1006 // Relocations without symbols use a symbol index of 0.
1039 // For a local section symbol, get the address of the offset ADDEND
1068 // Get the output address of a relocation.
1096 // Write out the offset and info fields of a Rel or Rela relocation
1121 // Get the value of the symbol referred to by a Rel relocation.
1157 // benefit of the dynamic linker. First we sort all relative relocs
1273 Output_file* of)
1276 this->do_write_generic<Writer>(of);
1309 Output_data_group<size, big_endian>::do_write(Output_file* of)
1314 unsigned char* const oview = of->get_output_view(off, oview_size);
1343 of->write_output_view(off, oview_size, oview);
1478 // relocation of type R_TYPE for the GOT entry.
1496 // Add a pair of entries for a global symbol to the GOT, and add
1497 // dynamic relocations of type R_TYPE_1 and R_TYPE_2, respectively.
1580 // relocation of type R_TYPE for the GOT entry.
1600 // relocation of type R_TYPE for the GOT entry.
1620 // Add a pair of entries for a local symbol to the GOT, and add
1621 // a dynamic relocation of type R_TYPE using the section symbol of
1623 // The first got entry will have a value of zero, the second the
1624 // value of the local symbol.
1646 // Add a pair of entries for a local symbol plus ADDEND to the GOT, and add
1647 // a dynamic relocation of type R_TYPE using the section symbol of
1649 // The first got entry will have a value of zero, the second the
1650 // value of the local symbol.
1672 // Add a pair of entries for a local symbol to the GOT, and add
1673 // a dynamic relocation of type R_TYPE using STN_UNDEF on the first.
1674 // The first got entry will have a value of zero, the second the
1675 // value of the local symbol offset by Target::tls_offset_for_local.
1695 // Reserve a slot in the GOT for a local symbol or the second slot of a pair.
1726 Output_data_got<got_size, big_endian>::do_write(Output_file* of)
1732 unsigned char* const oview = of->get_output_view(off, oview_size);
1743 of->write_output_view(off, oview_size, oview);
1767 gold_fallback(_("out of patch space (GOT);"
1776 // Create a pair of new GOT entries and return the offset of the first.
1795 // For an incremental update, find an available pair of slots.
1799 gold_fallback(_("out of patch space (GOT);"
1912 // Because of relaxation, we can run this multiple times.
1934 Output_data_dynamic::do_write(Output_file* of)
1940 this->sized_write<32, false>(of);
1945 this->sized_write<32, true>(of);
1950 this->sized_write<64, false>(of);
1955 this->sized_write<64, true>(of);
1965 Output_data_dynamic::sized_write(Output_file* of)
1971 unsigned char* const oview = of->get_output_view(offset, oview_size);
1984 of->write_output_view(offset, oview_size, oview);
1993 Output_symtab_xindex::do_write(Output_file* of)
1997 unsigned char* const oview = of->get_output_view(offset, oview_size);
2006 of->write_output_view(offset, oview_size, oview);
2046 Output_fill_debug_info::do_write(Output_file* of, off_t off, size_t len) const
2053 unsigned char* const oview = of->get_output_view(off, len);
2076 // Fill the remainder of the free space with zeroes. The first
2082 of->write_output_view(off, len, oview);
2103 Output_fill_debug_line::do_write(Output_file* of, off_t off, size_t len) const
2110 unsigned char* const oview = of->get_output_view(off, len);
2153 // header. For those consumers, we fill the remainder of the free
2159 of->write_output_view(off, len, oview);
2261 // return the output offset relative to the start of this
2287 Output_section::Input_section::write(Output_file* of)
2290 this->u2_.posd->write(of);
2417 // OBJECT, to the Output_section. RELOC_SHNDX is the index of a
2419 // -1U if more than one. Return the offset of the input section
2422 // track of input sections for an Output_section. Instead, each
2423 // Object keeps track of the Output_section for each of its input
2425 // track of input sections here; this is used when SECTIONS appears in
2497 // For incremental updates, find a chunk of unused space in the section.
2501 gold_fallback(_("out of patch space in section %s; "
2548 // We need to keep track of this section if we are already keeping
2549 // track of sections, or if we are relaxing. Also, if this is a
2551 // the future, we keep track of the sections. If the
2552 // --section-ordering-file option is used to specify the order of
2553 // sections, we need to keep track of sections.
2596 // For incremental updates, find a chunk of unused space.
2600 gold_fallback(_("out of patch space in section %s; "
2640 // If the --section-ordering-file option is used to specify the order of
2641 // sections, we need to keep track of sections.
2661 // output section size. If we do not account for sizes of relaxed input
2779 // Build a relaxation map to speed up relaxation of existing input sections.
2801 // indices of INPUT_SECTIONS.
2817 // Remember section order index of original input section
2827 // is a vector of pointers to Output_relaxed_input_section or its derived
2836 // We want to make sure that restore_states does not undo the effect of
2847 // copy of the input section list.
2932 // Output_section pointer. The method only updates states of the maps.
2963 // Given an address OFFSET relative to the start of input section
3005 // Given an address OFFSET relative to the start of input section
3007 // start of the input section in the output section. This should only
3015 // of this.
3042 // Return the output virtual address of OFFSET relative to the start
3043 // of input section SHNDX in object OBJECT.
3087 // Find the output address of the start of the merged section for
3110 // method to get the output offset of input offset 0.
3126 // Update the data size of an Output_section.
3150 // Set the data size of an Output_section. This is where we handle
3151 // setting the addresses of any Output_section_data objects.
3253 // output section. This is used to implement the type of constructor
3255 // priority becomes part of the section name and the sections are
3306 // The index of this entry in the original list. This is used to
3358 // FILE_NAME. The base name must have an extension of ".o", and
3392 // The index of this Input_section in the original list.
3461 // This is the reverse of .ctors and .dtors sections.
3507 // any pattern in the section ordering file are placed ahead of the sections
3570 // This updates the section order index of input sections according to the
3619 // We start by building a larger vector holding a copy of each
3720 Output_section::do_write(Output_file* of)
3733 of->write(output_section_file_offset + p->section_offset(),
3747 of->write(off, fill_data.data(), fill_data.size());
3750 p->write(of);
3764 this->free_space_fill_->write(of, this->offset() + off, len);
3769 this->free_space_fill_->write(of, this->offset() + off,
3803 // Write all the data of an Output_section into the postprocessing
3972 // track of them.
3996 // extremely large output with hundreads of thousands of input
4006 // track of them.
4010 // Update the section offsets of input sections in this. This is required if
4177 // start of a segment.
4229 // Return the maximum alignment of the Output_data in Output_segment.
4249 // Return the maximum alignment of a list of Output_data.
4293 // INCREASE_RELRO is the size of the portion of the first non-relro
4296 // that purpose, set *HAS_RELRO to TRUE. Return the address of
4341 // of the TLS segment.
4345 // Ignore the size of the .tbss section.
4365 // Pad the total relro size to a multiple of the maximum
4368 // Note the amount of padding added after the last relro section.
4413 // the padding will occur at the end of the relro
4439 // alignment of the TLS segment, so that the overall size of the TLS
4455 // code fill (the tail of the segment will not be within any section).
4491 // Set the addresses and file offsets in a list of Output_data
4504 // free space in the file. This keeps track of the high-water mark.
4527 // Give the first TLS section the alignment of the
4544 // align it to at least the alignment of the TLS
4545 // segment, so that the size of the overall TLS segment
4576 gold_fallback(_("out of patch space for section %s; "
4605 "of a LOAD segment; space will be allocated "
4629 gold_error(_("address of section '%s' moves backward "
4646 // We want to ignore the size of a SHF_TLS SHT_NOBITS
4647 // section. Such a section does not affect the size of a
4653 // unless a script has force-placed one in the middle of a segment.
4775 // Set the TLS offsets of the sections in the PT_TLS segment.
4807 // Return the number of Output_sections in an Output_segment.
4818 // Return the number of Output_sections in an Output_data_list.
4980 // exist, has a size of 0 or can't be mmapped. If BASE_NAME is not
5001 // Don't bother opening files with a size of zero.
5044 gold_info(_("%s: file too short: read only %lld of %lld bytes"),
5081 // However, the linker may be part of a system where a zero-length
5167 // Map an anonymous block of memory which will later be written to the
5197 // instead, we'll mmap a block of memory (an anonymous buffer), and
5210 // disk blocks. If the disk is out of space at that point, the
5227 // The mmap call might fail because of file system issues: the file
5247 // The mmap call might fail because of file system issues: the file