Lines Matching refs:sinfo

1651   struct spu_elf_stack_info *sinfo = sec_data->stack_info;
1655 if (sinfo == NULL)
1657 sinfo = alloc_stack_info (sec, 20);
1658 if (sinfo == NULL)
1675 for (i = sinfo->num_fun; --i >= 0; )
1676 if (sinfo->fun[i].lo <= off)
1683 if (sinfo->fun[i].lo == off)
1686 if (global && !sinfo->fun[i].global)
1688 sinfo->fun[i].global = TRUE;
1689 sinfo->fun[i].u.h = sym_h;
1692 sinfo->fun[i].is_func = TRUE;
1693 return &sinfo->fun[i];
1696 else if (sinfo->fun[i].hi > off && size == 0)
1697 return &sinfo->fun[i];
1700 if (++i < sinfo->num_fun)
1701 memmove (&sinfo->fun[i + 1], &sinfo->fun[i],
1702 (sinfo->num_fun - i) * sizeof (sinfo->fun[i]));
1703 else if (i >= sinfo->max_fun)
1708 old += (sinfo->max_fun - 1) * sizeof (struct function_info);
1709 sinfo->max_fun += 20 + (sinfo->max_fun >> 1);
1710 amt += (sinfo->max_fun - 1) * sizeof (struct function_info);
1711 sinfo = bfd_realloc (sinfo, amt);
1712 if (sinfo == NULL)
1714 memset ((char *) sinfo + old, 0, amt - old);
1715 sec_data->stack_info = sinfo;
1717 sinfo->fun[i].is_func = is_func;
1718 sinfo->fun[i].global = global;
1719 sinfo->fun[i].sec = sec;
1721 sinfo->fun[i].u.h = sym_h;
1723 sinfo->fun[i].u.sym = sym_h;
1724 sinfo->fun[i].lo = off;
1725 sinfo->fun[i].hi = off + size;
1726 sinfo->fun[i].stack = -find_function_stack_adjust (sec, off);
1727 sinfo->num_fun += 1;
1728 return &sinfo->fun[i];
1806 struct spu_elf_stack_info *sinfo = sec_data->stack_info;
1810 if (sinfo == NULL)
1813 for (i = 1; i < sinfo->num_fun; i++)
1814 if (sinfo->fun[i - 1].hi > sinfo->fun[i].lo)
1817 const char *f1 = func_name (&sinfo->fun[i - 1]);
1818 const char *f2 = func_name (&sinfo->fun[i]);
1821 sinfo->fun[i - 1].hi = sinfo->fun[i].lo;
1823 else if (insns_at_end (&sinfo->fun[i - 1], sinfo->fun[i].lo))
1826 if (sinfo->num_fun == 0)
1830 if (sinfo->fun[0].lo != 0)
1832 if (sinfo->fun[sinfo->num_fun - 1].hi > sec->size)
1834 const char *f1 = func_name (&sinfo->fun[sinfo->num_fun - 1]);
1837 sinfo->fun[sinfo->num_fun - 1].hi = sec->size;
1839 else if (insns_at_end (&sinfo->fun[sinfo->num_fun - 1], sec->size))
1852 struct spu_elf_stack_info *sinfo = sec_data->stack_info;
1856 hi = sinfo->num_fun;
1860 if (offset < sinfo->fun[mid].lo)
1862 else if (offset >= sinfo->fun[mid].hi)
1865 return &sinfo->fun[mid];
2043 struct spu_elf_stack_info *sinfo;
2074 && (sinfo = sec_data->stack_info) != NULL
2075 && sinfo->num_fun != 0)
2076 fun_start = &sinfo->fun[sinfo->num_fun - 1];
2282 struct spu_elf_stack_info *sinfo;
2285 sinfo = sec_data->stack_info;
2286 if (sinfo != NULL)
2291 for (fun_idx = sinfo->num_fun; --fun_idx >= 0; )
2293 sinfo->fun[fun_idx].hi = hi;
2294 hi = sinfo->fun[fun_idx].lo;
2400 struct spu_elf_stack_info *sinfo;
2403 && (sinfo = sec_data->stack_info) != NULL)
2406 for (i = 0; i < sinfo->num_fun; ++i)
2408 if (sinfo->fun[i].start != NULL)
2410 struct call_info *call = sinfo->fun[i].call_list;
2415 if (!insert_callee (sinfo->fun[i].start, call))
2419 sinfo->fun[i].call_list = NULL;
2420 sinfo->fun[i].non_root = TRUE;
2439 struct spu_elf_stack_info *sinfo;
2442 && (sinfo = sec_data->stack_info) != NULL)
2445 for (i = 0; i < sinfo->num_fun; ++i)
2446 if (!sinfo->fun[i].visit1)
2447 mark_non_root (&sinfo->fun[i]);
2465 struct spu_elf_stack_info *sinfo;
2468 && (sinfo = sec_data->stack_info) != NULL)
2471 for (i = 0; i < sinfo->num_fun; ++i)
2472 if (!sinfo->fun[i].non_root)
2473 call_graph_traverse (&sinfo->fun[i], info);
2599 struct spu_elf_stack_info *sinfo;
2602 && (sinfo = sec_data->stack_info) != NULL)
2605 for (i = 0; i < sinfo->num_fun; ++i)
2607 if (!sinfo->fun[i].non_root)
2612 stack = sum_stack (&sinfo->fun[i], info,
2614 f1 = func_name (&sinfo->fun[i]);