Home | History | Annotate | Download | only in bfd

Lines Matching refs:info

534 	binary back-end and anywhere else where no private info
747 Fill in the basic info about symbol that nm needs.
748 Additional info may be added by the back-ends after
934 struct stab_find_info *info;
969 info = (struct stab_find_info *) *pinfo;
970 if (info != NULL)
972 if (info->stabsec == NULL || info->strsec == NULL)
978 stabsize = (info->stabsec->rawsize
979 ? info->stabsec->rawsize
980 : info->stabsec->size);
981 strsize = (info->strsec->rawsize
982 ? info->strsec->rawsize
983 : info->strsec->size);
991 bfd_size_type amt = sizeof *info;
993 info = (struct stab_find_info *) bfd_zalloc (abfd, amt);
994 if (info == NULL)
1001 info->stabsec = bfd_get_section_by_name (abfd, ".stab");
1002 info->strsec = bfd_get_section_by_name (abfd, ".stabstr");
1004 if (info->stabsec == NULL || info->strsec == NULL)
1007 info->stabsec = bfd_get_section_by_name (abfd, "$GDB_SYMBOLS$");
1008 info->strsec = bfd_get_section_by_name (abfd, "$GDB_STRINGS$");
1010 if (info->stabsec == NULL || info->strsec == NULL)
1013 can return quickly in the info != NULL case above. */
1014 *pinfo = info;
1019 stabsize = (info->stabsec->rawsize
1020 ? info->stabsec->rawsize
1021 : info->stabsec->size);
1023 strsize = (info->strsec->rawsize
1024 ? info->strsec->rawsize
1025 : info->strsec->size);
1027 info->stabs = (bfd_byte *) bfd_alloc (abfd, stabsize);
1028 info->strs = (bfd_byte *) bfd_alloc (abfd, strsize);
1029 if (info->stabs == NULL || info->strs == NULL)
1032 if (! bfd_get_section_contents (abfd, info->stabsec, info->stabs,
1034 || ! bfd_get_section_contents (abfd, info->strsec, info->strs,
1042 reloc_size = bfd_get_reloc_upper_bound (abfd, info->stabsec);
1048 reloc_count = bfd_canonicalize_reloc (abfd, info->stabsec, reloc_vector,
1086 val = bfd_get_32 (abfd, info->stabs
1091 bfd_put_32 (abfd, (bfd_vma) val, info->stabs
1105 info->indextablesize = 0;
1107 for (stab = info->stabs; stab < info->stabs + stabsize; stab += STABSIZE)
1113 ++info->indextablesize;
1123 if (stab + STABSIZE + TYPEOFF < info->stabs + stabsize
1132 ++info->indextablesize;
1137 ++info->indextablesize;
1139 if (info->indextablesize == 0)
1141 ++info->indextablesize;
1143 amt = info->indextablesize;
1145 info->indextable = (struct indexentry *) bfd_alloc (abfd, amt);
1146 if (info->indextable == NULL)
1154 for (i = 0, stab = info->stabs, nul_str = str = info->strs;
1155 i < infoinfo->stabs + stabsize;
1162 if ((bfd_size_type) ((info->strs + strsize) - str) < stroff)
1178 info->indextable[i].val = bfd_get_32 (abfd, nul_fun + VALOFF);
1179 info->indextable[i].stab = nul_fun;
1180 info->indextable[i].str = nul_str;
1181 info->indextable[i].directory_name = directory_name;
1182 info->indextable[i].file_name = file_name;
1183 info->indextable[i].function_name = NULL;
1198 if (file_name >= (char *) info->strs + strsize || file_name < (char *) str)
1200 if (stab + STABSIZE + TYPEOFF < info->stabs + stabsize
1209 if (file_name >= (char *) info->strs + strsize || file_name < (char *) str)
1220 if (file_name >= (char *) info->strs + strsize || file_name < (char *) str)
1229 if (function_name >= (char *) info->strs + strsize)
1233 info->indextable[i].val = bfd_get_32 (abfd, stab + VALOFF);
1234 info->indextable[i].stab = stab;
1235 info->indextable[i].str = str;
1236 info->indextable[i].directory_name = directory_name;
1237 info->indextable[i].file_name = file_name;
1238 info->indextable[i].function_name = function_name;
1246 info->indextable[i].val = bfd_get_32 (abfd, nul_fun + VALOFF);
1247 info->indextable[i].stab = nul_fun;
1248 info->indextable[i].str = nul_str;
1249 info->indextable[i].directory_name = directory_name;
1250 info->indextable[i].file_name = file_name;
1251 info->indextable[i].function_name = NULL;
1255 info->indextable[i].val = (bfd_vma) -1;
1256 info->indextable[i].stab = info->stabs + stabsize;
1257 info->indextable[i].str = str;
1258 info->indextable[i].directory_name = NULL;
1259 info->indextable[i].file_name = NULL;
1260 info->indextable[i].function_name = NULL;
1263 info->indextablesize = i;
1264 qsort (info->indextable, (size_t) i, sizeof (struct indexentry),
1267 *pinfo = info;
1275 if (info->cached_indexentry != NULL
1276 && offset >= info->cached_offset
1277 && offset < (info->cached_indexentry + 1)->val)
1279 stab = info->cached_stab;
1280 indexentry = info->cached_indexentry;
1281 file_name = info->cached_file_name;
1294 high = info->indextablesize - 1;
1298 if (offset >= info->indextable[mid].val
1299 && offset < info->indextable[mid + 1].val)
1301 indexentry = &info->indextable[mid];
1305 if (info->indextable[mid].val > offset)
1338 if (file_name >= (char *) info->strs + strsize || file_name < (char *) str)
1361 info->cached_stab = stab;
1362 info->cached_offset = val;
1363 info->cached_file_name = file_name;
1364 info->cached_indexentry = indexentry;
1394 if (info->filename == NULL
1395 || filename_ncmp (info->filename, directory_name, dirlen) != 0
1396 || filename_cmp (info->filename + dirlen, file_name) != 0)
1400 /* Don't free info->filename here. objdump and other
1404 info->filename = (char *) bfd_alloc (abfd, dirlen + len);
1405 if (info->filename == NULL)
1407 memcpy (info->filename, directory_name, dirlen);
1408 memcpy (info->filename + dirlen, file_name, len);
1411 *pfilename = info->filename;