[Ada] use lbasename when testing if file is part of Ada runtime.
We use a list of regular expressions to match a symtab filenames against the names of the files in the Ada runtime. These regular expressions do assume that the filename is a basename, however. So make sure to evaluate these regular expressions against the symtab's filename. Without this patch, we run into problems when the Ada runtime was built using a project file (through gprbuild). gdb/ChangeLog: * ada-lang.c (is_known_support_routine): Use lbasename when matching the symtab's filename against known_runtime_file_name_patterns.
This commit is contained in:
parent
d99dcf51e1
commit
f69c91ad24
2 changed files with 7 additions and 1 deletions
|
@ -1,3 +1,9 @@
|
||||||
|
2012-10-24 Joel Brobecker <brobecker@adacore.com>
|
||||||
|
|
||||||
|
* ada-lang.c (is_known_support_routine): Use lbasename when
|
||||||
|
matching the symtab's filename against
|
||||||
|
known_runtime_file_name_patterns.
|
||||||
|
|
||||||
2012-10-24 Joel Brobecker <brobecker@adacore.com>
|
2012-10-24 Joel Brobecker <brobecker@adacore.com>
|
||||||
|
|
||||||
* ada-lang.c (ada_same_array_size_p): New function.
|
* ada-lang.c (ada_same_array_size_p): New function.
|
||||||
|
|
|
@ -10973,7 +10973,7 @@ is_known_support_routine (struct frame_info *frame)
|
||||||
for (i = 0; known_runtime_file_name_patterns[i] != NULL; i += 1)
|
for (i = 0; known_runtime_file_name_patterns[i] != NULL; i += 1)
|
||||||
{
|
{
|
||||||
re_comp (known_runtime_file_name_patterns[i]);
|
re_comp (known_runtime_file_name_patterns[i]);
|
||||||
if (re_exec (sal.symtab->filename))
|
if (re_exec (lbasename (sal.symtab->filename)))
|
||||||
return 1;
|
return 1;
|
||||||
if (sal.symtab->objfile != NULL
|
if (sal.symtab->objfile != NULL
|
||||||
&& re_exec (sal.symtab->objfile->name))
|
&& re_exec (sal.symtab->objfile->name))
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue