Home | History | Annotate | Download | only in bfd

Lines Matching defs:to

17    along with this program; if not, write to the Free Software
57 /* GNU extension to record C++ vtable hierarchy. */
71 /* GNU extension to record C++ vtable member usage. */
488 the SVR4 ABI m68k supplement to see how this works. */
496 0, 0, 0, 0 /* pad out to 20 bytes. */
594 0, 0, 0, 0, /* pad out to 24 bytes. */
616 /* The m68k linker needs to keep track of the number of relocs that it
617 decides to copy in check_relocs for each symbol. This is so that it
647 /* Key to got_entries. */
652 to traverse all GOT entries for a particular symbol.
675 and R_68K_GOT32O when allocating offsets, but they are considered to be
694 /* Number of times this entry is referenced. It is used to
701 /* Offset from the start of .got section. To calculate offset relative
702 to GOT pointer one should substract got->offset from this value. */
705 /* Pointer to the next GOT entry for this global symbol.
716 This is used to avoid enumerating many relocations in comparisons,
726 to distinguish between the two, we use explicitly compare against
783 /* Return number of GOT entries we need to allocate in GOT for
844 This is only used to properly calculate size of .rela.got section;
848 /* Offset of this GOT relative to beginning of .got section. */
867 /* Hashtable mapping each BFD to its GOT. If a BFD doesn't have an entry
874 /* Next symndx to assign a global symbol.
893 Set to TRUE when GOT negative offsets or multi-GOT is enabled. */
896 /* Switch controlling use of negative offsets to double the size of GOTs. */
912 /* Shortcut to multi-GOT data. */
1118 /* Merge backend specific data from an object file to the output
1275 for it. If a single BFD appears to require too many GOT slots with
1277 to user.
1281 To minimize total number of GOTs required for a particular output BFD
1283 to merge some of the GOTs to share an offset space. Ideally [and in most
1290 local GOTs to the new 'big' one. We do that by constructing an
1292 GOT lacks. Then we check if there is room in the big GOT to accomodate
1293 all the entries from diff. On success we add those entries to the big
1300 to the outside world.
1302 After that we get to elf_m68k_relocate_section. There we
1304 relocations to refer to appropriate [assigned to current input_bfd]
1318 When counting relocations we have to include the count of the smaller
1320 to correctly detect overflow.
1322 Sorting the GOT: In each GOT starting offsets are assigned to
1326 Negative GOT offsets: To double usable offset range of GOTs we use
1327 negative offsets. As we assign entries with GOT offsets relative to
1333 by loader. These entries happen to be placed to .got.plt section,
1339 to most functions), so we don't need to care to free them. At the
1451 and one extra R_32 slots to simplify handling of 2-slot entries during
1528 /* We didn't find the entry and we're asked to create a new one. */
1558 Return the value to which ENTRY's type should be set. */
1597 /* Relocations are ordered from bigger got offset size to lesser,
1615 /* Decrese counter of slots with offset size corresponding to TYPE
1625 /* Add new or update existing entry to GOT.
1815 /* Context where to allocate memory. */
1822 /* Process a single entry from the small GOT to see if it should be added
1847 To skip creation of difference entry we use the type,
1852 /* We didn't find the entry. Add entry1 to DIFF. */
1882 /* Return TRUE if SMALL GOT can be added to BIG GOT without overflowing it.
1884 in BIG GOT to accumulate information from SMALL.
1938 struct elf_m68k_got_entry *to;
1943 to = elf_m68k_get_got_entry (arg->big, &from->key_, FIND_OR_CREATE,
1945 if (to == NULL)
1951 BFD_ASSERT (to->u.s1.refcount == 0);
1952 /* All we need to merge is TYPE. */
1953 to->key_.type = from->key_.type;
1958 /* Merge data from DIFF to BIG. INFO is context where memory should be
2011 /* Mapping from global symndx to global symbols.
2012 This is used to build lists of got entries for global symbols. */
2042 /* Check if we should switch to negative range of the offsets. */
2046 /* Verify that this is the only switch to negative range for
2062 /* Assign offset to entry. */
2097 SYMNDX2H is mapping from global symbol indices to actual
2115 /* We set entry offsets relative to the .got section (and not the
2117 finish_dynamic_symbol without needing to know the GOT which they come
2171 /* Make sure that if we try to switch to negative offsets in
2197 /* The GOT we are adding entries to. Aka big got. */
2200 /* Offset to assign the next CURRENT_GOT. */
2207 This is used to calculate size of the .got and .rela.got sections. */
2212 This is used to calculate size of the .rela.got section. */
2218 /* Mapping from global symndx to global symbols.
2219 This is used to build lists of got entries for global symbols. */
2237 /* If we are generating a shared object, we need to
2251 /* Process a single BFD2GOT entry and either merge GOT to CURRENT_GOT
2281 /* Offset set to 0 in the diff_ indicates an error. */
2290 /* Schedule to finish up current_got and start new one. */
2295 we'll fail in relocate_section due to truncated relocations.
2303 /* Create empty current_got to put subsequent GOTs to. */
2334 /* Schedule to start a new current_got. */
2352 /* Helper function to build symndx2h mapping. */
2376 /* Merge GOTs of some BFDs, assign offsets to GOT entries and build
2452 to hashtable slot, thus allowing removal of entry via
2472 /* Remove entry pointed to by ENTRY_PTR from GOT. */
2497 /* Copy any information related to dynamic linking from a pre-existing
2498 symbol to a newly created symbol. Also called to copy flags and
2499 other back-end info to a weakdef, in which case the symbol is not
2679 /* Add entry to got. */
2708 don't need to generate a procedure linkage table entry
2727 /* It does not make sense to have this relocation for a
2728 local symbol. FIXME: does it? How to handle it if
2750 symbol, we need to copy the reloc into the shared library.
2769 it turns out to be a function defined by a dynamic
2779 /* We don't need to handle relocs into sections not going into
2787 turns out to be a function defined by a dynamic object. */
2795 /* If we are creating a shared library, we need to copy the
2825 case, the symbol is forced to be local. Note that this
2827 hash table, which means that h is really a pointer to an
3072 and the input sections have been assigned to output sections.
3073 It's a convenient place to determine the PLT style. */
3078 /* Bind input BFDs to GOTs and calculate sizes of .got and .rela.got
3089 dynamic object, but we're not including those sections. We have to
3090 change the definition to something the rest of the link can
3128 file, but the symbol was never referred to by a dynamic
3130 such a case, we don't actually need to build a procedure
3154 not generating a shared library, then set the symbol to this
3155 location in the .plt. This is required to make function
3170 /* We also need to make an entry in the .got.plt section, which
3176 /* We also need to make an entry in the .rela.plt section. */
3189 processor independent code will have arranged for us to see the
3200 /* This is a reference to a symbol defined by a dynamic object which
3204 only references to the symbol are via the global offset table.
3210 /* If there are no references to this symbol that do not use the
3211 GOT, we don't need to generate a copy reloc. */
3219 from the dynamic object to this symbol will go through the global
3220 offset table. The dynamic linker will use the .dynsym entry to
3222 both the dynamic object and the regular object will refer to the
3228 /* We must generate a R_68K_COPY reloc to tell the dynamic linker to
3230 runtime process image. We need to remember the offset into the
3231 .rela.bss section we are going to use. */
3261 /* Set the contents of the .interp section to the interpreter. */
3275 which will cause it to get stripped from the output file
3282 /* If this is a -Bsymbolic shared link, then we need to discard all
3285 against symbols that have become local due to visibility changes.
3305 /* It's OK to base decisions on the section name, because none
3321 to
3335 output file. This is mostly to handle .rela.bss and
3338 before the linker maps input sections to output
3341 function which decides whether anything needs to go
3351 /* FIXME: This should be a call to bfd_alloc not bfd_zalloc.
3354 order to prevent writing out garbage, we initialise the section's
3355 contents to zero. */
3363 /* Add some entries to the .dynamic section. We fill in the
3407 space allocated to copy PC relative relocs against symbols which
3409 discards space for pc-relative relocs that have become local due to
3502 /* Output necessary relocation to handle a symbol during static link.
3527 /* Mark it as belonging to module 1, the executable. */
3541 /* Output necessary relocation to handle a local symbol
3560 /* Emit RELATIVE relocation to initialize GOT slot
3581 /* Emit TPREL relocation to initialize GOT slot
3693 /* Relocation is to the address of the entry for this symbol
3710 /* In this case we have a reference to
3735 /* In this case we have a reference to
3744 /* Adjust GOT pointer to point to the GOT
3745 assigned to input_bfd. */
3800 the least significant bit to record whether we have
3807 /* @TLSLDM relocations are bounded to the module, in
3808 which the symbol is defined -- not to the symbol
3823 locally, or the symbol was forced to be local
3827 use the least significant bit to record whether
3831 relocation entry to initialize the value. This
3888 /* GOT pointer is adjusted to point to the start/middle
3936 /* Relocation is to the entry for this symbol in the
4008 are copied into the output file to be resolved at run
4040 /* This symbol is local, or marked to become local. */
4065 proper to subtract the symbol's value,
4093 need to do anything now, except for R_68K_32
4260 corresponds to this symbol. This is the index of this symbol
4266 corresponds to this function. Each .got entry is 4 bytes.
4336 locally, we just want to emit a RELATIVE reloc. Likewise if
4337 the symbol was forced to be local because of a version file.
4385 /* Put zeros to GOT slots that will be initialized
4520 Therefore, we override the DT_RELASZ entry here to
4522 linker script arranges for .rela.plt to follow all
4523 other relocation sections, we don't have to worry
4576 used at runtime to relocate the section. This is called by the
4624 /* We are going to write a four byte longword into the runtime
4627 of the target section NUL-padded or truncated to 8
4638 /* Get the target section referred to by the reloc. */