mirror of
https://github.com/darlinghq/darling-gdb.git
synced 2024-11-30 23:40:24 +00:00
2009-02-25 H.J. Lu <hongjiu.lu@intel.com>
* elf.c (elf_find_function): Use is_function_type to check function symbol.
This commit is contained in:
parent
9e2f0ad4e0
commit
b9d678e09f
@ -1,3 +1,8 @@
|
||||
2009-02-25 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
* elf.c (elf_find_function): Use is_function_type to check
|
||||
function symbol.
|
||||
|
||||
2009-02-24 Sterling Augustine <sterling@jaw.hq.tensilica.com>
|
||||
|
||||
* xtensa-modules.c: Revert to previous version 1.11 due
|
||||
|
13
bfd/elf.c
13
bfd/elf.c
@ -7041,7 +7041,7 @@ _bfd_elf_set_arch_mach (bfd *abfd,
|
||||
for error reporting. */
|
||||
|
||||
static bfd_boolean
|
||||
elf_find_function (bfd *abfd ATTRIBUTE_UNUSED,
|
||||
elf_find_function (bfd *abfd,
|
||||
asection *section,
|
||||
asymbol **symbols,
|
||||
bfd_vma offset,
|
||||
@ -7061,6 +7061,7 @@ elf_find_function (bfd *abfd ATTRIBUTE_UNUSED,
|
||||
make a better choice of file name for local symbols by ignoring
|
||||
file symbols appearing after a given local symbol. */
|
||||
enum { nothing_seen, symbol_seen, file_after_symbol_seen } state;
|
||||
const struct elf_backend_data *bed = get_elf_backend_data (abfd);
|
||||
|
||||
filename = NULL;
|
||||
func = NULL;
|
||||
@ -7071,20 +7072,22 @@ elf_find_function (bfd *abfd ATTRIBUTE_UNUSED,
|
||||
for (p = symbols; *p != NULL; p++)
|
||||
{
|
||||
elf_symbol_type *q;
|
||||
unsigned int type;
|
||||
|
||||
q = (elf_symbol_type *) *p;
|
||||
|
||||
switch (ELF_ST_TYPE (q->internal_elf_sym.st_info))
|
||||
type = ELF_ST_TYPE (q->internal_elf_sym.st_info);
|
||||
switch (type)
|
||||
{
|
||||
default:
|
||||
break;
|
||||
case STT_FILE:
|
||||
file = &q->symbol;
|
||||
if (state == symbol_seen)
|
||||
state = file_after_symbol_seen;
|
||||
continue;
|
||||
default:
|
||||
if (!bed->is_function_type (type))
|
||||
break;
|
||||
case STT_NOTYPE:
|
||||
case STT_FUNC:
|
||||
if (bfd_get_section (&q->symbol) == section
|
||||
&& q->symbol.value >= low_func
|
||||
&& q->symbol.value <= offset)
|
||||
|
Loading…
Reference in New Issue
Block a user