Lines Matching refs:hash

41 	The first routine creates a hash table used by the other
43 file to the hash table. The third routine takes all the
54 including the linker hash table (which was created by the
73 Creating a linker hash table
77 The linker routines must create a hash table, which must be
80 create a derived hash table. This entry point is called using
84 and initialize an instance of the desired hash table. If the
86 stored with the entries in the hash table, the entry point may
90 For example, with each entry in the hash table the a.out
95 defines the required structures and functions for a hash table
97 hash table is created by the function
99 space for the hash table, initializes it, and returns a
104 you have finished. You should simply create a new hash table
111 Adding symbols to the hash table
121 the hash table. For an archive, BFD must determine which
144 consequence: the function may not assume that the hash table
147 <<_bfd_link_add_symbols>> function can assume about the hash
152 some information in the hash table entry to be used by the
154 field of the hash table must be checked to make sure that the
155 hash table was created by an object file of the same format.
158 hash entry without any extra information added by the
159 <<_bfd_link_add_symbols>> function. A hash entry without
162 of how a hash table entry is added, all the fields will be
163 initialized to some sort of null value by the hash table entry
169 hash table entry.
178 object file to the hash table. The actual work of adding the
179 symbol to the hash table is normally handled by the function
210 pointers to the hash tables entries created by
213 the hash table lookup routine to locate the entry.
225 symbols from the object file to the linker hash table.
231 function builds a hash table from the archive symbol table and
237 symbols to the linker hash table.
245 the elements symbols must be added to the linker hash table
259 linker hash table.
263 archives already contain a hash table of symbols. The ECOFF
265 creating a new hash table.
281 hash table. When producing relocatable output, it must
368 all the symbols in the global hash table. This must be
373 entered into the linker hash table. The <<_bfd_final_link>>
380 hash table to gather all the externally visible symbols. It
383 but it is still necessary to traverse the hash table since the
391 structure is a hash table of symbols to keep; each symbol
392 should be looked up in this hash table, and only symbols which
404 traversing the global hash table with the function
431 /* The link hash table structure is defined in bfdlink.h. It provides
432 a base hash table which the backend specific hash tables are built
435 /* Routine to create an entry in the link hash table. */
467 /* Initialize a link hash table. The BFD argument is the one
487 /* Look up a symbol in a link hash table. If follow is TRUE, we
513 /* Look up a symbol in the main linker hash table if the symbol might
559 h = bfd_link_hash_lookup (info->hash, n, create, TRUE, follow);
589 h = bfd_link_hash_lookup (info->hash, n, create, TRUE, follow);
597 return bfd_link_hash_lookup (info->hash, string, create, copy, follow);
600 /* Traverse a generic link hash table. The only reason this is not a
617 /* Add a symbol to the linker hash table undefs list. */
671 /* Routine to create an entry in a generic link hash table. */
703 /* Create a generic link hash table. */
725 _bfd_generic_link_hash_table_free (struct bfd_link_hash_table *hash)
728 = (struct generic_link_hash_table *) hash;
738 the hash table pointing to different instances of the symbol
766 global hash table. This version does not automatically collect
776 hash table. This version automatically collects constructors by
800 /* Add symbols from an object file to the global hash table. */
829 /* Add symbols from an object file to the global hash table. */
847 /* We build a hash table of all symbols defined in an archive. */
858 /* An entry in an archive hash table. */
867 /* An archive hash table itself. */
874 /* Create a new entry for an archive hash table. */
903 /* Initialize an archive hash table. */
916 /* Look up an entry in an archive hash table. */
922 /* Allocate space in an archive hash table. */
926 /* Free an archive hash table. */
931 hash file. This function presumes that the archive symbol table
949 to the global hash table. CHECKFN should only return FALSE if some
990 this archive, we build a hash table of the symbols. */
1020 pundef = &info->hash->undefs;
1041 if (*pundef != info->hash->undefs_tail)
1193 h = bfd_link_hash_lookup (info->hash, bfd_asymbol_name (p), FALSE,
1250 bfd_hash_allocate (&info->hash->table,
1285 /* Add the symbols from an object file to the global hash table. ABFD
1365 hash table other than the generic hash table, so we only
1366 do this if we are certain that the hash table is a
1368 if (info->hash->creator == abfd->xvec)
1384 /* Store a back pointer from the symbol to the hash
1400 type of the symbol in the hash table. */
1487 /* Return the BFD in which a hash entry has been defined, if known. */
1510 /* Add a symbol to the global hash table.
1524 HASHP, if not NULL, is a place to store the created hash table
1526 the hash table entry, and stored it in *HASHP. */
1572 h = bfd_link_hash_lookup (info->hash, name, TRUE, copy, FALSE);
1612 bfd_link_add_undef (info->hash, h);
1700 bfd_link_add_undef (info->hash, h);
1703 bfd_hash_allocate (&info->hash->table,
1748 if (h->u.undef.next == NULL && info->hash->undefs_tail != h)
1891 bfd_link_add_undef (info->hash, inh);
1935 if (h->u.undef.next == NULL && info->hash->undefs_tail != h)
1954 if (h->u.undef.next != NULL || info->hash->undefs_tail == h)
1969 ((*info->hash->table.newfunc)
1970 (NULL, &info->hash->table, h->root.string)));
1983 w = bfd_hash_allocate (&info->hash->table, len);
1990 bfd_hash_replace (&info->hash->table,
2251 this routine will be called with a hash table
2252 other than a generic hash table, so we double
2254 if (info->hash->creator == input_bfd->xvec)
2396 hash table entry. */
2457 This is called for each symbol in the hash table. */
2800 h = bfd_link_hash_lookup (info->hash,
2908 /* The hash table. */
2912 /* Support routines for the hash table used by section_already_linked,
2942 /* Allocate the memory from the same obstack as the hash table is
3172 bfd_link_hash_traverse (info->hash, fix_syms, obfd);