Lines Matching defs:symbol

99 				     struct symbol **ndxtosymp);
111 /* Map symbol index to struct symbol record. */
112 static struct symbol **ndxtosym;
114 /* String table reference to all symbols in the symbol table. */
174 /* If this symbol is not undefined in this file it cannot come from
179 struct symbol *sym = file->symref[symidx];
525 struct usedfiles *fileinfo, struct symbol *oldp)
557 struct symbol *oldp)
593 struct usedfiles *fileinfo, struct symbol *oldp)
605 /* We found a definition for a previously undefined symbol or a
607 redefinition of a symbol definition in an object file
635 /* The duplicate symbol is in a group COMDAT section with the same
726 /* The symbol size is the largest of all common definitions. */
734 /* Adjust the symbol record appropriately and remove
735 the symbol from the list of symbols which are taken from DSOs. */
995 /* Determine the symbol which name constitutes the signature
1126 /* Read all the section headers and find the symbol table. Note
1191 /* If we are looking for the normal symbol table we just
1256 /* Determine the signature. We create a symbol record for
1258 fileinfo->scninfo[cnt].symbols = (struct symbol *)
1259 obstack_calloc (&ld_state.smem, sizeof (struct symbol));
1274 struct symbol *symbol = fileinfo->scninfo[cnt].symbols;
1283 symbol->name = elf_strptr (fileinfo->elf,
1286 symbol->symidx = -1;
1291 symbol->name = elf_strptr (fileinfo->elf,
1294 symbol->symidx = shdr->sh_info;
1296 symbol->file = fileinfo;
1388 hash table. In theory there can be a file without any symbol
1397 fileinfo->symref = (struct symbol **)
1399 nsymbols * sizeof (struct symbol *));
1431 /* Create a symbol record for this symbol and add it
1433 struct symbol *newp;
1435 newp = (struct symbol *)
1436 obstack_calloc (&ld_state.smem, sizeof (struct symbol));
1458 /* Create array with pointers to the symbol definitions. Note
1461 pointer as if it was for the whole symbol table. This
1463 fileinfo->symref = (struct symbol **)
1465 * sizeof (struct symbol *)))
1500 /* The symbol is not used. */
1503 /* If the DSO uses symbol versions determine whether this is
1504 the default version. Otherwise we'll ignore the symbol. */
1514 /* Ignore the symbol, it's not the default version. */
1518 /* See whether we know anything about this symbol. */
1519 struct symbol search;
1537 struct symbol *oldp = ld_symbol_tab_find (&ld_state.symbol_tab,
1539 struct symbol *newp;
1542 /* No symbol of this name known. Add it. */
1543 newp = (struct symbol *) obstack_alloc (&ld_state.smem,
1584 /* Insert the new symbol. */
1604 /* A fatal error (multiple definition of a symbol)
1608 /* Use the previously allocated symbol record. It has
1612 /* Mark the section the symbol we need comes from as used. */
1628 have to record the symbol. */
1918 struct symbol search = { .name = syms[cnt].as_name };
1919 struct symbol *sym = ld_symbol_tab_find (&ld_state.symbol_tab,
1923 /* The symbol is referenced and not defined. */
1928 /* Find the archive member for this symbol. */
2053 /* Add all the symbol. Relocatable files have symbol
2078 dynamic symbol table. */
2343 struct symbol *first;
2344 struct symbol *s;
2351 /* Two special symbol we recognize: the symbol for the
2370 error (0, 0, gettext ("undefined symbol `%s' in %s"),
2379 what kind of symbol we expect. Only when looking at the
2476 /* We will need in any case the dynamic symbol table (even in
2477 the unlikely case that no symbol is exported or referenced
2522 object uses symbol versioning. */
2525 struct symbol *srunp = ld_state.from_dso;
2545 version of a symbol. */
2617 output file we create a symbol table. */
2751 struct symbol *runp = ld_state.from_dso;
2760 /* Determine alignment for the symbol. */
2761 // XXX The question is how? The symbol record itself does not
2763 // assume the alignment of the section the symbol is in.
2790 struct symbol *runp = ld_state.common_syms;
2798 /* Determine alignment for the symbol. */
3047 /* Create common symbol data block. */
3077 /* Create common symbol data block. */
3242 /* Signature symbol. */
3243 here_group->symbol
3307 /* We have to know the section index of the dynamic symbol table
3370 /* XXX Handle other symbol bindings. */
3393 /* We have this symbol in the version hash table. Now match the
3631 struct symbol search = { .name = ld_state.entry };
3632 struct symbol *syment;
3638 /* We found the symbol. */
3650 /* Use the dynamic symbol table if available. */
3662 /* XXX What to do if the output has no non-dynamic symbol
3663 table and the dynamic symbol table does not contain the
3664 symbol? */
3670 /* We couldn't find the symbol or none was given. Use the first
3683 cannot find entry symbol '%s': defaulting to %#0*" PRIx64),
3689 no entry symbol specified: defaulting to %#0*" PRIx64),
3699 fillin_special_symbol (struct symbol *symst, size_t scnidx, size_t nsym,
3736 /* Insert symbol into the symbol table. Note that we do not have to
3892 /* Sort the dynamic symbol table. The GNU hash table lookup assumes
4294 accordingly). The symbol tables are combined in one single table.
4295 When stripping certain symbol table entries are omitted.
4299 a dynamic symbol table and a dynamic section. Also the relocations
4349 /* First create the symbol table. We need the symbol section itself
4356 gettext ("cannot create symbol table for output file: %s"),
4377 gettext ("cannot create symbol table for output file: %s"),
4400 /* First create the symbol table. We need the symbol section itself
4406 gettext ("cannot create symbol table for output file: %s"),
4426 /* Allocate another array to keep track of the handles for the symbol
4698 /* Create an STT_SECTION entry in the symbol table. But not for
4699 the symbolic symbol table. */
4711 /* Usual section symbol: local, no specific information,
4721 symbol table. */
4733 not change the symbol table entry. But the extended
4739 /* Remember the symbol's index in the symbol table. */
4745 /* Remember that we have to fill in the symbol table section
4815 struct symbol *oldhead = head->symbols->next_in_scn;
4839 struct symbol *symrunp;
4871 /* Get the symbol information. This provides us the
4910 struct symbol *symrunp;
4943 /* Get the symbol information. This provides us the
4982 struct symbol *symrunp;
5022 /* Get the symbol information. This provides us the
5157 /* We we generate a normal symbol table for an executable and the
5159 which keeps track of the symbol entry belonging to the symbol
5162 ndxtosym = (struct symbol **) xcalloc (nsym_allocated,
5163 sizeof (struct symbol));
5165 /* Create the special symbol for the GOT section. */
5174 /* Similarly for the dynamic section symbol. */
5182 /* Create symbol table entries for the symbols defined in the linker
5186 struct symbol *rsym = ld_state.lscript_syms;
5206 /* There must be no dynamic symbol table when creating
5219 /* The dynamic symbol table does not contain local symbols. So
5226 struct symbol *defp = NULL;
5238 add this information to the dynamic symbol table. */
5259 symbol might still be discarded. */
5270 symbol table and we do not export all symbols and
5271 this symbol is not defined in a DSO as well, ignore
5296 table for the dynamic symbol table. */
5299 section index too large in dynamic symbol table"));
5317 symbol. If this is the case we skip this symbol
5328 /* Ignore this symbol table entry, there is a
5332 /* Remember that we already added this symbol. */
5353 /* Add the symbol name to the string table. If the user
5371 offset for the symbol. */
5380 /* Add the reference to the symbol record in case we need it.
5381 Find the symbol if this has not happened yet. We do
5389 /* This is a symbol in a discarded COMDAT section.
5394 struct symbol search;
5397 struct symbol *realp
5403 "couldn't find symbol from COMDAT section");
5411 /* Store the reference to the symbol record. The sorting
5454 /* XXX Add one more test when handling of wildcard symbol names
5465 only need the binding and the symbol name. */
5511 struct symbol *runp;
5550 // XXX Is it useful to add the versym value to struct symbol?
5572 /* Record the initial index in the symbol table. */
5575 /* Remember the symbol record this ELF symbol came from. */
5591 /* Create the symbol string table section. */
5613 /* Fill in the offsets of the symbol names. */
5628 /* Since we are going to reorder the symbol table but still have to
5636 /* Sort the symbol table so that the local symbols come first. */
5683 /* And the entries for the symbol names. */
5688 /* And the mapping from symbol table entry to
5689 struct symbol record. */
5690 struct symbol *symtmp = ndxtosym[nsym_local];
5713 /* The symbol 'nsym_local' is currently pointing to might be local,
5737 the dynamic symbol table and not the normal symbol table. I.e.,
5755 /* If we have to construct the dynamic symbol table we must not include
5756 the local symbols. If the normal symbol has to be emitted as well
5769 this is the dynamic symbol table we write. */
5777 /* Add the version symbol information. */
5783 struct symbol *symp = ndxtosym[cnt];
5798 /* Since we only created the dynamic symbol table the number of
5807 /* Create the dynamic symbol table section data along with the
5809 the normal symbol table and add those. */
5817 cannot create dynamic symbol table for output file: %s"),
5830 symbol names. */
5851 section index too large in dynamic symbol table"));
5853 /* We do not add the symbol to the dynamic symbol table if
5855 - the symbol is for a file
5857 - export_all_dynamic is not set and the symbol is only defined
5871 /* Store the index of the symbol in the dynamic symbol
5899 CREATE-GNU-HASH might reorder the dynamic symbol table. */
5909 struct symbol *symp = ndxtosym[cnt];
5931 /* Update the information about the symbol section. */
5935 dynamic symbol table has. */
5939 /* Add the reference to the symbol table. */
6040 /* There is always exactly one local symbol. */
6051 /* Remember the total number of symbols in the dynamic symbol table. */
6059 gettext ("cannot create symbol table for output file: %s"),
6194 /* Determine the index for the signature symbol. */
6196 = groups->symbol->file->symindirect[groups->symbol->symidx];
6199 assert (groups->symbol->file->symref[groups->symbol->symidx]
6201 si = groups->symbol->file->symref[groups->symbol->symidx]->outsymidx;
6422 /* This symbol is used. Update the symbol table
6429 symbol address, not the section
6507 /* Adjust the addresses in the address fields of the symbol
6558 struct symbol *se;
6587 to the symbol table. The sh_info field is left zero since
6698 // XXX This code depends on symbol table being relocated.
6733 /* The hash table which comes with dynamic symbol table. */
6740 /* Reference to the symbol table section. */
6863 /* Now that we created the symbol table we can add the reference to
6876 /* Remember the symbol table which belongs to the relocation section. */
6887 offsets and symbol indices. */
6933 /* DSOs and executables have to define the entry point symbol. */
6955 /* We don't need the map from the symbol table index to the symbol
7101 struct symbol **ndxtosymp)