gdb/
* elfread.c (elf_symtab_read): Do not ignore .L symbols if they are BSF_SYNTHETIC. gdb/testsuite/ * gdb.base/callfuncs.c (Lcallfunc, callfunc): New functions. * gdb.base/callfuncs.exp (print callfunc (Lcallfunc, 5)): New test.
This commit is contained in:
parent
626e728214
commit
90359a1673
|
@ -1,3 +1,8 @@
|
|||
2011-04-17 Jan Kratochvil <jan.kratochvil@redhat.com>
|
||||
|
||||
* elfread.c (elf_symtab_read): Do not ignore .L symbols if they are
|
||||
BSF_SYNTHETIC.
|
||||
|
||||
2011-04-17 Jan Kratochvil <jan.kratochvil@redhat.com>
|
||||
|
||||
Fix Python access to inlined frames.
|
||||
|
|
|
@ -412,7 +412,11 @@ elf_symtab_read (struct objfile *objfile, int type,
|
|||
else
|
||||
ms_type = mst_text;
|
||||
}
|
||||
else if ((sym->name[0] == '.' && sym->name[1] == 'L')
|
||||
/* The BSF_SYNTHETIC check is there to omit ppc64 function
|
||||
descriptors mistaken for static functions starting with 'L'.
|
||||
*/
|
||||
else if ((sym->name[0] == '.' && sym->name[1] == 'L'
|
||||
&& (sym->flags & BSF_SYNTHETIC) == 0)
|
||||
|| ((sym->flags & BSF_LOCAL)
|
||||
&& sym->name[0] == '$'
|
||||
&& sym->name[1] == 'L'))
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2011-04-17 Jan Kratochvil <jan.kratochvil@redhat.com>
|
||||
|
||||
* gdb.base/callfuncs.c (Lcallfunc, callfunc): New functions.
|
||||
* gdb.base/callfuncs.exp (print callfunc (Lcallfunc, 5)): New test.
|
||||
|
||||
2011-04-17 Jan Kratochvil <jan.kratochvil@redhat.com>
|
||||
|
||||
Fix Python access to inlined frames.
|
||||
|
|
|
@ -510,3 +510,15 @@ int main ()
|
|||
t_structs_c(struct_val1);
|
||||
return 0 ;
|
||||
}
|
||||
|
||||
static int
|
||||
Lcallfunc (int arg)
|
||||
{
|
||||
return arg + 1;
|
||||
}
|
||||
|
||||
int
|
||||
callfunc (int (*func) (int value), int value)
|
||||
{
|
||||
return Lcallfunc (0) * 0 + func (value) * 2;
|
||||
}
|
||||
|
|
|
@ -458,3 +458,8 @@ if {![target_info exists gdb,nosignals] && ![istarget "*-*-uclinux*"]} {
|
|||
|
||||
gdb_test {set $sp = $old_sp}
|
||||
}
|
||||
|
||||
# Test function descriptor resolution - the separate debug info .opd section
|
||||
# handling vs. local labels `.L'... as `Lcallfunc' starts with `L'.
|
||||
|
||||
gdb_test "print callfunc (Lcallfunc, 5)" " = 12"
|
||||
|
|
Loading…
Reference in New Issue