diff options
author | Jan Kratochvil <jan.kratochvil@redhat.com> | 2011-04-17 18:09:02 +0000 |
---|---|---|
committer | Jan Kratochvil <jan.kratochvil@redhat.com> | 2011-04-17 18:09:02 +0000 |
commit | 90359a167375927982fc3f675718044a491da759 (patch) | |
tree | 259ce4fcbdee8ffc4b0c46172c8f16b3e335e665 /gdb/elfread.c | |
parent | 626e7282148f31aa82bcdaffe613fcf326914d76 (diff) | |
download | gdb-90359a167375927982fc3f675718044a491da759.zip gdb-90359a167375927982fc3f675718044a491da759.tar.gz gdb-90359a167375927982fc3f675718044a491da759.tar.bz2 |
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.
Diffstat (limited to 'gdb/elfread.c')
-rw-r--r-- | gdb/elfread.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/gdb/elfread.c b/gdb/elfread.c index b9cfa13..2d589a4 100644 --- a/gdb/elfread.c +++ b/gdb/elfread.c @@ -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')) |